Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: test/CodeGen/X86/frameaddr.ll

Issue 939073008: Rebased PNaCl localmods in LLVM to 223109 (Closed)
Patch Set: undo localmod Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/CodeGen/X86/fast-isel-x86-64.ll ('k') | test/CodeGen/X86/invalid-gcc-snan-conversion.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; RUN: llc < %s -march=x86 | FileCheck %s --check -prefix=CHECK-32 1 ; RUN: llc < %s -march=x86 | FileCheck %s --check -prefix=CHECK-32
2 ; RUN: llc < %s -march=x86 -fast-isel -fast-isel-abort | FileCheck %s --check -prefix=CHECK-32 2 ; RUN: llc < %s -march=x86 -fast-isel -fast-isel-abort | FileCheck %s --check -prefix=CHECK-32
3 ; RUN: llc < %s -march=x86-64 | FileCheck %s --check -prefix=CHECK-64 3 ; RUN: llc < %s -march=x86-64 | FileCheck %s --check -prefix=CHECK-64
4 ; RUN: llc < %s -march=x86-64 -fast-isel -fast-isel-abort | FileCheck %s --check -prefix=CHECK-64 4 ; RUN: llc < %s -march=x86-64 -fast-isel -fast-isel-abort | FileCheck %s --check -prefix=CHECK-64
5 ; RUN: llc < %s -mtriple=x86_64-gnux32 | FileCheck %s --check -prefix=CHECK-X32ABI 5 ; RUN: llc < %s -mtriple=x86_64-gnux32 | FileCheck %s --check -prefix=CHECK-X32ABI
6 ; RUN: llc < %s -mtriple=x86_64-gnux32 -fast-isel -fast-isel-abort | FileCheck % s --check-prefix=CHECK-X32ABI 6 ; RUN: llc < %s -mtriple=x86_64-gnux32 -fast-isel -fast-isel-abort | FileCheck % s --check-prefix=CHECK-X32ABI
7 ; RUN: llc < %s -mtriple=x86_64-nacl | FileCheck %s --check-p refix=CHECK-NACL64
8 ; RUN: llc < %s -mtriple=x86_64-nacl -fast-isel -fast-isel-abort | FileCheck %s --check-prefix=CHECK-NACL64
7 9
8 define i8* @test1() nounwind { 10 define i8* @test1() nounwind {
9 entry: 11 entry:
10 ; CHECK-32-LABEL: test1 12 ; CHECK-32-LABEL: test1
11 ; CHECK-32: push 13 ; CHECK-32: push
12 ; CHECK-32-NEXT: movl %esp, %ebp 14 ; CHECK-32-NEXT: movl %esp, %ebp
13 ; CHECK-32-NEXT: movl %ebp, %eax 15 ; CHECK-32-NEXT: movl %ebp, %eax
14 ; CHECK-32-NEXT: pop 16 ; CHECK-32-NEXT: pop
15 ; CHECK-32-NEXT: ret 17 ; CHECK-32-NEXT: ret
16 ; CHECK-64-LABEL: test1 18 ; CHECK-64-LABEL: test1
17 ; CHECK-64: push 19 ; CHECK-64: push
18 ; CHECK-64-NEXT: movq %rsp, %rbp 20 ; CHECK-64-NEXT: movq %rsp, %rbp
19 ; CHECK-64-NEXT: movq %rbp, %rax 21 ; CHECK-64-NEXT: movq %rbp, %rax
20 ; CHECK-64-NEXT: pop 22 ; CHECK-64-NEXT: pop
21 ; CHECK-64-NEXT: ret 23 ; CHECK-64-NEXT: ret
22 ; CHECK-X32ABI-LABEL: test1 24 ; CHECK-X32ABI-LABEL: test1
23 ; CHECK-X32ABI: pushq %rbp 25 ; CHECK-X32ABI: pushq %rbp
24 ; CHECK-X32ABI-NEXT: movl %esp, %ebp 26 ; CHECK-X32ABI-NEXT: movl %esp, %ebp
25 ; CHECK-X32ABI-NEXT: movl %ebp, %eax 27 ; CHECK-X32ABI-NEXT: movl %ebp, %eax
26 ; CHECK-X32ABI-NEXT: popq %rbp 28 ; CHECK-X32ABI-NEXT: popq %rbp
27 ; CHECK-X32ABI-NEXT: ret 29 ; CHECK-X32ABI-NEXT: ret
30 ; CHECK-NACL64-LABEL: test1
31 ; CHECK-NACL64: movl %ebp, %eax
32 ; CHECK-NACL64-NEXT: pushq %rax
33 ; CHECK-NACL64-NEXT: movq %rsp, %rbp
34 ; CHECK-NACL64-NEXT: movl %ebp, %eax
28 %0 = tail call i8* @llvm.frameaddress(i32 0) 35 %0 = tail call i8* @llvm.frameaddress(i32 0)
29 ret i8* %0 36 ret i8* %0
30 } 37 }
31 38
32 define i8* @test2() nounwind { 39 define i8* @test2() nounwind {
33 entry: 40 entry:
34 ; CHECK-32-LABEL: test2 41 ; CHECK-32-LABEL: test2
35 ; CHECK-32: push 42 ; CHECK-32: push
36 ; CHECK-32-NEXT: movl %esp, %ebp 43 ; CHECK-32-NEXT: movl %esp, %ebp
37 ; CHECK-32-NEXT: movl (%ebp), %eax 44 ; CHECK-32-NEXT: movl (%ebp), %eax
38 ; CHECK-32-NEXT: movl (%eax), %eax 45 ; CHECK-32-NEXT: movl (%eax), %eax
39 ; CHECK-32-NEXT: pop 46 ; CHECK-32-NEXT: pop
40 ; CHECK-32-NEXT: ret 47 ; CHECK-32-NEXT: ret
41 ; CHECK-64-LABEL: test2 48 ; CHECK-64-LABEL: test2
42 ; CHECK-64: push 49 ; CHECK-64: push
43 ; CHECK-64-NEXT: movq %rsp, %rbp 50 ; CHECK-64-NEXT: movq %rsp, %rbp
44 ; CHECK-64-NEXT: movq (%rbp), %rax 51 ; CHECK-64-NEXT: movq (%rbp), %rax
45 ; CHECK-64-NEXT: movq (%rax), %rax 52 ; CHECK-64-NEXT: movq (%rax), %rax
46 ; CHECK-64-NEXT: pop 53 ; CHECK-64-NEXT: pop
47 ; CHECK-64-NEXT: ret 54 ; CHECK-64-NEXT: ret
48 ; CHECK-X32ABI-LABEL: test2 55 ; CHECK-X32ABI-LABEL: test2
49 ; CHECK-X32ABI: pushq %rbp 56 ; CHECK-X32ABI: pushq %rbp
50 ; CHECK-X32ABI-NEXT: movl %esp, %ebp 57 ; CHECK-X32ABI-NEXT: movl %esp, %ebp
51 ; CHECK-X32ABI-NEXT: movl (%ebp), %eax 58 ; CHECK-X32ABI-NEXT: movl (%ebp), %eax
52 ; CHECK-X32ABI-NEXT: movl (%eax), %eax 59 ; CHECK-X32ABI-NEXT: movl (%eax), %eax
53 ; CHECK-X32ABI-NEXT: popq %rbp 60 ; CHECK-X32ABI-NEXT: popq %rbp
54 ; CHECK-X32ABI-NEXT: ret 61 ; CHECK-X32ABI-NEXT: ret
62 ; CHECK-NACL64-LABEL: test2
63 ; CHECK-NACL64: movl %ebp, %eax
64 ; CHECK-NACL64-NEXT: pushq %rax
65 ; CHECK-NACL64-NEXT: movq %rsp, %rbp
66 ; -fast-isel and -O2 are a bit different in how they load from rbp
67 ; (we can use NACL64-NEXT if we ever make the sequences the same).
68 ; CHECK-NACL64: movl {{.*}}(%{{.*}}), %eax
69 ; CHECK-NACL64-NEXT: movl %nacl:(%r15,%rax), %eax
55 %0 = tail call i8* @llvm.frameaddress(i32 2) 70 %0 = tail call i8* @llvm.frameaddress(i32 2)
56 ret i8* %0 71 ret i8* %0
57 } 72 }
58 73
59 declare i8* @llvm.frameaddress(i32) nounwind readnone 74 declare i8* @llvm.frameaddress(i32) nounwind readnone
OLDNEW
« no previous file with comments | « test/CodeGen/X86/fast-isel-x86-64.ll ('k') | test/CodeGen/X86/invalid-gcc-snan-conversion.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698