1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00

TBAA: remove !tbaa from testing cases when they are not needed.

llvm-svn: 191689
This commit is contained in:
Manman Ren 2013-09-30 18:17:35 +00:00
parent 87696d33e7
commit 799fd39420
20 changed files with 131 additions and 207 deletions

View File

@ -17,7 +17,7 @@ target triple = "thumbv7-apple-ios3.0.0"
; Function Attrs: nounwind ssp
define i32 @pr16110() #0 {
for.cond1.preheader:
store i32 0, i32* @c, align 4, !dbg !21, !tbaa !23
store i32 0, i32* @c, align 4, !dbg !21
br label %for.cond1.outer, !dbg !26
for.cond1: ; preds = %for.end9, %for.cond1.outer
@ -26,9 +26,9 @@ for.cond1: ; preds = %for.end9, %for.cond
br i1 %cmp, label %for.body2, label %for.end9, !dbg !26
for.body2: ; preds = %for.cond1
store i32 %storemerge11, i32* @b, align 4, !dbg !26, !tbaa !23
store i32 %storemerge11, i32* @b, align 4, !dbg !26
tail call void @llvm.dbg.value(metadata !27, i64 0, metadata !11), !dbg !28
%0 = load i64* @a, align 8, !dbg !29, !tbaa !30
%0 = load i64* @a, align 8, !dbg !29
%xor = xor i64 %0, %e.1.ph, !dbg !29
%conv3 = trunc i64 %xor to i32, !dbg !29
tail call void @llvm.dbg.value(metadata !{i32 %conv3}, i64 0, metadata !10), !dbg !29
@ -44,7 +44,7 @@ land.end: ; preds = %land.rhs, %for.body
%1 = phi i1 [ false, %for.body2 ], [ %tobool5, %land.rhs ]
%land.ext = zext i1 %1 to i32
%call6 = tail call i32 bitcast (i32 (...)* @fn2 to i32 (i32, i32*)*)(i32 %land.ext, i32* null) #3
%2 = load i32* @b, align 4, !dbg !26, !tbaa !23
%2 = load i32* @b, align 4, !dbg !26
%inc8 = add nsw i32 %2, 1, !dbg !26
%phitmp = and i64 %xor, 4294967295, !dbg !26
br label %for.cond1.outer, !dbg !26
@ -52,7 +52,7 @@ land.end: ; preds = %land.rhs, %for.body
for.cond1.outer: ; preds = %land.end, %for.cond1.preheader
%storemerge11.ph = phi i32 [ %inc8, %land.end ], [ 0, %for.cond1.preheader ]
%e.1.ph = phi i64 [ %phitmp, %land.end ], [ 0, %for.cond1.preheader ]
%3 = load i32* @d, align 4, !dbg !31, !tbaa !23
%3 = load i32* @d, align 4, !dbg !31
%tobool10 = icmp eq i32 %3, 0, !dbg !31
br label %for.cond1
@ -60,7 +60,7 @@ for.end9: ; preds = %for.cond1
br i1 %tobool10, label %if.end, label %for.cond1, !dbg !31
if.end: ; preds = %for.end9
store i32 %storemerge11, i32* @b, align 4, !dbg !26, !tbaa !23
store i32 %storemerge11, i32* @b, align 4, !dbg !26
ret i32 0, !dbg !32
}
@ -101,13 +101,9 @@ attributes #3 = { nounwind }
!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]
!21 = metadata !{i32 10, i32 0, metadata !22, null}
!22 = metadata !{i32 786443, metadata !1, metadata !4, i32 10, i32 0, i32 0} ; [ DW_TAG_lexical_block ] [/d/b/pr16110.c]
!23 = metadata !{metadata !"int", metadata !24}
!24 = metadata !{metadata !"omnipotent char", metadata !25}
!25 = metadata !{metadata !"Simple C/C++ TBAA"}
!26 = metadata !{i32 12, i32 0, metadata !13, null}
!27 = metadata !{i32* null}
!28 = metadata !{i32 13, i32 0, metadata !12, null}
!29 = metadata !{i32 14, i32 0, metadata !12, null}
!30 = metadata !{metadata !"long long", metadata !24}
!31 = metadata !{i32 16, i32 0, metadata !4, null}
!32 = metadata !{i32 18, i32 0, metadata !4, null}

View File

