llvm.org GIT mirror llvm / aef1b37
TBAA: remove !tbaa from testing cases when they are not needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191689 91177308-0d34-0410-b5e6-96231b3b80d8 Manman Ren 6 years ago
20 changed file(s) with 131 addition(s) and 207 deletion(s). Raw diff Collapse all Expand all
1616 ; Function Attrs: nounwind ssp
1717 define i32 @pr16110() #0 {
1818 for.cond1.preheader:
19 store i32 0, i32* @c, align 4, !dbg !21, !tbaa !23
19 store i32 0, i32* @c, align 4, !dbg !21
2020 br label %for.cond1.outer, !dbg !26
2121
2222 for.cond1: ; preds = %for.end9, %for.cond1.outer
2525 br i1 %cmp, label %for.body2, label %for.end9, !dbg !26
2626
2727 for.body2: ; preds = %for.cond1
28 store i32 %storemerge11, i32* @b, align 4, !dbg !26, !tbaa !23
28 store i32 %storemerge11, i32* @b, align 4, !dbg !26
2929 tail call void @llvm.dbg.value(metadata !27, i64 0, metadata !11), !dbg !28
30 %0 = load i64* @a, align 8, !dbg !29, !tbaa !30
30 %0 = load i64* @a, align 8, !dbg !29
3131 %xor = xor i64 %0, %e.1.ph, !dbg !29
3232 %conv3 = trunc i64 %xor to i32, !dbg !29
3333 tail call void @llvm.dbg.value(metadata !{i32 %conv3}, i64 0, metadata !10), !dbg !29
4343 %1 = phi i1 [ false, %for.body2 ], [ %tobool5, %land.rhs ]
4444 %land.ext = zext i1 %1 to i32
4545 %call6 = tail call i32 bitcast (i32 (...)* @fn2 to i32 (i32, i32*)*)(i32 %land.ext, i32* null) #3
46 %2 = load i32* @b, align 4, !dbg !26, !tbaa !23
46 %2 = load i32* @b, align 4, !dbg !26
4747 %inc8 = add nsw i32 %2, 1, !dbg !26
4848 %phitmp = and i64 %xor, 4294967295, !dbg !26
4949 br label %for.cond1.outer, !dbg !26
5151 for.cond1.outer: ; preds = %land.end, %for.cond1.preheader
5252 %storemerge11.ph = phi i32 [ %inc8, %land.end ], [ 0, %for.cond1.preheader ]
5353 %e.1.ph = phi i64 [ %phitmp, %land.end ], [ 0, %for.cond1.preheader ]
54 %3 = load i32* @d, align 4, !dbg !31, !tbaa !23
54 %3 = load i32* @d, align 4, !dbg !31
5555 %tobool10 = icmp eq i32 %3, 0, !dbg !31
5656 br label %for.cond1
5757
5959 br i1 %tobool10, label %if.end, label %for.cond1, !dbg !31
6060
6161 if.end: ; preds = %for.end9
62 store i32 %storemerge11, i32* @b, align 4, !dbg !26, !tbaa !23
62 store i32 %storemerge11, i32* @b, align 4, !dbg !26
6363 ret i32 0, !dbg !32
6464 }
6565
100100 !20 = metadata !{i32 786484, i32 0, null, metadata !"d", metadata !"d", metadata !"", metadata !5, i32 4, metadata !8, i32 0, i32 1, i32* @d, null} ; [ DW_TAG_variable ] [d] [line 4] [def]
101101 !21 = metadata !{i32 10, i32 0, metadata !22, null}
102102 !22 = metadata !{i32 786443, metadata !1, metadata !4, i32 10, i32 0, i32 0} ; [ DW_TAG_lexical_block ] [/d/b/pr16110.c]
103 !23 = metadata !{metadata !"int", metadata !24}
104 !24 = metadata !{metadata !"omnipotent char", metadata !25}
105 !25 = metadata !{metadata !"Simple C/C++ TBAA"}
106103 !26 = metadata !{i32 12, i32 0, metadata !13, null}
107104 !27 = metadata !{i32* null}
108105 !28 = metadata !{i32 13, i32 0, metadata !12, null}
109106 !29 = metadata !{i32 14, i32 0, metadata !12, null}
110 !30 = metadata !{metadata !"long long", metadata !24}
111107 !31 = metadata !{i32 16, i32 0, metadata !4, null}
112108 !32 = metadata !{i32 18, i32 0, metadata !4, null}
6464 %dst.1 = phi %struct.rtx_def* [ undef, %if.then24 ], [ %dst.0, %while.cond ], [ %dst.0, %while.cond ]
6565 %arrayidx30 = getelementptr inbounds %struct.rtx_def* %dst.1, i32 0, i32 1, i32 0
6666 %rtx31 = bitcast %union.rtunion_def* %arrayidx30 to %struct.rtx_def**
67 %0 = load %struct.rtx_def** %rtx31, align 4, !tbaa !0
67 %0 = load %struct.rtx_def** %rtx31, align 4
6868 br label %while.cond
6969
7070 if.then46: ; preds = %while.cond
7676 }
7777
7878 attributes #0 = { nounwind ssp }
79
80 !0 = metadata !{metadata !"any pointer", metadata !1}
81 !1 = metadata !{metadata !"omnipotent char", metadata !2}
82 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
7171 ; Function Attrs: nounwind
7272 define void @set_stored_macroblock_parameters() #1 {
7373 entry:
74 %0 = load %structB** @img, align 4, !tbaa !0
75 %1 = load i32* undef, align 4, !tbaa !3
74 %0 = load %structB** @img, align 4
75 %1 = load i32* undef, align 4
7676 %mb_data = getelementptr inbounds %structB* %0, i32 0, i32 61
77 %2 = load %structK** %mb_data, align 4, !tbaa !0
77 %2 = load %structK** %mb_data, align 4
7878 br label %for.body
7979
8080 for.body: ; preds = %for.body, %entry
108108 br i1 undef, label %for.body119, label %if.end164
109109
110110 if.end164: ; preds = %for.body119, %for.cond47.preheader, %if.end43
111 store i32*** null, i32**** @cofDC, align 4, !tbaa !0
111 store i32*** null, i32**** @cofDC, align 4
112112 %mb_type = getelementptr inbounds %structK* %2, i32 %1, i32 8
113113 br i1 undef, label %if.end230, label %if.then169
114114
133133
134134 if.end236: ; preds = %if.end230
135135 %cmp242 = icmp ne i16 undef, 8
136 %4 = load i32* @luma_transform_size_8x8_flag, align 4, !tbaa !3
136 %4 = load i32* @luma_transform_size_8x8_flag, align 4
137137 %tobool245 = icmp ne i32 %4, 0
138138 %or.cond812 = or i1 %cmp242, %tobool245
139139 br i1 %or.cond812, label %if.end249, label %land.lhs.true246
149149 br label %if.end249
150150
151151 if.end249: ; preds = %if.then248, %land.lhs.true246, %if.end236
152 %5 = load i32* @luma_transform_size_8x8_flag, align 4, !tbaa !3
153 %6 = load %structA** @rdopt, align 4, !tbaa !0
152 %5 = load i32* @luma_transform_size_8x8_flag, align 4
153 %6 = load %structA** @rdopt, align 4
154154 %luma_transform_size_8x8_flag264 = getelementptr inbounds %structA* %6, i32 0, i32 21
155 store i32 %5, i32* %luma_transform_size_8x8_flag264, align 4, !tbaa !3
156 %7 = load i32* undef, align 4, !tbaa !3
155 store i32 %5, i32* %luma_transform_size_8x8_flag264, align 4
156 %7 = load i32* undef, align 4
157157 %add281 = add nsw i32 %7, 0
158158 br label %for.body285
159159
161161 %8 = phi %structB* [ undef, %if.end249 ], [ %.pre1155, %for.inc503 ]
162162 %i.21103 = phi i32 [ 0, %if.end249 ], [ %inc504, %for.inc503 ]
163163 %block_x286 = getelementptr inbounds %structB* %8, i32 0, i32 37
164 %9 = load i32* %block_x286, align 4, !tbaa !3
164 %9 = load i32* %block_x286, align 4
165165 %add287 = add nsw i32 %9, %i.21103
166166 %shr289 = ashr i32 %i.21103, 1
167167 %add290 = add nsw i32 %shr289, 0
168168 %arrayidx292 = getelementptr inbounds %structK* %2, i32 %1, i32 15, i32 %add290
169 %10 = load %structM** @enc_picture, align 4, !tbaa !0
169 %10 = load %structM** @enc_picture, align 4
170170 %ref_idx = getelementptr inbounds %structM* %10, i32 0, i32 35
171 %11 = load i8**** %ref_idx, align 4, !tbaa !0
172 %12 = load i8*** %11, align 4, !tbaa !0
171 %11 = load i8**** %ref_idx, align 4
172 %12 = load i8*** %11, align 4
173173 %arrayidx313 = getelementptr inbounds i8** %12, i32 %add281
174 %13 = load i8** %arrayidx313, align 4, !tbaa !0
174 %13 = load i8** %arrayidx313, align 4
175175 %arrayidx314 = getelementptr inbounds i8* %13, i32 %add287
176 store i8 -1, i8* %arrayidx314, align 1, !tbaa !1
177 %14 = load %structB** @img, align 4, !tbaa !0
176 store i8 -1, i8* %arrayidx314, align 1
177 %14 = load %structB** @img, align 4
178178 %MbaffFrameFlag327 = getelementptr inbounds %structB* %14, i32 0, i32 100
179 %15 = load i32* %MbaffFrameFlag327, align 4, !tbaa !3
179 %15 = load i32* %MbaffFrameFlag327, align 4
180180 %tobool328 = icmp eq i32 %15, 0
181181 br i1 %tobool328, label %if.end454, label %if.then329
182182
183183 if.then329: ; preds = %for.body285
184 %16 = load %structA** @rdopt, align 4, !tbaa !0
184 %16 = load %structA** @rdopt, align 4
185185 br label %if.end454
186186
187187 if.end454: ; preds = %if.then329, %for.body285
188 %17 = load i32* %arrayidx292, align 4, !tbaa !3
188 %17 = load i32* %arrayidx292, align 4
189189 %cmp457 = icmp eq i32 %17, 0
190190 br i1 %cmp457, label %if.then475, label %lor.lhs.false459
191191
192192 lor.lhs.false459: ; preds = %if.end454
193 %18 = load i32* %mb_type, align 4, !tbaa !3
193 %18 = load i32* %mb_type, align 4
194194 switch i32 %18, label %for.inc503 [
195195 i32 9, label %if.then475
196196 i32 10, label %if.then475
199199 ]
200200
201201 if.then475: ; preds = %lor.lhs.false459, %lor.lhs.false459, %lor.lhs.false459, %lor.lhs.false459, %if.end454
202 store i16 0, i16* undef, align 2, !tbaa !4
202 store i16 0, i16* undef, align 2
203203 br label %for.inc503
204204
205205 for.inc503: ; preds = %if.then475, %lor.lhs.false459
206206 %inc504 = add nsw i32 %i.21103, 1
207 %.pre1155 = load %structB** @img, align 4, !tbaa !0
207 %.pre1155 = load %structB** @img, align 4
208208 br label %for.body285
209209 }
210210
216216
217217 attributes #0 = { nounwind }
218218 attributes #1 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
219
220 !0 = metadata !{metadata !"any pointer", metadata !1}
221 !1 = metadata !{metadata !"omnipotent char", metadata !2}
222 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
223 !3 = metadata !{metadata !"int", metadata !1}
224 !4 = metadata !{metadata !"short", metadata !1}
5252 define i32 @foo_bar(i32 %a, i16 signext %b) nounwind {
5353 ; CHECK: if{{ *}}(!cmp.eq(r{{[0-9]*}}.new, #0)) jump:nt
5454 entry:
55 %0 = load i32* @j, align 4, !tbaa !2
55 %0 = load i32* @j, align 4
5656 %tobool = icmp eq i32 %0, 0
5757 br i1 %tobool, label %if.else, label %if.then, !prof !0
5858
7373
7474 !0 = metadata !{metadata !"branch_weights", i32 64, i32 4}
7575 !1 = metadata !{metadata !"branch_weights", i32 4, i32 64}
76 !2 = metadata !{metadata !"int", metadata !3}
77 !3 = metadata !{metadata !"omnipotent char", metadata !4}
78 !4 = metadata !{metadata !"Simple C/C++ TBAA"}
44
55 define void @word(i32* nocapture %a) nounwind {
66 entry:
7 %0 = load i32* %a, align 4, !tbaa !0
7 %0 = load i32* %a, align 4
88 %1 = zext i32 %0 to i64
99 %add.ptr = getelementptr inbounds i32* %a, i32 1
10 %2 = load i32* %add.ptr, align 4, !tbaa !0
10 %2 = load i32* %add.ptr, align 4
1111 %3 = zext i32 %2 to i64
1212 %4 = shl nuw i64 %3, 32
1313 %ins = or i64 %4, %1
1616 }
1717
1818 declare void @bar(i64)
19
20 !0 = metadata !{metadata !"int", metadata !1}
21 !1 = metadata !{metadata !"omnipotent char", metadata !2}
22 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
99 define void @getSubImagesLuma(%struct.StorablePicture* nocapture %s) #0 {
1010 entry:
1111 %size_y = getelementptr inbounds %struct.StorablePicture* %s, i32 0, i32 1
12 %0 = load i32* %size_y, align 4, !tbaa !0
12 %0 = load i32* %size_y, align 4
1313 %sub = add nsw i32 %0, -1
1414 %add5 = add nsw i32 %0, 20
1515 %cmp6 = icmp sgt i32 %add5, -20
1919 %j.07 = phi i32 [ %inc, %for.body ], [ -20, %entry ]
2020 %call = tail call i32 bitcast (i32 (...)* @iClip3 to i32 (i32, i32, i32)*)(i32 0, i32 %sub, i32 %j.07) #2
2121 %inc = add nsw i32 %j.07, 1
22 %1 = load i32* %size_y, align 4, !tbaa !0
22 %1 = load i32* %size_y, align 4
2323 %add = add nsw i32 %1, 20
2424 %cmp = icmp slt i32 %inc, %add
2525 br i1 %cmp, label %for.body, label %for.end
3535 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
3636 attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
3737 attributes #2 = { nounwind }
38
39 !0 = metadata !{metadata !"int", metadata !1}
40 !1 = metadata !{metadata !"omnipotent char", metadata !2}
41 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
1111 %vla = alloca i32, i64 %0, align 128
1212 %vla1 = alloca i32, i64 %0, align 128
1313 %a2 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
14 %1 = load i32* %a2, align 4, !tbaa !0
15 store i32 %1, i32* %vla1, align 128, !tbaa !0
14 %1 = load i32* %a2, align 4
15 store i32 %1, i32* %vla1, align 128
1616 %b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
17 %2 = load i32* %b, align 4, !tbaa !0
17 %2 = load i32* %b, align 4
1818 %arrayidx3 = getelementptr inbounds i32* %vla1, i64 1
19 store i32 %2, i32* %arrayidx3, align 4, !tbaa !0
19 store i32 %2, i32* %arrayidx3, align 4
2020 call void @bar(i32* %vla1, i32* %vla) #0
2121 ret void
2222
3232 }
3333
3434 attributes #0 = { nounwind }
35
36 !0 = metadata !{metadata !"int", metadata !1}
37 !1 = metadata !{metadata !"omnipotent char", metadata !2}
38 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
2121
2222 for.cond1.preheader.i2961.i: ; preds = %for.inc44.i2977.i, %crc32_gentab.exit
2323 call void @llvm.memset.p0i8.i64(i8* bitcast ([1 x [9 x i32]]* @g_62 to i8*), i8 -1, i64 36, i32 4, i1 false) #1
24 %0 = load i32* %retval.0.i.i.i, align 4, !tbaa !0
24 %0 = load i32* %retval.0.i.i.i, align 4
2525 %tobool.i2967.i = icmp eq i32 %0, 0
2626 br label %for.body21.i2968.i
2727
4343
4444 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "ssp-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
4545 attributes #1 = { nounwind }
46
47 !0 = metadata !{metadata !"int", metadata !1}
48 !1 = metadata !{metadata !"omnipotent char", metadata !2}
49 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
1010 entry:
1111 %x = alloca [2 x i32], align 32
1212 %a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
13 %0 = load i32* %a1, align 4, !tbaa !0
13 %0 = load i32* %a1, align 4
1414 %arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
15 store i32 %0, i32* %arrayidx, align 32, !tbaa !0
15 store i32 %0, i32* %arrayidx, align 32
1616 %b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
17 %1 = load i32* %b, align 4, !tbaa !0
17 %1 = load i32* %b, align 4
1818 %arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
19 store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
19 store i32 %1, i32* %arrayidx2, align 4
2020 call void @bar(i32* %arrayidx)
2121 ret void
2222 }
7373 entry:
7474 %x = alloca [200000 x i32], align 32
7575 %a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
76 %0 = load i32* %a1, align 4, !tbaa !0
76 %0 = load i32* %a1, align 4
7777 %arrayidx = getelementptr inbounds [200000 x i32]* %x, i64 0, i64 0
78 store i32 %0, i32* %arrayidx, align 32, !tbaa !0
78 store i32 %0, i32* %arrayidx, align 32
7979 %b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
80 %1 = load i32* %b, align 4, !tbaa !0
80 %1 = load i32* %b, align 4
8181 %arrayidx2 = getelementptr inbounds [200000 x i32]* %x, i64 0, i64 1
82 store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
82 store i32 %1, i32* %arrayidx2, align 4
8383 call void @bar(i32* %arrayidx)
8484 ret void
8585 }
104104 entry:
105105 %x = alloca [2 x i32], align 32
106106 %a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
107 %0 = load i32* %a1, align 4, !tbaa !0
107 %0 = load i32* %a1, align 4
108108 %arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
109 store i32 %0, i32* %arrayidx, align 32, !tbaa !0
109 store i32 %0, i32* %arrayidx, align 32
110110 %b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
111 %1 = load i32* %b, align 4, !tbaa !0
111 %1 = load i32* %b, align 4
112112 %arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
113 store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
113 store i32 %1, i32* %arrayidx2, align 4
114114 call void @bar(i32* %arrayidx)
115115 call void asm sideeffect "", "~{f30}"() nounwind
116116 ret void
144144 ; CHECK-FP: stfd 30, -16(30)
145145
146146 ; CHECK-FP: blr
147
148 !0 = metadata !{metadata !"int", metadata !1}
149 !1 = metadata !{metadata !"omnipotent char", metadata !2}
150 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
1515 ; Function Attrs: nounwind
1616 define void @test_8_min_char(i8 addrspace(1)* nocapture %out, i8 addrspace(1)* nocapture readonly %in0, i8 addrspace(1)* nocapture readonly %in1) #0 {
1717 entry:
18 %0 = load i8 addrspace(1)* %in0, align 1, !tbaa !9
18 %0 = load i8 addrspace(1)* %in0, align 1
1919 %1 = insertelement <8 x i8> undef, i8 %0, i32 0
2020 %arrayidx2.i.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 1
21 %2 = load i8 addrspace(1)* %arrayidx2.i.i, align 1, !tbaa !9
21 %2 = load i8 addrspace(1)* %arrayidx2.i.i, align 1
2222 %3 = insertelement <8 x i8> %1, i8 %2, i32 1
2323 %arrayidx6.i.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 2
24 %4 = load i8 addrspace(1)* %arrayidx6.i.i, align 1, !tbaa !9
24 %4 = load i8 addrspace(1)* %arrayidx6.i.i, align 1
2525 %5 = insertelement <8 x i8> %3, i8 %4, i32 2
2626 %arrayidx10.i.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 3
27 %6 = load i8 addrspace(1)* %arrayidx10.i.i, align 1, !tbaa !9
27 %6 = load i8 addrspace(1)* %arrayidx10.i.i, align 1
2828 %7 = insertelement <8 x i8> %5, i8 %6, i32 3
2929 %arrayidx.i.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 4
30 %8 = load i8 addrspace(1)* %arrayidx.i.i, align 1, !tbaa !9
30 %8 = load i8 addrspace(1)* %arrayidx.i.i, align 1
3131 %9 = insertelement <8 x i8> undef, i8 %8, i32 0
3232 %arrayidx2.i9.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 5
33 %10 = load i8 addrspace(1)* %arrayidx2.i9.i, align 1, !tbaa !9
33 %10 = load i8 addrspace(1)* %arrayidx2.i9.i, align 1
3434 %11 = insertelement <8 x i8> %9, i8 %10, i32 1
3535 %arrayidx6.i11.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 6
36 %12 = load i8 addrspace(1)* %arrayidx6.i11.i, align 1, !tbaa !9
36 %12 = load i8 addrspace(1)* %arrayidx6.i11.i, align 1
3737 %13 = insertelement <8 x i8> %11, i8 %12, i32 2
3838 %arrayidx10.i13.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 7
39 %14 = load i8 addrspace(1)* %arrayidx10.i13.i, align 1, !tbaa !9
39 %14 = load i8 addrspace(1)* %arrayidx10.i13.i, align 1
4040 %15 = insertelement <8 x i8> %13, i8 %14, i32 3
4141 %vecinit5.i = shufflevector <8 x i8> %7, <8 x i8> %15, <8 x i32>
42 %16 = load i8 addrspace(1)* %in1, align 1, !tbaa !9
42 %16 = load i8 addrspace(1)* %in1, align 1
4343 %17 = insertelement <8 x i8> undef, i8 %16, i32 0
4444 %arrayidx2.i.i4 = getelementptr inbounds i8 addrspace(1)* %in1, i64 1
45 %18 = load i8 addrspace(1)* %arrayidx2.i.i4, align 1, !tbaa !9
45 %18 = load i8 addrspace(1)* %arrayidx2.i.i4, align 1
4646 %19 = insertelement <8 x i8> %17, i8 %18, i32 1
4747 %arrayidx6.i.i5 = getelementptr inbounds i8 addrspace(1)* %in1, i64 2
48 %20 = load i8 addrspace(1)* %arrayidx6.i.i5, align 1, !tbaa !9
48 %20 = load i8 addrspace(1)* %arrayidx6.i.i5, align 1
4949 %21 = insertelement <8 x i8> %19, i8 %20, i32 2
5050 %arrayidx10.i.i6 = getelementptr inbounds i8 addrspace(1)* %in1, i64 3
51 %22 = load i8 addrspace(1)* %arrayidx10.i.i6, align 1, !tbaa !9
51 %22 = load i8 addrspace(1)* %arrayidx10.i.i6, align 1
5252 %23 = insertelement <8 x i8> %21, i8 %22, i32 3
5353 %arrayidx.i.i7 = getelementptr inbounds i8 addrspace(1)* %in1, i64 4
54 %24 = load i8 addrspace(1)* %arrayidx.i.i7, align 1, !tbaa !9
54 %24 = load i8 addrspace(1)* %arrayidx.i.i7, align 1
5555 %25 = insertelement <8 x i8> undef, i8 %24, i32 0
5656 %arrayidx2.i9.i8 = getelementptr inbounds i8 addrspace(1)* %in1, i64 5
57 %26 = load i8 addrspace(1)* %arrayidx2.i9.i8, align 1, !tbaa !9
57 %26 = load i8 addrspace(1)* %arrayidx2.i9.i8, align 1
5858 %27 = insertelement <8 x i8> %25, i8 %26, i32 1
5959 %arrayidx6.i11.i9 = getelementptr inbounds i8 addrspace(1)* %in1, i64 6
60 %28 = load i8 addrspace(1)* %arrayidx6.i11.i9, align 1, !tbaa !9
60 %28 = load i8 addrspace(1)* %arrayidx6.i11.i9, align 1
6161 %29 = insertelement <8 x i8> %27, i8 %28, i32 2
6262 %arrayidx10.i13.i10 = getelementptr inbounds i8 addrspace(1)* %in1, i64 7
63 %30 = load i8 addrspace(1)* %arrayidx10.i13.i10, align 1, !tbaa !9
63 %30 = load i8 addrspace(1)* %arrayidx10.i13.i10, align 1
6464 %31 = insertelement <8 x i8> %29, i8 %30, i32 3
6565 %vecinit5.i11 = shufflevector <8 x i8> %23, <8 x i8> %31, <8 x i32>
6666 %cmp.i = icmp slt <8 x i8> %vecinit5.i, %vecinit5.i11
6767 %cond.i = select <8 x i1> %cmp.i, <8 x i8> %vecinit5.i, <8 x i8> %vecinit5.i11
6868 %32 = extractelement <8 x i8> %cond.i, i32 0
69 store i8 %32, i8 addrspace(1)* %out, align 1, !tbaa !9
69 store i8 %32, i8 addrspace(1)* %out, align 1
7070 %33 = extractelement <8 x i8> %cond.i, i32 1
7171 %arrayidx2.i.i.i = getelementptr inbounds i8 addrspace(1)* %out, i64 1
72 store i8 %33, i8 addrspace(1)* %arrayidx2.i.i.i, align 1, !tbaa !9
72 store i8 %33, i8 addrspace(1)* %arrayidx2.i.i.i, align 1
7373 %34 = extractelement <8 x i8> %cond.i, i32 2
7474 %arrayidx.i.i.i = getelementptr inbounds i8 addrspace(1)* %out, i64 2
75 store i8 %34, i8 addrspace(1)* %arrayidx.i.i.i, align 1, !tbaa !9
75 store i8 %34, i8 addrspace(1)* %arrayidx.i.i.i, align 1
7676 %35 = extractelement <8 x i8> %cond.i, i32 3
7777 %arrayidx2.i6.i.i = getelementptr inbounds i8 addrspace(1)* %out, i64 3
78 store i8 %35, i8 addrspace(1)* %arrayidx2.i6.i.i, align 1, !tbaa !9
78 store i8 %35, i8 addrspace(1)* %arrayidx2.i6.i.i, align 1
7979 %arrayidx.i.i3 = getelementptr inbounds i8 addrspace(1)* %out, i64 4
8080 %36 = extractelement <8 x i8> %cond.i, i32 4
81 store i8 %36, i8 addrspace(1)* %arrayidx.i.i3, align 1, !tbaa !9
81 store i8 %36, i8 addrspace(1)* %arrayidx.i.i3, align 1
8282 %37 = extractelement <8 x i8> %cond.i, i32 5
8383 %arrayidx2.i.i6.i = getelementptr inbounds i8 addrspace(1)* %out, i64 5
84 store i8 %37, i8 addrspace(1)* %arrayidx2.i.i6.i, align 1, !tbaa !9
84 store i8 %37, i8 addrspace(1)* %arrayidx2.i.i6.i, align 1
8585 %38 = extractelement <8 x i8> %cond.i, i32 6
8686 %arrayidx.i.i7.i = getelementptr inbounds i8 addrspace(1)* %out, i64 6
87 store i8 %38, i8 addrspace(1)* %arrayidx.i.i7.i, align 1, !tbaa !9
87 store i8 %38, i8 addrspace(1)* %arrayidx.i.i7.i, align 1
8888 %39 = extractelement <8 x i8> %cond.i, i32 7
8989 %arrayidx2.i6.i8.i = getelementptr inbounds i8 addrspace(1)* %out, i64 7
90 store i8 %39, i8 addrspace(1)* %arrayidx2.i6.i8.i, align 1, !tbaa !9
90 store i8 %39, i8 addrspace(1)* %arrayidx2.i6.i8.i, align 1
9191 ret void
9292 }
9393
104104 !6 = metadata !{null}
105105 !7 = metadata !{null}
106106 !8 = metadata !{null}
107 !9 = metadata !{metadata !"omnipotent char", metadata !10}
108 !10 = metadata !{metadata !"Simple C/C++ TBAA"}
267267 ; SI-CHECK: BUFFER_STORE_DWORDX2
268268 define void @vecload2(i32 addrspace(1)* nocapture %out, i32 addrspace(2)* nocapture %mem) #0 {
269269 entry:
270 %0 = load i32 addrspace(2)* %mem, align 4, !tbaa !5
270 %0 = load i32 addrspace(2)* %mem, align 4
271271 %arrayidx1.i = getelementptr inbounds i32 addrspace(2)* %mem, i64 1
272 %1 = load i32 addrspace(2)* %arrayidx1.i, align 4, !tbaa !5
273 store i32 %0, i32 addrspace(1)* %out, align 4, !tbaa !5
272 %1 = load i32 addrspace(2)* %arrayidx1.i, align 4
273 store i32 %0, i32 addrspace(1)* %out, align 4
274274 %arrayidx1 = getelementptr inbounds i32 addrspace(1)* %out, i64 1
275 store i32 %1, i32 addrspace(1)* %arrayidx1, align 4, !tbaa !5
275 store i32 %1, i32 addrspace(1)* %arrayidx1, align 4
276276 ret void
277277 }
278278
279279 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
280
281 !5 = metadata !{metadata !"int", metadata !6}
282 !6 = metadata !{metadata !"omnipotent char", metadata !7}
283 !7 = metadata !{metadata !"Simple C/C++ TBAA"}
3535 %add.i = add i32 %z.i8.i, %mul33.i
3636 %add13 = add i32 %add.i, %add
3737 %arrayidx = getelementptr inbounds i32 addrspace(1)* %out, i32 %add13
38 store i32 %mul3, i32 addrspace(1)* %arrayidx, align 4, !tbaa !3
38 store i32 %mul3, i32 addrspace(1)* %arrayidx, align 4
3939 ret void
4040 }
4141
8383 !0 = metadata !{null}
8484 !1 = metadata !{null}
8585 !2 = metadata !{void (i32 addrspace(1)*)* @fill3d}
86 !3 = metadata !{metadata !"int", metadata !4}
87 !4 = metadata !{metadata !"omnipotent char", metadata !5}
88 !5 = metadata !{metadata !"Simple C/C++ TBAA"}
1010 define i32 @_Z18read_response_sizev() #0 {
1111 entry:
1212 tail call void @llvm.dbg.value(metadata !22, i64 0, metadata !23), !dbg !39
13 %0 = load i64* getelementptr inbounds ({ i64, [56 x i8] }* @a, i32 0, i32 0), align 8, !dbg !40, !tbaa !60
13 %0 = load i64* getelementptr inbounds ({ i64, [56 x i8] }* @a, i32 0, i32 0), align 8, !dbg !40
1414 tail call void @llvm.dbg.value(metadata !63, i64 0, metadata !64), !dbg !71
1515 %1 = trunc i64 %0 to i32
1616 ret i32 %1
8484 !57 = metadata !{i32 786689, metadata !41, metadata !"p2", metadata !10, i32 33554439, metadata !32, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [p2] [line 7]
8585 !58 = metadata !{i32 786689, metadata !41, metadata !"p3", metadata !10, i32 50331656, metadata !44, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [p3] [line 8]
8686 !59 = metadata !{i32 13, i32 0, metadata !24, metadata !38}
87 !60 = metadata !{metadata !"long long", metadata !61}
88 !61 = metadata !{metadata !"omnipotent char", metadata !62}
89 !62 = metadata !{metadata !"Simple C/C++ TBAA"}
9087 !63 = metadata !{i32 undef}
9188 !64 = metadata !{i32 786689, metadata !65, metadata !"p1", metadata !10, i32 33554433, metadata !50, i32 0, metadata !40} ; [ DW_TAG_arg_variable ] [p1] [line 1]
9289 !65 = metadata !{i32 786478, metadata !1, metadata !25, metadata !"operator()", metadata !"operator()", metadata !"_ZN3__11AclERKiS2_", i32 1, metadata !47, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 true, null, null, metadata !46, metadata !66, i32 2} ; [ DW_TAG_subprogram ] [line 1] [def] [scope 2] [operator()]
99 ; Function Attrs: nounwind sspreq
1010 define void @set_state(i32 %s) #0 {
1111 entry:
12 store i32 %s, i32* @state, align 4, !tbaa !0
12 store i32 %s, i32* @state, align 4
1313 ret void
1414 }
1515
1616 ; Function Attrs: nounwind sspreq
1717 define void @zero_char(i8* nocapture %p) #0 {
1818 entry:
19 store i8 0, i8* %p, align 1, !tbaa !1
19 store i8 0, i8* %p, align 1
2020 tail call void @g(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) #2
2121 ret void
2222 }
2727 define void @do_something(i32 %i) #0 {
2828 entry:
2929 %data = alloca [8 x i8], align 1
30 %0 = load i32* @state, align 4, !tbaa !0
30 %0 = load i32* @state, align 4
3131 %cmp = icmp eq i32 %0, 0
3232 br i1 %cmp, label %if.then, label %if.else
3333
5858 attributes #0 = { nounwind sspreq "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
5959 attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
6060 attributes #2 = { nounwind }
61
62 !0 = metadata !{metadata !"int", metadata !1}
63 !1 = metadata !{metadata !"omnipotent char", metadata !2}
64 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
77 entry:
88 %x = alloca [2 x i32], align 4
99 %a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
10 %0 = load i32* %a1, align 4, !tbaa !0
10 %0 = load i32* %a1, align 4
1111 %arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
12 store i32 %0, i32* %arrayidx, align 4, !tbaa !0
12 store i32 %0, i32* %arrayidx, align 4
1313 %b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
14 %1 = load i32* %b, align 4, !tbaa !0
14 %1 = load i32* %b, align 4
1515 %arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
16 store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
16 store i32 %1, i32* %arrayidx2, align 4
1717 call void @bar(i32* %arrayidx) #2
1818 ret void
1919 }
2222 entry:
2323 %x = alloca [2 x i32]
2424 %a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
25 %0 = load i32* %a1, align 4, !tbaa !0
25 %0 = load i32* %a1, align 4
2626 %arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
27 store i32 %0, i32* %arrayidx, align 4, !tbaa !0
27 store i32 %0, i32* %arrayidx, align 4
2828 %b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
29 %1 = load i32* %b, align 4, !tbaa !0
29 %1 = load i32* %b, align 4
3030 %arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
31 store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
31 store i32 %1, i32* %arrayidx2, align 4
3232 call void @bar(i32* %arrayidx) #2
3333 ret void
3434 }
3939 entry:
4040 %x = alloca [2 x i32], align 32
4141 %a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
42 %0 = load i32* %a1, align 4, !tbaa !0
42 %0 = load i32* %a1, align 4
4343 %arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
44 store i32 %0, i32* %arrayidx, align 32, !tbaa !0
44 store i32 %0, i32* %arrayidx, align 32
4545 %b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
46 %1 = load i32* %b, align 4, !tbaa !0
46 %1 = load i32* %b, align 4
4747 %arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
48 store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
48 store i32 %1, i32* %arrayidx2, align 4
4949 call void @bar(i32* %arrayidx) #2
5050 ret void
5151 }
6161 %tmpcast = bitcast i64* %a to %struct.s*
6262 store i64 0, i64* %a, align 8
6363 %a1 = bitcast i64* %a to i32*
64 store i32 1, i32* %a1, align 8, !tbaa !0
64 store i32 1, i32* %a1, align 8
6565 call void @foo(%struct.s* byval %tmpcast)
66 store i32 2, i32* %a1, align 8, !tbaa !0
66 store i32 2, i32* %a1, align 8
6767 call void @goo(%struct.s* byval %tmpcast)
6868 ret i32 0
6969 }
7979 %tmpcast = bitcast i64* %a to %struct.s*
8080 store i64 0, i64* %a, align 8
8181 %a1 = bitcast i64* %a to i32*
82 store i32 1, i32* %a1, align 8, !tbaa !0
82 store i32 1, i32* %a1, align 8
8383 call void @foo0(%struct.s* byval %tmpcast)
84 store i32 2, i32* %a1, align 8, !tbaa !0
84 store i32 2, i32* %a1, align 8
8585 call void @goo(%struct.s* byval %tmpcast)
8686 ret i32 0
8787 }
88
89 !0 = metadata !{metadata !"int", metadata !1}
90 !1 = metadata !{metadata !"omnipotent char", metadata !2}
91 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
92
88 entry:
99 %x = alloca [2 x i32], align 4
1010 %a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
11 %0 = load i32* %a1, align 4, !tbaa !0
11 %0 = load i32* %a1, align 4
1212 %arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
13 store i32 %0, i32* %arrayidx, align 4, !tbaa !0
13 store i32 %0, i32* %arrayidx, align 4
1414 %b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
15 %1 = load i32* %b, align 4, !tbaa !0
15 %1 = load i32* %b, align 4
1616 %arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
17 store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
17 store i32 %1, i32* %arrayidx2, align 4
1818 call void @bar(i32* %arrayidx) #2
1919 ret void
2020 }
2323 entry:
2424 %x = alloca [2 x i32]
2525 %a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
26 %0 = load i32* %a1, align 4, !tbaa !0
26 %0 = load i32* %a1, align 4
2727 %arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
28 store i32 %0, i32* %arrayidx, align 4, !tbaa !0
28 store i32 %0, i32* %arrayidx, align 4
2929 %b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
30 %1 = load i32* %b, align 4, !tbaa !0
30 %1 = load i32* %b, align 4
3131 %arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
32 store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
32 store i32 %1, i32* %arrayidx2, align 4
3333 call void @bar(i32* %arrayidx) #2
3434 ret void
3535 }
3838 entry:
3939 %x = alloca [2 x i32], align 1
4040 %a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
41 %0 = load i32* %a1, align 4, !tbaa !0
41 %0 = load i32* %a1, align 4
4242 %arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
43 store i32 %0, i32* %arrayidx, align 4, !tbaa !0
43 store i32 %0, i32* %arrayidx, align 4
4444 %b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
45 %1 = load i32* %b, align 4, !tbaa !0
45 %1 = load i32* %b, align 4
4646 %arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
47 store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
47 store i32 %1, i32* %arrayidx2, align 4
4848 call void @bar(i32* %arrayidx) #2
4949 ret void
5050 }
5555 entry:
5656 %x = alloca [2 x i32], align 32
5757 %a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
58 %0 = load i32* %a1, align 4, !tbaa !0
58 %0 = load i32* %a1, align 4
5959 %arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
60 store i32 %0, i32* %arrayidx, align 32, !tbaa !0
60 store i32 %0, i32* %arrayidx, align 32
6161 %b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
62 %1 = load i32* %b, align 4, !tbaa !0
62 %1 = load i32* %b, align 4
6363 %arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
64 store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
64 store i32 %1, i32* %arrayidx2, align 4
6565 call void @bar(i32* %arrayidx) #2
6666 ret void
6767 }
7777 %tmpcast = bitcast i64* %a to %struct.s*
7878 store i64 0, i64* %a, align 8
7979 %a1 = bitcast i64* %a to i32*
80 store i32 1, i32* %a1, align 8, !tbaa !0
80 store i32 1, i32* %a1, align 8
8181 call void @foo(%struct.s* byval %tmpcast)
82 store i32 2, i32* %a1, align 8, !tbaa !0
82 store i32 2, i32* %a1, align 8
8383 call void @goo(%struct.s* byval %tmpcast)
8484 ret i32 0
8585 }
9595 %tmpcast = bitcast i64* %a to %struct.s*
9696 store i64 0, i64* %a, align 8
9797 %a1 = bitcast i64* %a to i32*
98 store i32 1, i32* %a1, align 8, !tbaa !0
98 store i32 1, i32* %a1, align 8
9999 call void @foo0(%struct.s* byval %tmpcast)
100 store i32 2, i32* %a1, align 8, !tbaa !0
100 store i32 2, i32* %a1, align 8
101101 call void @goo(%struct.s* byval %tmpcast)
102102 ret i32 0
103103 }
113113 %tmpcast = bitcast i64* %a to %struct.s*
114114 store i64 0, i64* %a, align 8
115115 %a1 = bitcast i64* %a to i32*
116 store i32 1, i32* %a1, align 8, !tbaa !0
116 store i32 1, i32* %a1, align 8
117117 call void @foo0(%struct.s* byval %tmpcast)
118 store i32 2, i32* %a1, align 8, !tbaa !0
118 store i32 2, i32* %a1, align 8
119119 call void @foo1(%struct.s* byval %tmpcast)
120120 ret i32 0
121121 }
122
123 !0 = metadata !{metadata !"int", metadata !1}
124 !1 = metadata !{metadata !"omnipotent char", metadata !2}
125 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
126
3232 %indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.body ]
3333 %sum.05 = phi i32 [ 0, %for.body.lr.ph ], [ %add, %for.body ]
3434 %arrayidx = getelementptr inbounds i32* %a, i64 %indvars.iv, !dbg !22
35 %0 = load i32* %arrayidx, align 4, !dbg !22, !tbaa !23
35 %0 = load i32* %arrayidx, align 4, !dbg !22
3636 %add = add i32 %0, %sum.05, !dbg !22
3737 tail call void @llvm.dbg.value(metadata !{i32 %add.lcssa}, i64 0, metadata !15), !dbg !22
3838 %indvars.iv.next = add i64 %indvars.iv, 1, !dbg !21
8585 !20 = metadata !{i32 4, i32 0, metadata !4, null}
8686 !21 = metadata !{i32 5, i32 0, metadata !17, null}
8787 !22 = metadata !{i32 6, i32 0, metadata !17, null}
88 !23 = metadata !{metadata !"int", metadata !24}
89 !24 = metadata !{metadata !"omnipotent char", metadata !25}
90 !25 = metadata !{metadata !"Simple C/C++ TBAA"}
9188 !26 = metadata !{i32 7, i32 0, metadata !4, null}
2727 for.body: ; preds = %for.body, %entry
2828 %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
2929 %arrayidx = getelementptr inbounds [40000 x i8] addrspace(1)* @Y, i64 0, i64 %indvars.iv
30 %0 = load i8 addrspace(1)* %arrayidx, align 1, !tbaa !0
30 %0 = load i8 addrspace(1)* %arrayidx, align 1
3131 %add = add i8 %0, 1
3232 %arrayidx3 = getelementptr inbounds [40000 x i8]* @X, i64 0, i64 %indvars.iv
33 store i8 %add, i8* %arrayidx3, align 1, !tbaa !0
33 store i8 %add, i8* %arrayidx3, align 1
3434 %indvars.iv.next = add i64 %indvars.iv, 1
3535 %lftr.wideiv = trunc i64 %indvars.iv.next to i32
3636 %exitcond = icmp eq i32 %lftr.wideiv, 40000
4141 }
4242
4343 attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
44
45 !0 = metadata !{metadata !"omnipotent char", metadata !1}
46 !1 = metadata !{metadata !"Simple C/C++ TBAA"}
5959 %sub334 = fsub float %add294, %dx272.1
6060 %sub338 = fsub float %add297, %dy276.1
6161 %arrayidx.i.i606 = getelementptr inbounds %class.btVector3.23.221.463.485.507.573.595.683.727.749.815.837.991.1585.1607.1629.1651.1849.2047.2069.2091.2113* %vertices, i64 0, i32 0, i64 0
62 store float %sub334, float* %arrayidx.i.i606, align 4, !tbaa !0
62 store float %sub334, float* %arrayidx.i.i606, align 4
6363 %arrayidx3.i607 = getelementptr inbounds %class.btVector3.23.221.463.485.507.573.595.683.727.749.815.837.991.1585.1607.1629.1651.1849.2047.2069.2091.2113* %vertices, i64 0, i32 0, i64 1
64 store float %sub338, float* %arrayidx3.i607, align 4, !tbaa !0
64 store float %sub338, float* %arrayidx3.i607, align 4
6565 br label %return
6666
6767 return: ; preds = %if.end332, %for.end271, %entry
8181 }
8282
8383 attributes #0 = { ssp uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
84
85 !0 = metadata !{metadata !"float", metadata !1}
86 !1 = metadata !{metadata !"omnipotent char", metadata !2}
87 !2 = metadata !{metadata !"Simple C/C++ TBAA"}
3232
3333 for.body.lr.ph: ; preds = %entry
3434 %arrayidx = getelementptr inbounds double* %A, i64 4, !dbg !24
35 %0 = load double* %arrayidx, align 8, !dbg !24, !tbaa !26
35 %0 = load double* %arrayidx, align 8, !dbg !24
3636 %arrayidx1 = getelementptr inbounds double* %A, i64 5, !dbg !29
37 %1 = load double* %arrayidx1, align 8, !dbg !29, !tbaa !26
37 %1 = load double* %arrayidx1, align 8, !dbg !29
3838 br label %for.end, !dbg !23
3939
4040 for.end: ; preds = %for.body.lr.ph, %entry
4141 %y1.0.lcssa = phi double [ %1, %for.body.lr.ph ], [ 1.000000e+00, %entry ]
4242 %y0.0.lcssa = phi double [ %0, %for.body.lr.ph ], [ 0.000000e+00, %entry ]
4343 %arrayidx2 = getelementptr inbounds double* %A, i64 8, !dbg !30
44 store double %y0.0.lcssa, double* %arrayidx2, align 8, !dbg !30, !tbaa !26
44 store double %y0.0.lcssa, double* %arrayidx2, align 8, !dbg !30
4545 %arrayidx3 = getelementptr inbounds double* %A, i64 9, !dbg !30
46 store double %y1.0.lcssa, double* %arrayidx3, align 8, !dbg !30, !tbaa !26
46 store double %y1.0.lcssa, double* %arrayidx3, align 8, !dbg !30
4747 ret i32 undef, !dbg !31
4848 }
4949
8282 !23 = metadata !{i32 3, i32 0, metadata !17, null}
8383 !24 = metadata !{i32 4, i32 0, metadata !25, null}
8484 !25 = metadata !{i32 786443, metadata !1, metadata !17, i32 3, i32 0, i32 1} ; [ DW_TAG_lexical_block ] [/Users/nadav/file.c]
85 !26 = metadata !{metadata !"double", metadata !27}
86 !27 = metadata !{metadata !"omnipotent char", metadata !28}
87 !28 = metadata !{metadata !"Simple C/C++ TBAA"}
8885 !29 = metadata !{i32 5, i32 0, metadata !25, null}
8986 !30 = metadata !{i32 7, i32 0, metadata !4, null}
9087 !31 = metadata !{i32 8, i32 0, metadata !4, null} ; [ DW_TAG_imported_declaration ]