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

Side by Side Diff: test/NaCl/X86/pnacl-avoids-r11-x86-64.ll

Issue 939073008: Rebased PNaCl localmods in LLVM to 223109 (Closed)
Patch Set: undo localmod Created 5 years, 9 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/NaCl/X86/pnacl-avoids-r11-x86-64.c ('k') | test/NaCl/X86/pnacl-hides-sandbox-x86-64.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 ; The NACLON test verifies that %r11 and %r11d are not used except as
2 ; part of the return sequence.
3 ;
4 ; RUN: pnacl-llc -O2 -mtriple=x86_64-none-nacl < %s | \
5 ; RUN: FileCheck %s --check-prefix=NACLON
6 ;
7 ; The NACLOFF test verifies that %r11 would normally be used if PNaCl
8 ; weren't reserving r11 for its own uses, to be sure NACLON is a
9 ; valid test.
10 ;
11 ; RUN: pnacl-llc -O2 -mtriple=x86_64-linux < %s | \
12 ; RUN: FileCheck %s --check-prefix=NACLOFF
13 ;
14 ; NACLON: RegisterPressure:
15 ; NACLON-NOT: %r11
16 ; NACLON: popq %r11
17 ; NACLON: nacljmp %r11d, %r15
18 ;
19 ; NACLOFF: RegisterPressure:
20 ; NACLOFF: %r11
21 ; NACLOFF: ret
22 ; ModuleID = 'pnacl-avoids-r11-x86-64.c'
23 target datalayout = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64 :64:64-p:32:32:32-v128:32:32"
24 target triple = "le32-unknown-nacl"
25
26 @v1a = external global i32
27 @v1b = external global i32
28 @v2a = external global i32
29 @v2b = external global i32
30 @v3a = external global i32
31 @v3b = external global i32
32 @v4a = external global i32
33 @v4b = external global i32
34
35 ; Function Attrs: nounwind
36 define void @RegisterPressure() #0 {
37 entry:
38 %call = tail call i32 @GetValue() #2
39 %call1 = tail call i32 @GetValue() #2
40 %call2 = tail call i32 @GetValue() #2
41 %call3 = tail call i32 @GetValue() #2
42 %call4 = tail call i32 @GetValue() #2
43 %call5 = tail call i32 @GetValue() #2
44 %call6 = tail call i32 @GetValue() #2
45 %call7 = tail call i32 @GetValue() #2
46 %call8 = tail call i32 @GetValue() #2
47 %call9 = tail call i32 @GetValue() #2
48 %call10 = tail call i32 @GetValue() #2
49 %call11 = tail call i32 @GetValue() #2
50 %call12 = tail call i32 @GetValue() #2
51 %call13 = tail call i32 @GetValue() #2
52 %call14 = tail call i32 @GetValue() #2
53 %call15 = tail call i32 @GetValue() #2
54 tail call void @Use(i32 %call, i32 %call1, i32 %call2, i32 %call3, i32 %call4, i32 %call5, i32 %call6, i32 %call7, i32 %call8, i32 %call9, i32 %call10, i32 %c all11, i32 %call12, i32 %call13, i32 %call14, i32 %call15) #2
55 tail call void @Use(i32 %call, i32 %call1, i32 %call2, i32 %call3, i32 %call4, i32 %call5, i32 %call6, i32 %call7, i32 %call8, i32 %call9, i32 %call10, i32 %c all11, i32 %call12, i32 %call13, i32 %call14, i32 %call15) #2
56 %add = add nsw i32 %call1, %call
57 %add16 = add nsw i32 %add, %call2
58 %add17 = add nsw i32 %add16, %call3
59 %add18 = add nsw i32 %add17, %call4
60 %add19 = add nsw i32 %add18, %call5
61 %add20 = add nsw i32 %add19, %call6
62 %add21 = add nsw i32 %add20, %call7
63 store volatile i32 %add21, i32* @v1a, align 4, !tbaa !0
64 %add22 = add nsw i32 %call9, %call8
65 %add23 = add nsw i32 %add22, %call10
66 %add24 = add nsw i32 %add23, %call11
67 %add25 = add nsw i32 %add24, %call12
68 %add26 = add nsw i32 %add25, %call13
69 %add27 = add nsw i32 %add26, %call14
70 %add28 = add nsw i32 %add27, %call15
71 store volatile i32 %add28, i32* @v1b, align 4, !tbaa !0
72 %add32 = add nsw i32 %call8, %add17
73 %add33 = add nsw i32 %add32, %call9
74 %add34 = add nsw i32 %add33, %call10
75 %add35 = add nsw i32 %add34, %call11
76 store volatile i32 %add35, i32* @v2a, align 4, !tbaa !0
77 %add36 = add nsw i32 %call5, %call4
78 %add37 = add nsw i32 %add36, %call6
79 %add38 = add nsw i32 %add37, %call7
80 %add39 = add nsw i32 %add38, %call12
81 %add40 = add nsw i32 %add39, %call13
82 %add41 = add nsw i32 %add40, %call14
83 %add42 = add nsw i32 %add41, %call15
84 store volatile i32 %add42, i32* @v2b, align 4, !tbaa !0
85 %add44 = add nsw i32 %call4, %add
86 %add45 = add nsw i32 %add44, %call5
87 %add46 = add nsw i32 %add45, %call8
88 %add47 = add nsw i32 %add46, %call9
89 %add48 = add nsw i32 %add47, %call12
90 %add49 = add nsw i32 %add48, %call13
91 store volatile i32 %add49, i32* @v3a, align 4, !tbaa !0
92 %add50 = add nsw i32 %call3, %call2
93 %add51 = add nsw i32 %add50, %call6
94 %add52 = add nsw i32 %add51, %call7
95 %add53 = add nsw i32 %add52, %call10
96 %add54 = add nsw i32 %add53, %call11
97 %add55 = add nsw i32 %add54, %call14
98 %add56 = add nsw i32 %add55, %call15
99 store volatile i32 %add56, i32* @v3b, align 4, !tbaa !0
100 %add57 = add nsw i32 %call2, %call
101 %add58 = add nsw i32 %add57, %call4
102 %add59 = add nsw i32 %add58, %call6
103 %add60 = add nsw i32 %add59, %call8
104 %add61 = add nsw i32 %add60, %call10
105 %add62 = add nsw i32 %add61, %call12
106 %add63 = add nsw i32 %add62, %call14
107 store volatile i32 %add63, i32* @v4a, align 4, !tbaa !0
108 %add64 = add nsw i32 %call3, %call1
109 %add65 = add nsw i32 %add64, %call5
110 %add66 = add nsw i32 %add65, %call7
111 %add67 = add nsw i32 %add66, %call9
112 %add68 = add nsw i32 %add67, %call11
113 %add69 = add nsw i32 %add68, %call13
114 %add70 = add nsw i32 %add69, %call15
115 store volatile i32 %add70, i32* @v4b, align 4, !tbaa !0
116 tail call void @Use(i32 %call, i32 %call1, i32 %call2, i32 %call3, i32 %call4, i32 %call5, i32 %call6, i32 %call7, i32 %call8, i32 %call9, i32 %call10, i32 %c all11, i32 %call12, i32 %call13, i32 %call14, i32 %call15) #2
117 tail call void @Use(i32 %call, i32 %call1, i32 %call2, i32 %call3, i32 %call4, i32 %call5, i32 %call6, i32 %call7, i32 %call8, i32 %call9, i32 %call10, i32 %c all11, i32 %call12, i32 %call13, i32 %call14, i32 %call15) #2
118 ret void
119 }
120
121 declare i32 @GetValue() #1
122
123 declare void @Use(i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i3 2, i32, i32, i32) #1
124
125 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"= "true" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nan s-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
126 attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n o-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math "="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
127 attributes #2 = { nounwind }
128
129 !0 = metadata !{metadata !"int", metadata !1}
130 !1 = metadata !{metadata !"omnipotent char", metadata !2}
131 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
OLDNEW
« no previous file with comments | « test/NaCl/X86/pnacl-avoids-r11-x86-64.c ('k') | test/NaCl/X86/pnacl-hides-sandbox-x86-64.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698