@ -65,7 +65,7 @@ if.end28: ; preds = %if.then24, %while.c
%dst.1 = phi %struct.rtx_def* [ undef, %if.then24 ], [ %dst.0, %while.cond ], [ %dst.0, %while.cond ]
%arrayidx30 = getelementptr inbounds %struct.rtx_def* %dst.1, i32 0, i32 1, i32 0
%rtx31 = bitcast %union.rtunion_def* %arrayidx30 to %struct.rtx_def**
%0 = load %struct.rtx_def** %rtx31, align 4, !tbaa !0
%0 = load %struct.rtx_def** %rtx31, align 4
br label %while.cond
if.then46: ; preds = %while.cond
@ -77,7 +77,3 @@ if.end47: ; preds = %while.cond
}
attributes #0 = { nounwind ssp }
!0 = metadata !{metadata !"any pointer", metadata !1}
!1 = metadata !{metadata !"omnipotent char", metadata !2}
!2 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -72,10 +72,10 @@ declare void @SetMotionVectorsMB(%structK* nocapture, i32) #1
; Function Attrs: nounwind
define void @set_stored_macroblock_parameters() #1 {
entry:
%0 = load %structB** @img, align 4, !tbaa !0
%1 = load i32* undef, align 4, !tbaa !3
%0 = load %structB** @img, align 4
%1 = load i32* undef, align 4
%mb_data = getelementptr inbounds %structB* %0, i32 0, i32 61
%2 = load %structK** %mb_data, align 4, !tbaa !0
%2 = load %structK** %mb_data, align 4
br label %for.body
for.body: ; preds = %for.body, %entry
@ -109,7 +109,7 @@ for.body119: ; preds = %for.body119, %for.c
br i1 undef, label %for.body119, label %if.end164
if.end164: ; preds = %for.body119, %for.cond47.preheader, %if.end43
store i32*** null, i32**** @cofDC, align 4, !tbaa !0
store i32*** null, i32**** @cofDC, align 4
%mb_type = getelementptr inbounds %structK* %2, i32 %1, i32 8
br i1 undef, label %if.end230, label %if.then169
@ -134,7 +134,7 @@ if.then233: ; preds = %if.end230
if.end236: ; preds = %if.end230
%cmp242 = icmp ne i16 undef, 8
%4 = load i32* @luma_transform_size_8x8_flag, align 4, !tbaa !3
%4 = load i32* @luma_transform_size_8x8_flag, align 4
%tobool245 = icmp ne i32 %4, 0
%or.cond812 = or i1 %cmp242, %tobool245
br i1 %or.cond812, label %if.end249, label %land.lhs.true246
@ -150,11 +150,11 @@ if.then248: ; preds = %land.lhs.true246
br label %if.end249
if.end249: ; preds = %if.then248, %land.lhs.true246, %if.end236
%5 = load i32* @luma_transform_size_8x8_flag, align 4, !tbaa !3
%6 = load %structA** @rdopt, align 4, !tbaa !0
%5 = load i32* @luma_transform_size_8x8_flag, align 4
%6 = load %structA** @rdopt, align 4
%luma_transform_size_8x8_flag264 = getelementptr inbounds %structA* %6, i32 0, i32 21
store i32 %5, i32* %luma_transform_size_8x8_flag264, align 4, !tbaa !3
%7 = load i32* undef, align 4, !tbaa !3
store i32 %5, i32* %luma_transform_size_8x8_flag264, align 4
%7 = load i32* undef, align 4
%add281 = add nsw i32 %7, 0
br label %for.body285
@ -162,36 +162,36 @@ for.body285: ; preds = %for.inc503, %if.end
%8 = phi %structB* [ undef, %if.end249 ], [ %.pre1155, %for.inc503 ]
%i.21103 = phi i32 [ 0, %if.end249 ], [ %inc504, %for.inc503 ]
%block_x286 = getelementptr inbounds %structB* %8, i32 0, i32 37
%9 = load i32* %block_x286, align 4, !tbaa !3
%9 = load i32* %block_x286, align 4
%add287 = add nsw i32 %9, %i.21103
%shr289 = ashr i32 %i.21103, 1
%add290 = add nsw i32 %shr289, 0
%arrayidx292 = getelementptr inbounds %structK* %2, i32 %1, i32 15, i32 %add290
%10 = load %structM** @enc_picture, align 4, !tbaa !0
%10 = load %structM** @enc_picture, align 4
%ref_idx = getelementptr inbounds %structM* %10, i32 0, i32 35
%11 = load i8**** %ref_idx, align 4, !tbaa !0
%12 = load i8*** %11, align 4, !tbaa !0
%11 = load i8**** %ref_idx, align 4
%12 = load i8*** %11, align 4
%arrayidx313 = getelementptr inbounds i8** %12, i32 %add281
%13 = load i8** %arrayidx313, align 4, !tbaa !0
%13 = load i8** %arrayidx313, align 4
%arrayidx314 = getelementptr inbounds i8* %13, i32 %add287
store i8 -1, i8* %arrayidx314, align 1, !tbaa !1
%14 = load %structB** @img, align 4, !tbaa !0
store i8 -1, i8* %arrayidx314, align 1
%14 = load %structB** @img, align 4
%MbaffFrameFlag327 = getelementptr inbounds %structB* %14, i32 0, i32 100
%15 = load i32* %MbaffFrameFlag327, align 4, !tbaa !3
%15 = load i32* %MbaffFrameFlag327, align 4
%tobool328 = icmp eq i32 %15, 0
br i1 %tobool328, label %if.end454, label %if.then329
if.then329: ; preds = %for.body285
%16 = load %structA** @rdopt, align 4, !tbaa !0
%16 = load %structA** @rdopt, align 4
br label %if.end454
if.end454: ; preds = %if.then329, %for.body285
%17 = load i32* %arrayidx292, align 4, !tbaa !3
%17 = load i32* %arrayidx292, align 4
%cmp457 = icmp eq i32 %17, 0
br i1 %cmp457, label %if.then475, label %lor.lhs.false459
lor.lhs.false459: ; preds = %if.end454
%18 = load i32* %mb_type, align 4, !tbaa !3
%18 = load i32* %mb_type, align 4
switch i32 %18, label %for.inc503 [
i32 9, label %if.then475
i32 10, label %if.then475
@ -200,12 +200,12 @@ lor.lhs.false459: ; preds = %if.end454
]
if.then475: ; preds = %lor.lhs.false459, %lor.lhs.false459, %lor.lhs.false459, %lor.lhs.false459, %if.end454
store i16 0, i16* undef, align 2, !tbaa !4
store i16 0, i16* undef, align 2
br label %for.inc503
for.inc503: ; preds = %if.then475, %lor.lhs.false459
%inc504 = add nsw i32 %i.21103, 1
%.pre1155 = load %structB** @img, align 4, !tbaa !0
%.pre1155 = load %structB** @img, align 4
br label %for.body285
}
@ -217,9 +217,3 @@ declare void @RestoreMVBlock8x8(i32, i32, %structN* byval nocapture, i32) #1
attributes #0 = { nounwind }
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" }
!0 = metadata !{metadata !"any pointer", metadata !1}
!1 = metadata !{metadata !"omnipotent char", metadata !2}
!2 = metadata !{metadata !"Simple C/C++ TBAA"}
!3 = metadata !{metadata !"int", metadata !1}
!4 = metadata !{metadata !"short", metadata !1}

