Chromium Code Reviews| Index: tests_lit/llvm2ice_tests/alloc.ll |
| diff --git a/tests_lit/llvm2ice_tests/alloc.ll b/tests_lit/llvm2ice_tests/alloc.ll |
| index 2b92a87fb43a38efdc730d7305b14e07264f9df2..0de8052ed443dd1cc7def99148309bbf5397dd5d 100644 |
| --- a/tests_lit/llvm2ice_tests/alloc.ll |
| +++ b/tests_lit/llvm2ice_tests/alloc.ll |
| @@ -1,8 +1,8 @@ |
| -; This is a basic test of the alloca instruction - one test for alloca |
| -; of a fixed size, and one test for variable size. |
| +; This is a basic test of the alloca instruction - tests for alloca of |
| +; a fixed size and for variable size. |
| ; RUN: %llvm2ice -O2 --verbose none %s | FileCheck %s |
| -; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck --check-prefix=OPTM1 %s |
| +; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck %s |
| ; RUN: %llvm2ice -O2 --verbose none %s \ |
| ; RUN: | llvm-mc -arch=x86 -x86-asm-syntax=intel -filetype=obj |
| ; RUN: %llvm2ice -Om1 --verbose none %s \ |
| @@ -21,15 +21,22 @@ entry: |
| } |
| ; 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 |
| +; CHECK: sub esp, 16 |
| +; CHECK: mov dword ptr [esp], eax |
| +; CHECK: call f1 |
| + |
| +define void @fixed_351(i32 %n) { |
| +entry: |
| + %array = alloca i8, i32 351, align 16 |
| + %__2 = ptrtoint i8* %array to i32 |
| + call void @f1(i32 %__2) |
| + ret void |
| +} |
| +; CHECK: fixed_351: |
| +; CHECK: sub esp, 352 |
| +; CHECK: sub esp, 16 |
| +; CHECK: mov dword ptr [esp], eax |
| +; CHECK: call f1 |
| declare void @f1(i32) |
| @@ -42,15 +49,12 @@ entry: |
| } |
| ; CHECK: variable_n: |
| ; CHECK: mov eax, dword ptr [ebp+8] |
| +; CHECK-NEXT: add eax, 15 |
| +; CHECK-NEXT: and eax, 18446744073709551600 |
|
Jim Stichnoth
2014/08/05 18:09:27
What is a 64-bit integer immediate doing in an x86
wala
2014/08/05 23:57:03
This should be -16. I'm not entirely sure what cau
|
| ; 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 |
| +; CHECK: sub esp, 16 |
| +; CHECK: mov dword ptr [esp], eax |
| +; CHECK: call f2 |
| declare void @f2(i32) |