diff options
Diffstat (limited to 'llvm/test/CodeGen/ARM/segmented-stacks.ll')
-rw-r--r-- | llvm/test/CodeGen/ARM/segmented-stacks.ll | 56 |
1 files changed, 36 insertions, 20 deletions
diff --git a/llvm/test/CodeGen/ARM/segmented-stacks.ll b/llvm/test/CodeGen/ARM/segmented-stacks.ll index 971fdd966065..10ce0657e573 100644 --- a/llvm/test/CodeGen/ARM/segmented-stacks.ll +++ b/llvm/test/CodeGen/ARM/segmented-stacks.ll @@ -14,7 +14,7 @@ define void @test_basic() #0 { call void @dummy_use (i32* %mem, i32 10) ret void -; ARM-linux: test_basic: +; ARM-linux-LABEL: test_basic: ; ARM-linux: push {r4, r5} ; ARM-linux-NEXT: mrc p15, #0, r4, c13, c0, #3 @@ -33,7 +33,7 @@ define void @test_basic() #0 { ; ARM-linux: pop {r4, r5} -; ARM-android: test_basic: +; ARM-android-LABEL: test_basic: ; ARM-android: push {r4, r5} ; ARM-android-NEXT: mrc p15, #0, r4, c13, c0, #3 @@ -61,7 +61,7 @@ define i32 @test_nested(i32 * nest %closure, i32 %other) #0 { call void @dummy_use (i32* %mem, i32 10) ret i32 %result -; ARM-linux: test_nested: +; ARM-linux-LABEL: test_nested: ; ARM-linux: push {r4, r5} ; ARM-linux-NEXT: mrc p15, #0, r4, c13, c0, #3 @@ -80,7 +80,7 @@ define i32 @test_nested(i32 * nest %closure, i32 %other) #0 { ; ARM-linux: pop {r4, r5} -; ARM-android: test_nested: +; ARM-android-LABEL: test_nested: ; ARM-android: push {r4, r5} ; ARM-android-NEXT: mrc p15, #0, r4, c13, c0, #3 @@ -106,16 +106,17 @@ define void @test_large() #0 { call void @dummy_use (i32* %mem, i32 0) ret void -; ARM-linux: test_large: +; ARM-linux-LABEL: test_large: ; ARM-linux: push {r4, r5} +; ARM-linux-NEXT: ldr r4, .LCPI2_0 +; ARM-linux-NEXT: sub r5, sp, r4 ; ARM-linux-NEXT: mrc p15, #0, r4, c13, c0, #3 -; ARM-linux-NEXT: sub r5, sp, #40192 ; ARM-linux-NEXT: ldr r4, [r4, #4] ; ARM-linux-NEXT: cmp r4, r5 ; ARM-linux-NEXT: blo .LBB2_2 -; ARM-linux: mov r4, #40192 +; ARM-linux: ldr r4, .LCPI2_0 ; ARM-linux-NEXT: mov r5, #0 ; ARM-linux-NEXT: stmdb sp!, {lr} ; ARM-linux-NEXT: bl __morestack @@ -125,16 +126,20 @@ define void @test_large() #0 { ; ARM-linux: pop {r4, r5} -; ARM-android: test_large: +; ARM-linux: .LCPI2_0: +; ARM-linux-NEXT: .long 40192 + +; ARM-android-LABEL: test_large: ; ARM-android: push {r4, r5} +; ARM-android-NEXT: ldr r4, .LCPI2_0 +; ARM-android-NEXT: sub r5, sp, r4 ; ARM-android-NEXT: mrc p15, #0, r4, c13, c0, #3 -; ARM-android-NEXT: sub r5, sp, #40192 ; ARM-android-NEXT: ldr r4, [r4, #252] ; ARM-android-NEXT: cmp r4, r5 ; ARM-android-NEXT: blo .LBB2_2 -; ARM-android: mov r4, #40192 +; ARM-android: ldr r4, .LCPI2_0 ; ARM-android-NEXT: mov r5, #0 ; ARM-android-NEXT: stmdb sp!, {lr} ; ARM-android-NEXT: bl __morestack @@ -144,6 +149,9 @@ define void @test_large() #0 { ; ARM-android: pop {r4, r5} +; ARM-android: .LCPI2_0: +; ARM-android-NEXT: .long 40192 + } define fastcc void @test_fastcc() #0 { @@ -151,7 +159,7 @@ define fastcc void @test_fastcc() #0 { call void @dummy_use (i32* %mem, i32 10) ret void -; ARM-linux: test_fastcc: +; ARM-linux-LABEL: test_fastcc: ; ARM-linux: push {r4, r5} ; ARM-linux-NEXT: mrc p15, #0, r4, c13, c0, #3 @@ -170,7 +178,7 @@ define fastcc void @test_fastcc() #0 { ; ARM-linux: pop {r4, r5} -; ARM-android: test_fastcc: +; ARM-android-LABEL: test_fastcc: ; ARM-android: push {r4, r5} ; ARM-android-NEXT: mrc p15, #0, r4, c13, c0, #3 @@ -196,16 +204,17 @@ define fastcc void @test_fastcc_large() #0 { call void @dummy_use (i32* %mem, i32 0) ret void -; ARM-linux: test_fastcc_large: +; ARM-linux-LABEL: test_fastcc_large: ; ARM-linux: push {r4, r5} +; ARM-linux-NEXT: ldr r4, .LCPI4_0 +; ARM-linux-NEXT: sub r5, sp, r4 ; ARM-linux-NEXT: mrc p15, #0, r4, c13, c0, #3 -; ARM-linux-NEXT: sub r5, sp, #40192 ; ARM-linux-NEXT: ldr r4, [r4, #4] ; ARM-linux-NEXT: cmp r4, r5 ; ARM-linux-NEXT: blo .LBB4_2 -; ARM-linux: mov r4, #40192 +; ARM-linux: ldr r4, .LCPI4_0 ; ARM-linux-NEXT: mov r5, #0 ; ARM-linux-NEXT: stmdb sp!, {lr} ; ARM-linux-NEXT: bl __morestack @@ -215,16 +224,20 @@ define fastcc void @test_fastcc_large() #0 { ; ARM-linux: pop {r4, r5} -; ARM-android: test_fastcc_large: +; ARM-linux: .LCPI4_0: +; ARM-linux-NEXT: .long 40192 + +; ARM-android-LABEL: test_fastcc_large: ; ARM-android: push {r4, r5} +; ARM-android-NEXT: ldr r4, .LCPI4_0 +; ARM-android-NEXT: sub r5, sp, r4 ; ARM-android-NEXT: mrc p15, #0, r4, c13, c0, #3 -; ARM-android-NEXT: sub r5, sp, #40192 ; ARM-android-NEXT: ldr r4, [r4, #252] ; ARM-android-NEXT: cmp r4, r5 ; ARM-android-NEXT: blo .LBB4_2 -; ARM-android: mov r4, #40192 +; ARM-android: ldr r4, .LCPI4_0 ; ARM-android-NEXT: mov r5, #0 ; ARM-android-NEXT: stmdb sp!, {lr} ; ARM-android-NEXT: bl __morestack @@ -234,6 +247,9 @@ define fastcc void @test_fastcc_large() #0 { ; ARM-android: pop {r4, r5} +; ARM-android: .LCPI4_0: +; ARM-android-NEXT: .long 40192 + } define void @test_nostack() #0 { @@ -256,10 +272,10 @@ define i32 @test_sibling_call_empty_frame(i32 %x) #0 { %call = tail call i32 @callee(i32 %x) #0 ret i32 %call -; ARM-linux: test_sibling_call_empty_frame: +; ARM-linux-LABEL: test_sibling_call_empty_frame: ; ARM-linux: bl __morestack -; ARM-android: test_sibling_call_empty_frame: +; ARM-android-LABEL: test_sibling_call_empty_frame: ; ARM-android: bl __morestack } |