View File

@ -53,7 +53,7 @@ return: ; preds = %if.else, %if.then
define i32 @foo_bar(i32 %a, i16 signext %b) nounwind {
; CHECK: if{{ *}}(!cmp.eq(r{{[0-9]*}}.new, #0)) jump:nt
entry:
%0 = load i32* @j, align 4, !tbaa !2
%0 = load i32* @j, align 4
%tobool = icmp eq i32 %0, 0
br i1 %tobool, label %if.else, label %if.then, !prof !0
@ -74,6 +74,3 @@ return: ; preds = %if.else, %if.then
!0 = metadata !{metadata !"branch_weights", i32 64, i32 4}
!1 = metadata !{metadata !"branch_weights", i32 4, i32 64}
!2 = metadata !{metadata !"int", metadata !3}
!3 = metadata !{metadata !"omnipotent char", metadata !4}
!4 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -5,10 +5,10 @@
define void @word(i32* nocapture %a) nounwind {
entry:
%0 = load i32* %a, align 4, !tbaa !0
%0 = load i32* %a, align 4
%1 = zext i32 %0 to i64
%add.ptr = getelementptr inbounds i32* %a, i32 1
%2 = load i32* %add.ptr, align 4, !tbaa !0
%2 = load i32* %add.ptr, align 4
%3 = zext i32 %2 to i64
%4 = shl nuw i64 %3, 32
%ins = or i64 %4, %1
@ -17,7 +17,3 @@ entry:
}
declare void @bar(i64)
!0 = metadata !{metadata !"int", metadata !1}
!1 = metadata !{metadata !"omnipotent char", metadata !2}
!2 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -10,7 +10,7 @@ target triple = "mipsel--linux-gnu"
define void @getSubImagesLuma(%struct.StorablePicture* nocapture %s) #0 {
entry:
%size_y = getelementptr inbounds %struct.StorablePicture* %s, i32 0, i32 1
%0 = load i32* %size_y, align 4, !tbaa !0
%0 = load i32* %size_y, align 4
%sub = add nsw i32 %0, -1
%add5 = add nsw i32 %0, 20
%cmp6 = icmp sgt i32 %add5, -20
@ -20,7 +20,7 @@ for.body: ; preds = %entry, %for.body
%j.07 = phi i32 [ %inc, %for.body ], [ -20, %entry ]
%call = tail call i32 bitcast (i32 (...)* @iClip3 to i32 (i32, i32, i32)*)(i32 0, i32 %sub, i32 %j.07) #2
%inc = add nsw i32 %j.07, 1
%1 = load i32* %size_y, align 4, !tbaa !0
%1 = load i32* %size_y, align 4
%add = add nsw i32 %1, 20
%cmp = icmp slt i32 %inc, %add
br i1 %cmp, label %for.body, label %for.end
@ -36,7 +36,3 @@ declare i32 @iClip3(...) #1
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" }
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" }
attributes #2 = { nounwind }
!0 = metadata !{metadata !"int", metadata !1}
!1 = metadata !{metadata !"omnipotent char", metadata !2}
!2 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -12,12 +12,12 @@ entry:
%vla = alloca i32, i64 %0, align 128
%vla1 = alloca i32, i64 %0, align 128
%a2 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
%1 = load i32* %a2, align 4, !tbaa !0
store i32 %1, i32* %vla1, align 128, !tbaa !0
%1 = load i32* %a2, align 4
store i32 %1, i32* %vla1, align 128
%b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
%2 = load i32* %b, align 4, !tbaa !0
%2 = load i32* %b, align 4
%arrayidx3 = getelementptr inbounds i32* %vla1, i64 1
store i32 %2, i32* %arrayidx3, align 4, !tbaa !0
store i32 %2, i32* %arrayidx3, align 4
call void @bar(i32* %vla1, i32* %vla) #0
ret void
@ -33,7 +33,3 @@ entry:
}
attributes #0 = { nounwind }
!0 = metadata !{metadata !"int", metadata !1}
!1 = metadata !{metadata !"omnipotent char", metadata !2}
!2 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -22,7 +22,7 @@ crc32_gentab.exit: ; preds = %for.cond1.preheader
for.cond1.preheader.i2961.i: ; preds = %for.inc44.i2977.i, %crc32_gentab.exit
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
%0 = load i32* %retval.0.i.i.i, align 4, !tbaa !0
%0 = load i32* %retval.0.i.i.i, align 4
%tobool.i2967.i = icmp eq i32 %0, 0
br label %for.body21.i2968.i
@ -44,7 +44,3 @@ declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) #1
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" }
attributes #1 = { nounwind }
!0 = metadata !{metadata !"int", metadata !1}
!1 = metadata !{metadata !"omnipotent char", metadata !2}
!2 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -11,13 +11,13 @@ define void @goo(%struct.s* byval nocapture readonly %a) {
entry:
%x = alloca [2 x i32], align 32
%a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
%0 = load i32* %a1, align 4, !tbaa !0
%0 = load i32* %a1, align 4
%arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
store i32 %0, i32* %arrayidx, align 32, !tbaa !0
store i32 %0, i32* %arrayidx, align 32
%b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
%1 = load i32* %b, align 4, !tbaa !0
%1 = load i32* %b, align 4
%arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
store i32 %1, i32* %arrayidx2, align 4
call void @bar(i32* %arrayidx)
ret void
}
@ -74,13 +74,13 @@ define void @hoo(%struct.s* byval nocapture readonly %a) {
entry:
%x = alloca [200000 x i32], align 32
%a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
%0 = load i32* %a1, align 4, !tbaa !0
%0 = load i32* %a1, align 4
%arrayidx = getelementptr inbounds [200000 x i32]* %x, i64 0, i64 0
store i32 %0, i32* %arrayidx, align 32, !tbaa !0
store i32 %0, i32* %arrayidx, align 32
%b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
%1 = load i32* %b, align 4, !tbaa !0
%1 = load i32* %b, align 4
%arrayidx2 = getelementptr inbounds [200000 x i32]* %x, i64 0, i64 1
store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
store i32 %1, i32* %arrayidx2, align 4
call void @bar(i32* %arrayidx)
ret void
}
@ -105,13 +105,13 @@ define void @loo(%struct.s* byval nocapture readonly %a) {
entry:
%x = alloca [2 x i32], align 32
%a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
%0 = load i32* %a1, align 4, !tbaa !0
%0 = load i32* %a1, align 4
%arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
store i32 %0, i32* %arrayidx, align 32, !tbaa !0
store i32 %0, i32* %arrayidx, align 32
%b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
%1 = load i32* %b, align 4, !tbaa !0
%1 = load i32* %b, align 4
%arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
store i32 %1, i32* %arrayidx2, align 4
call void @bar(i32* %arrayidx)
call void asm sideeffect "", "~{f30}"() nounwind
ret void
@ -145,7 +145,3 @@ entry:
; CHECK-FP: stfd 30, -16(30)
; CHECK-FP: blr
!0 = metadata !{metadata !"int", metadata !1}
!1 = metadata !{metadata !"omnipotent char", metadata !2}
!2 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -16,79 +16,79 @@ target triple = "r600--"
; Function Attrs: nounwind
define void @test_8_min_char(i8 addrspace(1)* nocapture %out, i8 addrspace(1)* nocapture readonly %in0, i8 addrspace(1)* nocapture readonly %in1) #0 {
entry:
%0 = load i8 addrspace(1)* %in0, align 1, !tbaa !9
%0 = load i8 addrspace(1)* %in0, align 1
%1 = insertelement <8 x i8> undef, i8 %0, i32 0
%arrayidx2.i.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 1
%2 = load i8 addrspace(1)* %arrayidx2.i.i, align 1, !tbaa !9
%2 = load i8 addrspace(1)* %arrayidx2.i.i, align 1
%3 = insertelement <8 x i8> %1, i8 %2, i32 1
%arrayidx6.i.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 2
%4 = load i8 addrspace(1)* %arrayidx6.i.i, align 1, !tbaa !9
%4 = load i8 addrspace(1)* %arrayidx6.i.i, align 1
%5 = insertelement <8 x i8> %3, i8 %4, i32 2
%arrayidx10.i.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 3
%6 = load i8 addrspace(1)* %arrayidx10.i.i, align 1, !tbaa !9
%6 = load i8 addrspace(1)* %arrayidx10.i.i, align 1
%7 = insertelement <8 x i8> %5, i8 %6, i32 3
%arrayidx.i.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 4
%8 = load i8 addrspace(1)* %arrayidx.i.i, align 1, !tbaa !9
%8 = load i8 addrspace(1)* %arrayidx.i.i, align 1
%9 = insertelement <8 x i8> undef, i8 %8, i32 0
%arrayidx2.i9.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 5
%10 = load i8 addrspace(1)* %arrayidx2.i9.i, align 1, !tbaa !9
%10 = load i8 addrspace(1)* %arrayidx2.i9.i, align 1
%11 = insertelement <8 x i8> %9, i8 %10, i32 1
%arrayidx6.i11.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 6
%12 = load i8 addrspace(1)* %arrayidx6.i11.i, align 1, !tbaa !9
%12 = load i8 addrspace(1)* %arrayidx6.i11.i, align 1
%13 = insertelement <8 x i8> %11, i8 %12, i32 2
%arrayidx10.i13.i = getelementptr inbounds i8 addrspace(1)* %in0, i64 7
%14 = load i8 addrspace(1)* %arrayidx10.i13.i, align 1, !tbaa !9
%14 = load i8 addrspace(1)* %arrayidx10.i13.i, align 1
%15 = insertelement <8 x i8> %13, i8 %14, i32 3
%vecinit5.i = shufflevector <8 x i8> %7, <8 x i8> %15, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 8, i32 9, i32 10, i32 11>
%16 = load i8 addrspace(1)* %in1, align 1, !tbaa !9
%16 = load i8 addrspace(1)* %in1, align 1
%17 = insertelement <8 x i8> undef, i8 %16, i32 0
%arrayidx2.i.i4 = getelementptr inbounds i8 addrspace(1)* %in1, i64 1
%18 = load i8 addrspace(1)* %arrayidx2.i.i4, align 1, !tbaa !9
%18 = load i8 addrspace(1)* %arrayidx2.i.i4, align 1
%19 = insertelement <8 x i8> %17, i8 %18, i32 1
%arrayidx6.i.i5 = getelementptr inbounds i8 addrspace(1)* %in1, i64 2
%20 = load i8 addrspace(1)* %arrayidx6.i.i5, align 1, !tbaa !9
%20 = load i8 addrspace(1)* %arrayidx6.i.i5, align 1
%21 = insertelement <8 x i8> %19, i8 %20, i32 2
%arrayidx10.i.i6 = getelementptr inbounds i8 addrspace(1)* %in1, i64 3
%22 = load i8 addrspace(1)* %arrayidx10.i.i6, align 1, !tbaa !9
%22 = load i8 addrspace(1)* %arrayidx10.i.i6, align 1
%23 = insertelement <8 x i8> %21, i8 %22, i32 3
%arrayidx.i.i7 = getelementptr inbounds i8 addrspace(1)* %in1, i64 4
%24 = load i8 addrspace(1)* %arrayidx.i.i7, align 1, !tbaa !9
%24 = load i8 addrspace(1)* %arrayidx.i.i7, align 1
%25 = insertelement <8 x i8> undef, i8 %24, i32 0
%arrayidx2.i9.i8 = getelementptr inbounds i8 addrspace(1)* %in1, i64 5
%26 = load i8 addrspace(1)* %arrayidx2.i9.i8, align 1, !tbaa !9
%26 = load i8 addrspace(1)* %arrayidx2.i9.i8, align 1
%27 = insertelement <8 x i8> %25, i8 %26, i32 1
%arrayidx6.i11.i9 = getelementptr inbounds i8 addrspace(1)* %in1, i64 6
%28 = load i8 addrspace(1)* %arrayidx6.i11.i9, align 1, !tbaa !9
%28 = load i8 addrspace(1)* %arrayidx6.i11.i9, align 1
%29 = insertelement <8 x i8> %27, i8 %28, i32 2
%arrayidx10.i13.i10 = getelementptr inbounds i8 addrspace(1)* %in1, i64 7
%30 = load i8 addrspace(1)* %arrayidx10.i13.i10, align 1, !tbaa !9
%30 = load i8 addrspace(1)* %arrayidx10.i13.i10, align 1
%31 = insertelement <8 x i8> %29, i8 %30, i32 3
%vecinit5.i11 = shufflevector <8 x i8> %23, <8 x i8> %31, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 8, i32 9, i32 10, i32 11>
%cmp.i = icmp slt <8 x i8> %vecinit5.i, %vecinit5.i11
%cond.i = select <8 x i1> %cmp.i, <8 x i8> %vecinit5.i, <8 x i8> %vecinit5.i11
%32 = extractelement <8 x i8> %cond.i, i32 0
store i8 %32, i8 addrspace(1)* %out, align 1, !tbaa !9
store i8 %32, i8 addrspace(1)* %out, align 1
%33 = extractelement <8 x i8> %cond.i, i32 1
%arrayidx2.i.i.i = getelementptr inbounds i8 addrspace(1)* %out, i64 1
store i8 %33, i8 addrspace(1)* %arrayidx2.i.i.i, align 1, !tbaa !9
store i8 %33, i8 addrspace(1)* %arrayidx2.i.i.i, align 1
%34 = extractelement <8 x i8> %cond.i, i32 2
%arrayidx.i.i.i = getelementptr inbounds i8 addrspace(1)* %out, i64 2
store i8 %34, i8 addrspace(1)* %arrayidx.i.i.i, align 1, !tbaa !9
store i8 %34, i8 addrspace(1)* %arrayidx.i.i.i, align 1
%35 = extractelement <8 x i8> %cond.i, i32 3
%arrayidx2.i6.i.i = getelementptr inbounds i8 addrspace(1)* %out, i64 3
store i8 %35, i8 addrspace(1)* %arrayidx2.i6.i.i, align 1, !tbaa !9
store i8 %35, i8 addrspace(1)* %arrayidx2.i6.i.i, align 1
%arrayidx.i.i3 = getelementptr inbounds i8 addrspace(1)* %out, i64 4
%36 = extractelement <8 x i8> %cond.i, i32 4
store i8 %36, i8 addrspace(1)* %arrayidx.i.i3, align 1, !tbaa !9
store i8 %36, i8 addrspace(1)* %arrayidx.i.i3, align 1
%37 = extractelement <8 x i8> %cond.i, i32 5
%arrayidx2.i.i6.i = getelementptr inbounds i8 addrspace(1)* %out, i64 5
store i8 %37, i8 addrspace(1)* %arrayidx2.i.i6.i, align 1, !tbaa !9
store i8 %37, i8 addrspace(1)* %arrayidx2.i.i6.i, align 1
%38 = extractelement <8 x i8> %cond.i, i32 6
%arrayidx.i.i7.i = getelementptr inbounds i8 addrspace(1)* %out, i64 6
store i8 %38, i8 addrspace(1)* %arrayidx.i.i7.i, align 1, !tbaa !9
store i8 %38, i8 addrspace(1)* %arrayidx.i.i7.i, align 1
%39 = extractelement <8 x i8> %cond.i, i32 7
%arrayidx2.i6.i8.i = getelementptr inbounds i8 addrspace(1)* %out, i64 7
store i8 %39, i8 addrspace(1)* %arrayidx2.i6.i8.i, align 1, !tbaa !9
store i8 %39, i8 addrspace(1)* %arrayidx2.i6.i8.i, align 1
ret void
}
@ -105,5 +105,3 @@ attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"=
!6 = metadata !{null}
!7 = metadata !{null}
!8 = metadata !{null}
!9 = metadata !{metadata !"omnipotent char", metadata !10}
!10 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -268,17 +268,13 @@ entry:
; SI-CHECK: BUFFER_STORE_DWORDX2
define void @vecload2(i32 addrspace(1)* nocapture %out, i32 addrspace(2)* nocapture %mem) #0 {
entry:
%0 = load i32 addrspace(2)* %mem, align 4, !tbaa !5
%0 = load i32 addrspace(2)* %mem, align 4
%arrayidx1.i = getelementptr inbounds i32 addrspace(2)* %mem, i64 1
%1 = load i32 addrspace(2)* %arrayidx1.i, align 4, !tbaa !5
store i32 %0, i32 addrspace(1)* %out, align 4, !tbaa !5
%1 = load i32 addrspace(2)* %arrayidx1.i, align 4
store i32 %0, i32 addrspace(1)* %out, align 4
%arrayidx1 = getelementptr inbounds i32 addrspace(1)* %out, i64 1
store i32 %1, i32 addrspace(1)* %arrayidx1, align 4, !tbaa !5
store i32 %1, i32 addrspace(1)* %arrayidx1, align 4
ret void
}
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" }
!5 = metadata !{metadata !"int", metadata !6}
!6 = metadata !{metadata !"omnipotent char", metadata !7}
!7 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -36,7 +36,7 @@ entry:
%add.i = add i32 %z.i8.i, %mul33.i
%add13 = add i32 %add.i, %add
%arrayidx = getelementptr inbounds i32 addrspace(1)* %out, i32 %add13
store i32 %mul3, i32 addrspace(1)* %arrayidx, align 4, !tbaa !3
store i32 %mul3, i32 addrspace(1)* %arrayidx, align 4
ret void
}
@ -84,6 +84,3 @@ attributes #1 = { nounwind readnone }
!0 = metadata !{null}
!1 = metadata !{null}
!2 = metadata !{void (i32 addrspace(1)*)* @fill3d}
!3 = metadata !{metadata !"int", metadata !4}
!4 = metadata !{metadata !"omnipotent char", metadata !5}
!5 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -11,7 +11,7 @@
define i32 @_Z18read_response_sizev() #0 {
entry:
tail call void @llvm.dbg.value(metadata !22, i64 0, metadata !23), !dbg !39
%0 = load i64* getelementptr inbounds ({ i64, [56 x i8] }* @a, i32 0, i32 0), align 8, !dbg !40, !tbaa !60
%0 = load i64* getelementptr inbounds ({ i64, [56 x i8] }* @a, i32 0, i32 0), align 8, !dbg !40
tail call void @llvm.dbg.value(metadata !63, i64 0, metadata !64), !dbg !71
%1 = trunc i64 %0 to i32
ret i32 %1
@ -85,9 +85,6 @@ attributes #0 = { sspreq }
!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]
!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]
!59 = metadata !{i32 13, i32 0, metadata !24, metadata !38}
!60 = metadata !{metadata !"long long", metadata !61}
!61 = metadata !{metadata !"omnipotent char", metadata !62}
!62 = metadata !{metadata !"Simple C/C++ TBAA"}
!63 = metadata !{i32 undef}
!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]
!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()]

