diff options
Diffstat (limited to 'llvm/test/CodeGen/Thumb')
-rw-r--r-- | llvm/test/CodeGen/Thumb/2010-07-15-debugOrdering.ll | 2 | ||||
-rw-r--r-- | llvm/test/CodeGen/Thumb/stack-access.ll | 26 |
2 files changed, 18 insertions, 10 deletions
diff --git a/llvm/test/CodeGen/Thumb/2010-07-15-debugOrdering.ll b/llvm/test/CodeGen/Thumb/2010-07-15-debugOrdering.ll index 2f8e36b66b8..08349a31dfa 100644 --- a/llvm/test/CodeGen/Thumb/2010-07-15-debugOrdering.ll +++ b/llvm/test/CodeGen/Thumb/2010-07-15-debugOrdering.ll @@ -9,9 +9,9 @@ define void @_Z19getClosestDiagonal3ii(%0* noalias sret, i32, i32) nounwind { ; CHECK: bl ___muldf3 -; CHECK: bl ___muldf3 ; CHECK: beq LBB0 ; CHECK: bl ___muldf3 +; CHECK: bl ___muldf3 ; <label>:3 switch i32 %1, label %4 [ i32 0, label %5 diff --git a/llvm/test/CodeGen/Thumb/stack-access.ll b/llvm/test/CodeGen/Thumb/stack-access.ll index fded4104207..44217aba62d 100644 --- a/llvm/test/CodeGen/Thumb/stack-access.ll +++ b/llvm/test/CodeGen/Thumb/stack-access.ll @@ -74,15 +74,17 @@ define zeroext i16 @test6() { } ; Accessing the bottom of a large array shouldn't require materializing a base +; +; CHECK: movs [[REG:r[0-9]+]], #1 +; CHECK: str [[REG]], [sp, #16] +; CHECK: str [[REG]], [sp, #4] + define void @test7() { %arr = alloca [200 x i32], align 4 - ; CHECK: movs [[REG:r[0-9]+]], #1 - ; CHECK: str [[REG]], [sp, #4] %arrayidx = getelementptr inbounds [200 x i32], [200 x i32]* %arr, i32 0, i32 1 store i32 1, i32* %arrayidx, align 4 - ; CHECK: str [[REG]], [sp, #16] %arrayidx1 = getelementptr inbounds [200 x i32], [200 x i32]* %arr, i32 0, i32 4 store i32 1, i32* %arrayidx1, align 4 @@ -96,30 +98,36 @@ define void @test8() { %arr1 = alloca [224 x i32], align 4 ; CHECK: movs [[REG:r[0-9]+]], #1 -; CHECK: str [[REG]], [sp] +; CHECK-DAG: str [[REG]], [sp] %arr1idx1 = getelementptr inbounds [224 x i32], [224 x i32]* %arr1, i32 0, i32 0 store i32 1, i32* %arr1idx1, align 4 ; Offset in range for sp-based store, but not for non-sp-based store -; CHECK: str [[REG]], [sp, #128] +; CHECK-DAG: str [[REG]], [sp, #128] %arr1idx2 = getelementptr inbounds [224 x i32], [224 x i32]* %arr1, i32 0, i32 32 store i32 1, i32* %arr1idx2, align 4 -; CHECK: str [[REG]], [sp, #896] +; CHECK-DAG: str [[REG]], [sp, #896] %arr2idx1 = getelementptr inbounds [224 x i32], [224 x i32]* %arr2, i32 0, i32 0 store i32 1, i32* %arr2idx1, align 4 ; %arr2 is in range, but this element of it is not -; CHECK: str [[REG]], [{{r[0-9]+}}] +; CHECK-DAG: ldr [[RA:r[0-9]+]], .LCPI7_2 +; CHECK-DAG: add [[RA]], sp +; CHECK-DAG: str [[REG]], [{{r[0-9]+}}] %arr2idx2 = getelementptr inbounds [224 x i32], [224 x i32]* %arr2, i32 0, i32 32 store i32 1, i32* %arr2idx2, align 4 ; %arr3 is not in range -; CHECK: str [[REG]], [{{r[0-9]+}}] +; CHECK-DAG: ldr [[RB:r[0-9]+]], .LCPI7_3 +; CHECK-DAG: add [[RB]], sp +; CHECK-DAG: str [[REG]], [{{r[0-9]+}}] %arr3idx1 = getelementptr inbounds [224 x i32], [224 x i32]* %arr3, i32 0, i32 0 store i32 1, i32* %arr3idx1, align 4 -; CHECK: str [[REG]], [{{r[0-9]+}}] +; CHECK-DAG: ldr [[RC:r[0-9]+]], .LCPI7_4 +; CHECK-DAG: add [[RC]], sp +; CHECK-DAG: str [[REG]], [{{r[0-9]+}}] %arr3idx2 = getelementptr inbounds [224 x i32], [224 x i32]* %arr3, i32 0, i32 32 store i32 1, i32* %arr3idx2, align 4 |