Index: tests_lit/llvm2ice_tests/alloc.ll |
diff --git a/tests_lit/llvm2ice_tests/alloc.ll b/tests_lit/llvm2ice_tests/alloc.ll |
index b2f90e43d51586d3d6e6860db095450f67dbd163..d9da1064560cbfc6552e0753524649b862f2e331 100644 |
--- a/tests_lit/llvm2ice_tests/alloc.ll |
+++ b/tests_lit/llvm2ice_tests/alloc.ll |
@@ -1,5 +1,9 @@ |
-; RUIN: %llvm2ice --verbose none %s | FileCheck %s |
-; RUIN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
+; This is a basic test of the alloca instruction - one test for alloca |
+; of a fixed size, and one test for variable size. |
+ |
+; RUIN: %llvm2ice -O2 --verbose none %s | FileCheck %s |
+; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck --check-prefix=OPTM1 %s |
+; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s |
; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ |
; RUN: | FileCheck --check-prefix=DUMP %s |
@@ -10,11 +14,18 @@ entry: |
%__2 = ptrtoint i8* %array to i32 |
call void @f1(i32 %__2) |
ret void |
- ; CHECK: sub esp, 400 |
- ; CHECK-NEXT: mov eax, esp |
- ; CHECK-NEXT: push eax |
- ; CHECK-NEXT: call f1 |
} |
+; CHECK: fixed_400: |
+; CHECK: sub esp, 400 |
+; CHECK-NEXT: mov eax, esp |
+; CHECK-NEXT: push eax |
+; CHECK-NEXT: call f1 |
+; |
+; OPTM1: fixed_400: |
+; OPTM1: sub esp, 400 |
+; OPTM1-NEXT: mov {{.*}}, esp |
+; OPTM1: push |
+; OPTM1-NEXT: call f1 |
declare void @f1(i32) |
@@ -24,12 +35,18 @@ entry: |
%__2 = ptrtoint i8* %array to i32 |
call void @f2(i32 %__2) |
ret void |
- ; CHECK: mov eax, dword ptr [ebp+8] |
- ; CHECK-NEXT: sub esp, eax |
- ; CHECK-NEXT: mov eax, esp |
- ; CHECK-NEXT: push eax |
- ; CHECK-NEXT: call f2 |
} |
+; CHECK: variable_n: |
+; CHECK: mov eax, dword ptr [ebp+8] |
+; CHECK-NEXT: sub esp, eax |
+; CHECK-NEXT: mov eax, esp |
+; CHECK-NEXT: push eax |
+; CHECK-NEXT: call f2 |
+; |
+; OPTM1: variable_n: |
+; OPTM1: mov {{.*}}, esp |
+; OPTM1: push |
+; OPTM1-NEXT: call f2 |
declare void @f2(i32) |