View File

@ -10,14 +10,14 @@ target triple = "i386-unknown-freebsd10.0"
; Function Attrs: nounwind sspreq
define void @set_state(i32 %s) #0 {
entry:
store i32 %s, i32* @state, align 4, !tbaa !0
store i32 %s, i32* @state, align 4
ret void
}
; Function Attrs: nounwind sspreq
define void @zero_char(i8* nocapture %p) #0 {
entry:
store i8 0, i8* %p, align 1, !tbaa !1
store i8 0, i8* %p, align 1
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
ret void
}
@ -28,7 +28,7 @@ declare void @g(i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32,
define void @do_something(i32 %i) #0 {
entry:
%data = alloca [8 x i8], align 1
%0 = load i32* @state, align 4, !tbaa !0
%0 = load i32* @state, align 4
%cmp = icmp eq i32 %0, 0
br i1 %cmp, label %if.then, label %if.else
@ -59,7 +59,3 @@ declare void @f(i32) #1
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" }
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" }
attributes #2 = { nounwind }
!0 = metadata !{metadata !"int", metadata !1}
!1 = metadata !{metadata !"omnipotent char", metadata !2}
!2 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -8,13 +8,13 @@ define void @foo(%struct.s* byval nocapture readonly %a) {
entry:
%x = alloca [2 x i32], align 4
%a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
%0 = load i32* %a1, align 4, !tbaa !0
%0 = load i32* %a1, align 4
%arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
store i32 %0, i32* %arrayidx, align 4, !tbaa !0
store i32 %0, i32* %arrayidx, align 4
%b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
%1 = load i32* %b, align 4, !tbaa !0
%1 = load i32* %b, align 4
%arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
store i32 %1, i32* %arrayidx2, align 4
call void @bar(i32* %arrayidx) #2
ret void
}
@ -23,13 +23,13 @@ define void @foo0(%struct.s* byval nocapture readonly %a) {
entry:
%x = alloca [2 x i32]
%a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
%0 = load i32* %a1, align 4, !tbaa !0
%0 = load i32* %a1, align 4
%arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
store i32 %0, i32* %arrayidx, align 4, !tbaa !0
store i32 %0, i32* %arrayidx, align 4
%b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
%1 = load i32* %b, align 4, !tbaa !0
%1 = load i32* %b, align 4
%arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
store i32 %1, i32* %arrayidx2, align 4
call void @bar(i32* %arrayidx) #2
ret void
}
@ -40,13 +40,13 @@ define void @goo(%struct.s* byval nocapture readonly %a) {
entry:
%x = alloca [2 x i32], align 32
%a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
%0 = load i32* %a1, align 4, !tbaa !0
%0 = load i32* %a1, align 4
%arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
store i32 %0, i32* %arrayidx, align 32, !tbaa !0
store i32 %0, i32* %arrayidx, align 32
%b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
%1 = load i32* %b, align 4, !tbaa !0
%1 = load i32* %b, align 4
%arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
store i32 %1, i32* %arrayidx2, align 4
call void @bar(i32* %arrayidx) #2
ret void
}
@ -62,9 +62,9 @@ entry:
%tmpcast = bitcast i64* %a to %struct.s*
store i64 0, i64* %a, align 8
%a1 = bitcast i64* %a to i32*
store i32 1, i32* %a1, align 8, !tbaa !0
store i32 1, i32* %a1, align 8
call void @foo(%struct.s* byval %tmpcast)
store i32 2, i32* %a1, align 8, !tbaa !0
store i32 2, i32* %a1, align 8
call void @goo(%struct.s* byval %tmpcast)
ret i32 0
}
@ -80,14 +80,9 @@ entry:
%tmpcast = bitcast i64* %a to %struct.s*
store i64 0, i64* %a, align 8
%a1 = bitcast i64* %a to i32*
store i32 1, i32* %a1, align 8, !tbaa !0
store i32 1, i32* %a1, align 8
call void @foo0(%struct.s* byval %tmpcast)
store i32 2, i32* %a1, align 8, !tbaa !0
store i32 2, i32* %a1, align 8
call void @goo(%struct.s* byval %tmpcast)
ret i32 0
}
!0 = metadata !{metadata !"int", metadata !1}
!1 = metadata !{metadata !"omnipotent char", metadata !2}
!2 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -9,13 +9,13 @@ define void @foo(%struct.s* byval nocapture readonly %a) {
entry:
%x = alloca [2 x i32], align 4
%a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
%0 = load i32* %a1, align 4, !tbaa !0
%0 = load i32* %a1, align 4
%arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
store i32 %0, i32* %arrayidx, align 4, !tbaa !0
store i32 %0, i32* %arrayidx, align 4
%b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
%1 = load i32* %b, align 4, !tbaa !0
%1 = load i32* %b, align 4
%arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
store i32 %1, i32* %arrayidx2, align 4
call void @bar(i32* %arrayidx) #2
ret void
}
@ -24,13 +24,13 @@ define void @foo0(%struct.s* byval nocapture readonly %a) {
entry:
%x = alloca [2 x i32]
%a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
%0 = load i32* %a1, align 4, !tbaa !0
%0 = load i32* %a1, align 4
%arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
store i32 %0, i32* %arrayidx, align 4, !tbaa !0
store i32 %0, i32* %arrayidx, align 4
%b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
%1 = load i32* %b, align 4, !tbaa !0
%1 = load i32* %b, align 4
%arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
store i32 %1, i32* %arrayidx2, align 4
call void @bar(i32* %arrayidx) #2
ret void
}
@ -39,13 +39,13 @@ define void @foo1(%struct.s* byval nocapture readonly %a) {
entry:
%x = alloca [2 x i32], align 1
%a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
%0 = load i32* %a1, align 4, !tbaa !0
%0 = load i32* %a1, align 4
%arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
store i32 %0, i32* %arrayidx, align 4, !tbaa !0
store i32 %0, i32* %arrayidx, align 4
%b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
%1 = load i32* %b, align 4, !tbaa !0
%1 = load i32* %b, align 4
%arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
store i32 %1, i32* %arrayidx2, align 4
call void @bar(i32* %arrayidx) #2
ret void
}
@ -56,13 +56,13 @@ define void @goo(%struct.s* byval nocapture readonly %a) {
entry:
%x = alloca [2 x i32], align 32
%a1 = getelementptr inbounds %struct.s* %a, i64 0, i32 0
%0 = load i32* %a1, align 4, !tbaa !0
%0 = load i32* %a1, align 4
%arrayidx = getelementptr inbounds [2 x i32]* %x, i64 0, i64 0
store i32 %0, i32* %arrayidx, align 32, !tbaa !0
store i32 %0, i32* %arrayidx, align 32
%b = getelementptr inbounds %struct.s* %a, i64 0, i32 1
%1 = load i32* %b, align 4, !tbaa !0
%1 = load i32* %b, align 4
%arrayidx2 = getelementptr inbounds [2 x i32]* %x, i64 0, i64 1
store i32 %1, i32* %arrayidx2, align 4, !tbaa !0
store i32 %1, i32* %arrayidx2, align 4
call void @bar(i32* %arrayidx) #2
ret void
}
@ -78,9 +78,9 @@ entry:
%tmpcast = bitcast i64* %a to %struct.s*
store i64 0, i64* %a, align 8
%a1 = bitcast i64* %a to i32*
store i32 1, i32* %a1, align 8, !tbaa !0
store i32 1, i32* %a1, align 8
call void @foo(%struct.s* byval %tmpcast)
store i32 2, i32* %a1, align 8, !tbaa !0
store i32 2, i32* %a1, align 8
call void @goo(%struct.s* byval %tmpcast)
ret i32 0
}
@ -96,9 +96,9 @@ entry:
%tmpcast = bitcast i64* %a to %struct.s*
store i64 0, i64* %a, align 8
%a1 = bitcast i64* %a to i32*
store i32 1, i32* %a1, align 8, !tbaa !0
store i32 1, i32* %a1, align 8
call void @foo0(%struct.s* byval %tmpcast)
store i32 2, i32* %a1, align 8, !tbaa !0
store i32 2, i32* %a1, align 8
call void @goo(%struct.s* byval %tmpcast)
ret i32 0
}
@ -114,14 +114,9 @@ entry:
%tmpcast = bitcast i64* %a to %struct.s*
store i64 0, i64* %a, align 8
%a1 = bitcast i64* %a to i32*
store i32 1, i32* %a1, align 8, !tbaa !0
store i32 1, i32* %a1, align 8
call void @foo0(%struct.s* byval %tmpcast)
store i32 2, i32* %a1, align 8, !tbaa !0
store i32 2, i32* %a1, align 8
call void @foo1(%struct.s* byval %tmpcast)
ret i32 0
}
!0 = metadata !{metadata !"int", metadata !1}
!1 = metadata !{metadata !"omnipotent char", metadata !2}
!2 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -33,7 +33,7 @@ for.body: ; preds = %for.body.lr.ph, %fo
%indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.body ]
%sum.05 = phi i32 [ 0, %for.body.lr.ph ], [ %add, %for.body ]
%arrayidx = getelementptr inbounds i32* %a, i64 %indvars.iv, !dbg !22
%0 = load i32* %arrayidx, align 4, !dbg !22, !tbaa !23
%0 = load i32* %arrayidx, align 4, !dbg !22
%add = add i32 %0, %sum.05, !dbg !22
tail call void @llvm.dbg.value(metadata !{i32 %add.lcssa}, i64 0, metadata !15), !dbg !22
%indvars.iv.next = add i64 %indvars.iv, 1, !dbg !21
@ -86,7 +86,4 @@ attributes #1 = { nounwind readnone }
!20 = metadata !{i32 4, i32 0, metadata !4, null}
!21 = metadata !{i32 5, i32 0, metadata !17, null}
!22 = metadata !{i32 6, i32 0, metadata !17, null}
!23 = metadata !{metadata !"int", metadata !24}
!24 = metadata !{metadata !"omnipotent char", metadata !25}
!25 = metadata !{metadata !"Simple C/C++ TBAA"}
!26 = metadata !{i32 7, i32 0, metadata !4, null}

View File

@ -28,10 +28,10 @@ entry:
for.body: ; preds = %for.body, %entry
%indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
%arrayidx = getelementptr inbounds [40000 x i8] addrspace(1)* @Y, i64 0, i64 %indvars.iv
%0 = load i8 addrspace(1)* %arrayidx, align 1, !tbaa !0
%0 = load i8 addrspace(1)* %arrayidx, align 1
%add = add i8 %0, 1
%arrayidx3 = getelementptr inbounds [40000 x i8]* @X, i64 0, i64 %indvars.iv
store i8 %add, i8* %arrayidx3, align 1, !tbaa !0
store i8 %add, i8* %arrayidx3, align 1
%indvars.iv.next = add i64 %indvars.iv, 1
%lftr.wideiv = trunc i64 %indvars.iv.next to i32
%exitcond = icmp eq i32 %lftr.wideiv, 40000
@ -42,6 +42,3 @@ for.end: ; preds = %for.body
}
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" }
!0 = metadata !{metadata !"omnipotent char", metadata !1}
!1 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -60,9 +60,9 @@ if.end332: ; preds = %if.then329, %if.end
%sub334 = fsub float %add294, %dx272.1
%sub338 = fsub float %add297, %dy276.1
%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
store float %sub334, float* %arrayidx.i.i606, align 4, !tbaa !0
store float %sub334, float* %arrayidx.i.i606, align 4
%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
store float %sub338, float* %arrayidx3.i607, align 4, !tbaa !0
store float %sub338, float* %arrayidx3.i607, align 4
br label %return
return: ; preds = %if.end332, %for.end271, %entry
@ -82,7 +82,3 @@ if.end22.2: ; preds = %if.then17.2, %if.en
}
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" }
!0 = metadata !{metadata !"float", metadata !1}
!1 = metadata !{metadata !"omnipotent char", metadata !2}
!2 = metadata !{metadata !"Simple C/C++ TBAA"}

View File

@ -33,18 +33,18 @@ entry:
for.body.lr.ph: ; preds = %entry
%arrayidx = getelementptr inbounds double* %A, i64 4, !dbg !24
%0 = load double* %arrayidx, align 8, !dbg !24, !tbaa !26
%0 = load double* %arrayidx, align 8, !dbg !24
%arrayidx1 = getelementptr inbounds double* %A, i64 5, !dbg !29
%1 = load double* %arrayidx1, align 8, !dbg !29, !tbaa !26
%1 = load double* %arrayidx1, align 8, !dbg !29
br label %for.end, !dbg !23
for.end: ; preds = %for.body.lr.ph, %entry
%y1.0.lcssa = phi double [ %1, %for.body.lr.ph ], [ 1.000000e+00, %entry ]
%y0.0.lcssa = phi double [ %0, %for.body.lr.ph ], [ 0.000000e+00, %entry ]
%arrayidx2 = getelementptr inbounds double* %A, i64 8, !dbg !30
store double %y0.0.lcssa, double* %arrayidx2, align 8, !dbg !30, !tbaa !26
store double %y0.0.lcssa, double* %arrayidx2, align 8, !dbg !30
%arrayidx3 = getelementptr inbounds double* %A, i64 9, !dbg !30
store double %y1.0.lcssa, double* %arrayidx3, align 8, !dbg !30, !tbaa !26
store double %y1.0.lcssa, double* %arrayidx3, align 8, !dbg !30
ret i32 undef, !dbg !31
}
@ -83,9 +83,6 @@ attributes #1 = { nounwind readnone }
!23 = metadata !{i32 3, i32 0, metadata !17, null}
!24 = metadata !{i32 4, i32 0, metadata !25, null}
!25 = metadata !{i32 786443, metadata !1, metadata !17, i32 3, i32 0, i32 1} ; [ DW_TAG_lexical_block ] [/Users/nadav/file.c]
!26 = metadata !{metadata !"double", metadata !27}
!27 = metadata !{metadata !"omnipotent char", metadata !28}
!28 = metadata !{metadata !"Simple C/C++ TBAA"}
!29 = metadata !{i32 5, i32 0, metadata !25, null}
!30 = metadata !{i32 7, i32 0, metadata !4, null}
!31 = metadata !{i32 8, i32 0, metadata !4, null} ; [ DW_TAG_imported_declaration ]