mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
TBAA: remove !tbaa from testing cases when they are not needed.
This will make it easier to turn on struct-path aware TBAA since the metadata format will change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188944 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -35,15 +35,15 @@ for.body: ; preds = %for.body.for.body_c
|
||||
%0 = phi %struct.lua_TValue.17.692* [ undef, %for.body.lr.ph ], [ %.pre, %for.body.for.body_crit_edge ]
|
||||
%indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.body.for.body_crit_edge ]
|
||||
%tt = getelementptr inbounds %struct.lua_TValue.17.692* %0, i64 %indvars.iv, i32 1
|
||||
%1 = load i32* %tt, align 4, !tbaa !0
|
||||
store i32 %1, i32* undef, align 4, !tbaa !0
|
||||
%1 = load i32* %tt, align 4
|
||||
store i32 %1, i32* undef, align 4
|
||||
%indvars.iv.next = add i64 %indvars.iv, 1
|
||||
%lftr.wideiv = trunc i64 %indvars.iv.next to i32
|
||||
%exitcond = icmp eq i32 %lftr.wideiv, %n
|
||||
br i1 %exitcond, label %for.end, label %for.body.for.body_crit_edge
|
||||
|
||||
for.body.for.body_crit_edge: ; preds = %for.body
|
||||
%.pre = load %struct.lua_TValue.17.692** undef, align 8, !tbaa !3
|
||||
%.pre = load %struct.lua_TValue.17.692** undef, align 8
|
||||
br label %for.body
|
||||
|
||||
for.end: ; preds = %for.body, %if.end, %entry
|
||||
@@ -57,8 +57,3 @@ for.end: ; preds = %for.body, %if.end,
|
||||
}
|
||||
|
||||
attributes #0 = { nounwind }
|
||||
|
||||
!0 = metadata !{metadata !"int", metadata !1}
|
||||
!1 = metadata !{metadata !"omnipotent char", metadata !2}
|
||||
!2 = metadata !{metadata !"Simple C/C++ TBAA"}
|
||||
!3 = metadata !{metadata !"any pointer", metadata !1}
|
||||
|
@@ -53,11 +53,11 @@ for.cond286.preheader: ; preds = %for.body252
|
||||
|
||||
for.cond290.preheader: ; preds = %for.end520, %for.cond286.preheader
|
||||
%srcptr.31595 = phi i16* [ getelementptr inbounds ([768 x i16]* @SetupFastFullPelSearch.orig_pels, i64 0, i64 0), %for.cond286.preheader ], [ null, %for.end520 ]
|
||||
%1 = load i32* undef, align 4, !tbaa !0
|
||||
%2 = load i32* @weight_luma, align 4, !tbaa !0
|
||||
%3 = load i32* @wp_luma_round, align 4, !tbaa !0
|
||||
%4 = load i32* @luma_log_weight_denom, align 4, !tbaa !0
|
||||
%5 = load i32* @offset_luma, align 4, !tbaa !0
|
||||
%1 = load i32* undef, align 4
|
||||
%2 = load i32* @weight_luma, align 4
|
||||
%3 = load i32* @wp_luma_round, align 4
|
||||
%4 = load i32* @luma_log_weight_denom, align 4
|
||||
%5 = load i32* @offset_luma, align 4
|
||||
%incdec.ptr502.sum = add i64 undef, 16
|
||||
br label %for.body293
|
||||
|
||||
@@ -68,7 +68,7 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%LineSadBlk1.01587 = phi i32 [ 0, %for.cond290.preheader ], [ %add402, %for.body293 ]
|
||||
%LineSadBlk3.01586 = phi i32 [ 0, %for.cond290.preheader ], [ %add514, %for.body293 ]
|
||||
%LineSadBlk2.01585 = phi i32 [ 0, %for.cond290.preheader ], [ %add458, %for.body293 ]
|
||||
%6 = load i16* %refptr.11590, align 2, !tbaa !3
|
||||
%6 = load i16* %refptr.11590, align 2
|
||||
%conv294 = zext i16 %6 to i32
|
||||
%mul295 = mul nsw i32 %conv294, %2
|
||||
%add296 = add nsw i32 %mul295, %3
|
||||
@@ -78,16 +78,16 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%cond.i.i1514 = select i1 %cmp.i.i1513, i32 %add297, i32 0
|
||||
%cmp.i4.i1515 = icmp slt i32 %cond.i.i1514, %1
|
||||
%cond.i5.i1516 = select i1 %cmp.i4.i1515, i32 %cond.i.i1514, i32 %1
|
||||
%7 = load i16* %srcptr.41591, align 2, !tbaa !3
|
||||
%7 = load i16* %srcptr.41591, align 2
|
||||
%conv300 = zext i16 %7 to i32
|
||||
%sub301 = sub nsw i32 %cond.i5.i1516, %conv300
|
||||
%idxprom302 = sext i32 %sub301 to i64
|
||||
%arrayidx303 = getelementptr inbounds i32* %cond, i64 %idxprom302
|
||||
%8 = load i32* %arrayidx303, align 4, !tbaa !0
|
||||
%8 = load i32* %arrayidx303, align 4
|
||||
%add304 = add nsw i32 %8, %LineSadBlk0.01588
|
||||
%9 = load i32* undef, align 4, !tbaa !0
|
||||
%9 = load i32* undef, align 4
|
||||
%add318 = add nsw i32 %add304, %9
|
||||
%10 = load i16* undef, align 2, !tbaa !3
|
||||
%10 = load i16* undef, align 2
|
||||
%conv321 = zext i16 %10 to i32
|
||||
%mul322 = mul nsw i32 %conv321, %2
|
||||
%add323 = add nsw i32 %mul322, %3
|
||||
@@ -100,22 +100,22 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%sub329 = sub nsw i32 %cond.i5.i1508, 0
|
||||
%idxprom330 = sext i32 %sub329 to i64
|
||||
%arrayidx331 = getelementptr inbounds i32* %cond, i64 %idxprom330
|
||||
%11 = load i32* %arrayidx331, align 4, !tbaa !0
|
||||
%11 = load i32* %arrayidx331, align 4
|
||||
%add332 = add nsw i32 %add318, %11
|
||||
%cmp.i.i1501 = icmp sgt i32 undef, 0
|
||||
%cond.i.i1502 = select i1 %cmp.i.i1501, i32 undef, i32 0
|
||||
%cmp.i4.i1503 = icmp slt i32 %cond.i.i1502, %1
|
||||
%cond.i5.i1504 = select i1 %cmp.i4.i1503, i32 %cond.i.i1502, i32 %1
|
||||
%incdec.ptr341 = getelementptr inbounds i16* %srcptr.41591, i64 4
|
||||
%12 = load i16* null, align 2, !tbaa !3
|
||||
%12 = load i16* null, align 2
|
||||
%conv342 = zext i16 %12 to i32
|
||||
%sub343 = sub nsw i32 %cond.i5.i1504, %conv342
|
||||
%idxprom344 = sext i32 %sub343 to i64
|
||||
%arrayidx345 = getelementptr inbounds i32* %cond, i64 %idxprom344
|
||||
%13 = load i32* %arrayidx345, align 4, !tbaa !0
|
||||
%13 = load i32* %arrayidx345, align 4
|
||||
%add346 = add nsw i32 %add332, %13
|
||||
%incdec.ptr348 = getelementptr inbounds i16* %refptr.11590, i64 5
|
||||
%14 = load i16* null, align 2, !tbaa !3
|
||||
%14 = load i16* null, align 2
|
||||
%conv349 = zext i16 %14 to i32
|
||||
%mul350 = mul nsw i32 %conv349, %2
|
||||
%add351 = add nsw i32 %mul350, %3
|
||||
@@ -126,15 +126,15 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%cmp.i4.i1499 = icmp slt i32 %cond.i.i1498, %1
|
||||
%cond.i5.i1500 = select i1 %cmp.i4.i1499, i32 %cond.i.i1498, i32 %1
|
||||
%incdec.ptr355 = getelementptr inbounds i16* %srcptr.41591, i64 5
|
||||
%15 = load i16* %incdec.ptr341, align 2, !tbaa !3
|
||||
%15 = load i16* %incdec.ptr341, align 2
|
||||
%conv356 = zext i16 %15 to i32
|
||||
%sub357 = sub nsw i32 %cond.i5.i1500, %conv356
|
||||
%idxprom358 = sext i32 %sub357 to i64
|
||||
%arrayidx359 = getelementptr inbounds i32* %cond, i64 %idxprom358
|
||||
%16 = load i32* %arrayidx359, align 4, !tbaa !0
|
||||
%16 = load i32* %arrayidx359, align 4
|
||||
%add360 = add nsw i32 %16, %LineSadBlk1.01587
|
||||
%incdec.ptr362 = getelementptr inbounds i16* %refptr.11590, i64 6
|
||||
%17 = load i16* %incdec.ptr348, align 2, !tbaa !3
|
||||
%17 = load i16* %incdec.ptr348, align 2
|
||||
%conv363 = zext i16 %17 to i32
|
||||
%mul364 = mul nsw i32 %conv363, %2
|
||||
%add365 = add nsw i32 %mul364, %3
|
||||
@@ -145,15 +145,15 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%cmp.i4.i1495 = icmp slt i32 %cond.i.i1494, %1
|
||||
%cond.i5.i1496 = select i1 %cmp.i4.i1495, i32 %cond.i.i1494, i32 %1
|
||||
%incdec.ptr369 = getelementptr inbounds i16* %srcptr.41591, i64 6
|
||||
%18 = load i16* %incdec.ptr355, align 2, !tbaa !3
|
||||
%18 = load i16* %incdec.ptr355, align 2
|
||||
%conv370 = zext i16 %18 to i32
|
||||
%sub371 = sub nsw i32 %cond.i5.i1496, %conv370
|
||||
%idxprom372 = sext i32 %sub371 to i64
|
||||
%arrayidx373 = getelementptr inbounds i32* %cond, i64 %idxprom372
|
||||
%19 = load i32* %arrayidx373, align 4, !tbaa !0
|
||||
%19 = load i32* %arrayidx373, align 4
|
||||
%add374 = add nsw i32 %add360, %19
|
||||
%incdec.ptr376 = getelementptr inbounds i16* %refptr.11590, i64 7
|
||||
%20 = load i16* %incdec.ptr362, align 2, !tbaa !3
|
||||
%20 = load i16* %incdec.ptr362, align 2
|
||||
%conv377 = zext i16 %20 to i32
|
||||
%mul378 = mul nsw i32 %conv377, %2
|
||||
%add379 = add nsw i32 %mul378, %3
|
||||
@@ -164,14 +164,14 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%cmp.i4.i1491 = icmp slt i32 %cond.i.i1490, %1
|
||||
%cond.i5.i1492 = select i1 %cmp.i4.i1491, i32 %cond.i.i1490, i32 %1
|
||||
%incdec.ptr383 = getelementptr inbounds i16* %srcptr.41591, i64 7
|
||||
%21 = load i16* %incdec.ptr369, align 2, !tbaa !3
|
||||
%21 = load i16* %incdec.ptr369, align 2
|
||||
%conv384 = zext i16 %21 to i32
|
||||
%sub385 = sub nsw i32 %cond.i5.i1492, %conv384
|
||||
%idxprom386 = sext i32 %sub385 to i64
|
||||
%arrayidx387 = getelementptr inbounds i32* %cond, i64 %idxprom386
|
||||
%22 = load i32* %arrayidx387, align 4, !tbaa !0
|
||||
%22 = load i32* %arrayidx387, align 4
|
||||
%add388 = add nsw i32 %add374, %22
|
||||
%23 = load i16* %incdec.ptr376, align 2, !tbaa !3
|
||||
%23 = load i16* %incdec.ptr376, align 2
|
||||
%conv391 = zext i16 %23 to i32
|
||||
%mul392 = mul nsw i32 %conv391, %2
|
||||
%add395 = add nsw i32 0, %5
|
||||
@@ -180,25 +180,25 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%cmp.i4.i1487 = icmp slt i32 %cond.i.i1486, %1
|
||||
%cond.i5.i1488 = select i1 %cmp.i4.i1487, i32 %cond.i.i1486, i32 %1
|
||||
%incdec.ptr397 = getelementptr inbounds i16* %srcptr.41591, i64 8
|
||||
%24 = load i16* %incdec.ptr383, align 2, !tbaa !3
|
||||
%24 = load i16* %incdec.ptr383, align 2
|
||||
%conv398 = zext i16 %24 to i32
|
||||
%sub399 = sub nsw i32 %cond.i5.i1488, %conv398
|
||||
%idxprom400 = sext i32 %sub399 to i64
|
||||
%arrayidx401 = getelementptr inbounds i32* %cond, i64 %idxprom400
|
||||
%25 = load i32* %arrayidx401, align 4, !tbaa !0
|
||||
%25 = load i32* %arrayidx401, align 4
|
||||
%add402 = add nsw i32 %add388, %25
|
||||
%incdec.ptr404 = getelementptr inbounds i16* %refptr.11590, i64 9
|
||||
%cmp.i4.i1483 = icmp slt i32 undef, %1
|
||||
%cond.i5.i1484 = select i1 %cmp.i4.i1483, i32 undef, i32 %1
|
||||
%26 = load i16* %incdec.ptr397, align 2, !tbaa !3
|
||||
%26 = load i16* %incdec.ptr397, align 2
|
||||
%conv412 = zext i16 %26 to i32
|
||||
%sub413 = sub nsw i32 %cond.i5.i1484, %conv412
|
||||
%idxprom414 = sext i32 %sub413 to i64
|
||||
%arrayidx415 = getelementptr inbounds i32* %cond, i64 %idxprom414
|
||||
%27 = load i32* %arrayidx415, align 4, !tbaa !0
|
||||
%27 = load i32* %arrayidx415, align 4
|
||||
%add416 = add nsw i32 %27, %LineSadBlk2.01585
|
||||
%incdec.ptr418 = getelementptr inbounds i16* %refptr.11590, i64 10
|
||||
%28 = load i16* %incdec.ptr404, align 2, !tbaa !3
|
||||
%28 = load i16* %incdec.ptr404, align 2
|
||||
%conv419 = zext i16 %28 to i32
|
||||
%mul420 = mul nsw i32 %conv419, %2
|
||||
%add421 = add nsw i32 %mul420, %3
|
||||
@@ -212,10 +212,10 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%sub427 = sub nsw i32 %cond.i5.i1480, 0
|
||||
%idxprom428 = sext i32 %sub427 to i64
|
||||
%arrayidx429 = getelementptr inbounds i32* %cond, i64 %idxprom428
|
||||
%29 = load i32* %arrayidx429, align 4, !tbaa !0
|
||||
%29 = load i32* %arrayidx429, align 4
|
||||
%add430 = add nsw i32 %add416, %29
|
||||
%incdec.ptr432 = getelementptr inbounds i16* %refptr.11590, i64 11
|
||||
%30 = load i16* %incdec.ptr418, align 2, !tbaa !3
|
||||
%30 = load i16* %incdec.ptr418, align 2
|
||||
%conv433 = zext i16 %30 to i32
|
||||
%mul434 = mul nsw i32 %conv433, %2
|
||||
%add435 = add nsw i32 %mul434, %3
|
||||
@@ -225,15 +225,15 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%cond.i.i1474 = select i1 %cmp.i.i1473, i32 %add437, i32 0
|
||||
%cmp.i4.i1475 = icmp slt i32 %cond.i.i1474, %1
|
||||
%cond.i5.i1476 = select i1 %cmp.i4.i1475, i32 %cond.i.i1474, i32 %1
|
||||
%31 = load i16* %incdec.ptr425, align 2, !tbaa !3
|
||||
%31 = load i16* %incdec.ptr425, align 2
|
||||
%conv440 = zext i16 %31 to i32
|
||||
%sub441 = sub nsw i32 %cond.i5.i1476, %conv440
|
||||
%idxprom442 = sext i32 %sub441 to i64
|
||||
%arrayidx443 = getelementptr inbounds i32* %cond, i64 %idxprom442
|
||||
%32 = load i32* %arrayidx443, align 4, !tbaa !0
|
||||
%32 = load i32* %arrayidx443, align 4
|
||||
%add444 = add nsw i32 %add430, %32
|
||||
%incdec.ptr446 = getelementptr inbounds i16* %refptr.11590, i64 12
|
||||
%33 = load i16* %incdec.ptr432, align 2, !tbaa !3
|
||||
%33 = load i16* %incdec.ptr432, align 2
|
||||
%conv447 = zext i16 %33 to i32
|
||||
%mul448 = mul nsw i32 %conv447, %2
|
||||
%add449 = add nsw i32 %mul448, %3
|
||||
@@ -244,15 +244,15 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%cmp.i4.i1471 = icmp slt i32 %cond.i.i1470, %1
|
||||
%cond.i5.i1472 = select i1 %cmp.i4.i1471, i32 %cond.i.i1470, i32 %1
|
||||
%incdec.ptr453 = getelementptr inbounds i16* %srcptr.41591, i64 12
|
||||
%34 = load i16* undef, align 2, !tbaa !3
|
||||
%34 = load i16* undef, align 2
|
||||
%conv454 = zext i16 %34 to i32
|
||||
%sub455 = sub nsw i32 %cond.i5.i1472, %conv454
|
||||
%idxprom456 = sext i32 %sub455 to i64
|
||||
%arrayidx457 = getelementptr inbounds i32* %cond, i64 %idxprom456
|
||||
%35 = load i32* %arrayidx457, align 4, !tbaa !0
|
||||
%35 = load i32* %arrayidx457, align 4
|
||||
%add458 = add nsw i32 %add444, %35
|
||||
%incdec.ptr460 = getelementptr inbounds i16* %refptr.11590, i64 13
|
||||
%36 = load i16* %incdec.ptr446, align 2, !tbaa !3
|
||||
%36 = load i16* %incdec.ptr446, align 2
|
||||
%conv461 = zext i16 %36 to i32
|
||||
%mul462 = mul nsw i32 %conv461, %2
|
||||
%add463 = add nsw i32 %mul462, %3
|
||||
@@ -263,12 +263,12 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%cmp.i4.i1467 = icmp slt i32 %cond.i.i1466, %1
|
||||
%cond.i5.i1468 = select i1 %cmp.i4.i1467, i32 %cond.i.i1466, i32 %1
|
||||
%incdec.ptr467 = getelementptr inbounds i16* %srcptr.41591, i64 13
|
||||
%37 = load i16* %incdec.ptr453, align 2, !tbaa !3
|
||||
%37 = load i16* %incdec.ptr453, align 2
|
||||
%conv468 = zext i16 %37 to i32
|
||||
%sub469 = sub nsw i32 %cond.i5.i1468, %conv468
|
||||
%idxprom470 = sext i32 %sub469 to i64
|
||||
%arrayidx471 = getelementptr inbounds i32* %cond, i64 %idxprom470
|
||||
%38 = load i32* %arrayidx471, align 4, !tbaa !0
|
||||
%38 = load i32* %arrayidx471, align 4
|
||||
%add472 = add nsw i32 %38, %LineSadBlk3.01586
|
||||
%incdec.ptr474 = getelementptr inbounds i16* %refptr.11590, i64 14
|
||||
%add477 = add nsw i32 0, %3
|
||||
@@ -279,15 +279,15 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%cmp.i4.i1463 = icmp slt i32 %cond.i.i1462, %1
|
||||
%cond.i5.i1464 = select i1 %cmp.i4.i1463, i32 %cond.i.i1462, i32 %1
|
||||
%incdec.ptr481 = getelementptr inbounds i16* %srcptr.41591, i64 14
|
||||
%39 = load i16* %incdec.ptr467, align 2, !tbaa !3
|
||||
%39 = load i16* %incdec.ptr467, align 2
|
||||
%conv482 = zext i16 %39 to i32
|
||||
%sub483 = sub nsw i32 %cond.i5.i1464, %conv482
|
||||
%idxprom484 = sext i32 %sub483 to i64
|
||||
%arrayidx485 = getelementptr inbounds i32* %cond, i64 %idxprom484
|
||||
%40 = load i32* %arrayidx485, align 4, !tbaa !0
|
||||
%40 = load i32* %arrayidx485, align 4
|
||||
%add486 = add nsw i32 %add472, %40
|
||||
%incdec.ptr488 = getelementptr inbounds i16* %refptr.11590, i64 15
|
||||
%41 = load i16* %incdec.ptr474, align 2, !tbaa !3
|
||||
%41 = load i16* %incdec.ptr474, align 2
|
||||
%conv489 = zext i16 %41 to i32
|
||||
%mul490 = mul nsw i32 %conv489, %2
|
||||
%add491 = add nsw i32 %mul490, %3
|
||||
@@ -298,14 +298,14 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%cmp.i4.i1459 = icmp slt i32 %cond.i.i1458, %1
|
||||
%cond.i5.i1460 = select i1 %cmp.i4.i1459, i32 %cond.i.i1458, i32 %1
|
||||
%incdec.ptr495 = getelementptr inbounds i16* %srcptr.41591, i64 15
|
||||
%42 = load i16* %incdec.ptr481, align 2, !tbaa !3
|
||||
%42 = load i16* %incdec.ptr481, align 2
|
||||
%conv496 = zext i16 %42 to i32
|
||||
%sub497 = sub nsw i32 %cond.i5.i1460, %conv496
|
||||
%idxprom498 = sext i32 %sub497 to i64
|
||||
%arrayidx499 = getelementptr inbounds i32* %cond, i64 %idxprom498
|
||||
%43 = load i32* %arrayidx499, align 4, !tbaa !0
|
||||
%43 = load i32* %arrayidx499, align 4
|
||||
%add500 = add nsw i32 %add486, %43
|
||||
%44 = load i16* %incdec.ptr488, align 2, !tbaa !3
|
||||
%44 = load i16* %incdec.ptr488, align 2
|
||||
%conv503 = zext i16 %44 to i32
|
||||
%mul504 = mul nsw i32 %conv503, %2
|
||||
%add505 = add nsw i32 %mul504, %3
|
||||
@@ -315,22 +315,22 @@ for.body293: ; preds = %for.body293, %for.c
|
||||
%cond.i.i1454 = select i1 %cmp.i.i1453, i32 %add507, i32 0
|
||||
%cmp.i4.i1455 = icmp slt i32 %cond.i.i1454, %1
|
||||
%cond.i5.i1456 = select i1 %cmp.i4.i1455, i32 %cond.i.i1454, i32 %1
|
||||
%45 = load i16* %incdec.ptr495, align 2, !tbaa !3
|
||||
%45 = load i16* %incdec.ptr495, align 2
|
||||
%conv510 = zext i16 %45 to i32
|
||||
%sub511 = sub nsw i32 %cond.i5.i1456, %conv510
|
||||
%idxprom512 = sext i32 %sub511 to i64
|
||||
%arrayidx513 = getelementptr inbounds i32* %cond, i64 %idxprom512
|
||||
%46 = load i32* %arrayidx513, align 4, !tbaa !0
|
||||
%46 = load i32* %arrayidx513, align 4
|
||||
%add514 = add nsw i32 %add500, %46
|
||||
%add.ptr517 = getelementptr inbounds i16* %refptr.11590, i64 %incdec.ptr502.sum
|
||||
%exitcond1692 = icmp eq i32 undef, 4
|
||||
br i1 %exitcond1692, label %for.end520, label %for.body293
|
||||
|
||||
for.end520: ; preds = %for.body293
|
||||
store i32 %add346, i32* undef, align 4, !tbaa !0
|
||||
store i32 %add402, i32* undef, align 4, !tbaa !0
|
||||
store i32 %add458, i32* undef, align 4, !tbaa !0
|
||||
store i32 %add514, i32* null, align 4, !tbaa !0
|
||||
store i32 %add346, i32* undef, align 4
|
||||
store i32 %add402, i32* undef, align 4
|
||||
store i32 %add458, i32* undef, align 4
|
||||
store i32 %add514, i32* null, align 4
|
||||
br i1 undef, label %for.end543, label %for.cond290.preheader
|
||||
|
||||
for.end543: ; preds = %for.end520
|
||||
@@ -402,8 +402,3 @@ for.end999: ; preds = %for.inc997
|
||||
|
||||
attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "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"}
|
||||
!3 = metadata !{metadata !"short", metadata !1}
|
||||
|
@@ -5,7 +5,7 @@ target triple = "powerpc64-unknown-linux-gnu"
|
||||
define signext i32 @foo(i32 signext %a, i32 signext %b, i32* nocapture %c) #0 {
|
||||
entry:
|
||||
%sub = sub nsw i32 %a, %b
|
||||
store i32 %sub, i32* %c, align 4, !tbaa !0
|
||||
store i32 %sub, i32* %c, align 4
|
||||
%cmp = icmp sgt i32 %a, %b
|
||||
%cond = select i1 %cmp, i32 %a, i32 %b
|
||||
ret i32 %cond
|
||||
@@ -17,7 +17,7 @@ entry:
|
||||
define signext i32 @foo2(i32 signext %a, i32 signext %b, i32* nocapture %c) #0 {
|
||||
entry:
|
||||
%shl = shl i32 %a, %b
|
||||
store i32 %shl, i32* %c, align 4, !tbaa !0
|
||||
store i32 %shl, i32* %c, align 4
|
||||
%cmp = icmp sgt i32 %shl, 0
|
||||
%conv = zext i1 %cmp to i32
|
||||
ret i32 %conv
|
||||
@@ -29,7 +29,7 @@ entry:
|
||||
define i64 @fool(i64 %a, i64 %b, i64* nocapture %c) #0 {
|
||||
entry:
|
||||
%sub = sub nsw i64 %a, %b
|
||||
store i64 %sub, i64* %c, align 8, !tbaa !3
|
||||
store i64 %sub, i64* %c, align 8
|
||||
%cmp = icmp sgt i64 %a, %b
|
||||
%cond = select i1 %cmp, i64 %a, i64 %b
|
||||
ret i64 %cond
|
||||
@@ -43,7 +43,7 @@ entry:
|
||||
define i64 @foolb(i64 %a, i64 %b, i64* nocapture %c) #0 {
|
||||
entry:
|
||||
%sub = sub nsw i64 %a, %b
|
||||
store i64 %sub, i64* %c, align 8, !tbaa !3
|
||||
store i64 %sub, i64* %c, align 8
|
||||
%cmp = icmp sle i64 %a, %b
|
||||
%cond = select i1 %cmp, i64 %a, i64 %b
|
||||
ret i64 %cond
|
||||
@@ -57,7 +57,7 @@ entry:
|
||||
define i64 @foolc(i64 %a, i64 %b, i64* nocapture %c) #0 {
|
||||
entry:
|
||||
%sub = sub nsw i64 %b, %a
|
||||
store i64 %sub, i64* %c, align 8, !tbaa !3
|
||||
store i64 %sub, i64* %c, align 8
|
||||
%cmp = icmp sgt i64 %a, %b
|
||||
%cond = select i1 %cmp, i64 %a, i64 %b
|
||||
ret i64 %cond
|
||||
@@ -71,7 +71,7 @@ entry:
|
||||
define i64 @foold(i64 %a, i64 %b, i64* nocapture %c) #0 {
|
||||
entry:
|
||||
%sub = sub nsw i64 %b, %a
|
||||
store i64 %sub, i64* %c, align 8, !tbaa !3
|
||||
store i64 %sub, i64* %c, align 8
|
||||
%cmp = icmp eq i64 %a, %b
|
||||
%cond = select i1 %cmp, i64 %a, i64 %b
|
||||
ret i64 %cond
|
||||
@@ -85,7 +85,7 @@ entry:
|
||||
define i64 @foold2(i64 %a, i64 %b, i64* nocapture %c) #0 {
|
||||
entry:
|
||||
%sub = sub nsw i64 %a, %b
|
||||
store i64 %sub, i64* %c, align 8, !tbaa !3
|
||||
store i64 %sub, i64* %c, align 8
|
||||
%cmp = icmp eq i64 %a, %b
|
||||
%cond = select i1 %cmp, i64 %a, i64 %b
|
||||
ret i64 %cond
|
||||
@@ -99,7 +99,7 @@ entry:
|
||||
define i64 @foo2l(i64 %a, i64 %b, i64* nocapture %c) #0 {
|
||||
entry:
|
||||
%shl = shl i64 %a, %b
|
||||
store i64 %shl, i64* %c, align 8, !tbaa !3
|
||||
store i64 %shl, i64* %c, align 8
|
||||
%cmp = icmp sgt i64 %shl, 0
|
||||
%conv1 = zext i1 %cmp to i64
|
||||
ret i64 %conv1
|
||||
@@ -112,7 +112,7 @@ entry:
|
||||
define double @food(double %a, double %b, double* nocapture %c) #0 {
|
||||
entry:
|
||||
%sub = fsub double %a, %b
|
||||
store double %sub, double* %c, align 8, !tbaa !3
|
||||
store double %sub, double* %c, align 8
|
||||
%cmp = fcmp ogt double %a, %b
|
||||
%cond = select i1 %cmp, double %a, double %b
|
||||
ret double %cond
|
||||
@@ -125,7 +125,7 @@ entry:
|
||||
define float @foof(float %a, float %b, float* nocapture %c) #0 {
|
||||
entry:
|
||||
%sub = fsub float %a, %b
|
||||
store float %sub, float* %c, align 4, !tbaa !3
|
||||
store float %sub, float* %c, align 4
|
||||
%cmp = fcmp ogt float %a, %b
|
||||
%cond = select i1 %cmp, float %a, float %b
|
||||
ret float %cond
|
||||
@@ -134,10 +134,3 @@ entry:
|
||||
; CHECK-NOT: fsubs. 0, 1, 2
|
||||
; CHECK: stfs 0, 0(5)
|
||||
}
|
||||
|
||||
!0 = metadata !{metadata !"int", metadata !1}
|
||||
!1 = metadata !{metadata !"omnipotent char", metadata !2}
|
||||
!2 = metadata !{metadata !"Simple C/C++ TBAA"}
|
||||
!3 = metadata !{metadata !"long", metadata !1}
|
||||
!4 = metadata !{metadata !"any pointer", metadata !1}
|
||||
|
||||
|
@@ -317,54 +317,42 @@ if.then: ; preds = %entry
|
||||
if.end: ; preds = %entry, %if.then
|
||||
%Reg.addr.0 = phi i32 [ %call3, %if.then ], [ %Reg, %entry ]
|
||||
%RegNo.i.i = getelementptr inbounds %"class.llvm::MachineOperand"* %this, i64 0, i32 2, i32 0
|
||||
%1 = load i32* %RegNo.i.i, align 4, !tbaa !0
|
||||
%1 = load i32* %RegNo.i.i, align 4
|
||||
%cmp.i = icmp eq i32 %1, %Reg.addr.0
|
||||
br i1 %cmp.i, label %_ZN4llvm14MachineOperand6setRegEj.exit, label %if.end.i
|
||||
|
||||
if.end.i: ; preds = %if.end
|
||||
%ParentMI.i.i = getelementptr inbounds %"class.llvm::MachineOperand"* %this, i64 0, i32 3
|
||||
%2 = load %"class.llvm::MachineInstr"** %ParentMI.i.i, align 8, !tbaa !3
|
||||
%2 = load %"class.llvm::MachineInstr"** %ParentMI.i.i, align 8
|
||||
%tobool.i = icmp eq %"class.llvm::MachineInstr"* %2, null
|
||||
br i1 %tobool.i, label %if.end13.i, label %if.then3.i
|
||||
|
||||
if.then3.i: ; preds = %if.end.i
|
||||
%Parent.i.i = getelementptr inbounds %"class.llvm::MachineInstr"* %2, i64 0, i32 2
|
||||
%3 = load %"class.llvm::MachineBasicBlock"** %Parent.i.i, align 8, !tbaa !3
|
||||
%3 = load %"class.llvm::MachineBasicBlock"** %Parent.i.i, align 8
|
||||
%tobool5.i = icmp eq %"class.llvm::MachineBasicBlock"* %3, null
|
||||
br i1 %tobool5.i, label %if.end13.i, label %if.then6.i
|
||||
|
||||
if.then6.i: ; preds = %if.then3.i
|
||||
%xParent.i.i = getelementptr inbounds %"class.llvm::MachineBasicBlock"* %3, i64 0, i32 4
|
||||
%4 = load %"class.llvm::MachineFunction"** %xParent.i.i, align 8, !tbaa !3
|
||||
%4 = load %"class.llvm::MachineFunction"** %xParent.i.i, align 8
|
||||
%tobool8.i = icmp eq %"class.llvm::MachineFunction"* %4, null
|
||||
br i1 %tobool8.i, label %if.end13.i, label %if.then9.i
|
||||
|
||||
if.then9.i: ; preds = %if.then6.i
|
||||
%RegInfo.i.i = getelementptr inbounds %"class.llvm::MachineFunction"* %4, i64 0, i32 5
|
||||
%5 = load %"class.llvm::MachineRegisterInfo"** %RegInfo.i.i, align 8, !tbaa !3
|
||||
%5 = load %"class.llvm::MachineRegisterInfo"** %RegInfo.i.i, align 8
|
||||
tail call void @_ZN4llvm19MachineRegisterInfo27removeRegOperandFromUseListEPNS_14MachineOperandE(%"class.llvm::MachineRegisterInfo"* %5, %"class.llvm::MachineOperand"* %this)
|
||||
store i32 %Reg.addr.0, i32* %RegNo.i.i, align 4, !tbaa !0
|
||||
store i32 %Reg.addr.0, i32* %RegNo.i.i, align 4
|
||||
tail call void @_ZN4llvm19MachineRegisterInfo22addRegOperandToUseListEPNS_14MachineOperandE(%"class.llvm::MachineRegisterInfo"* %5, %"class.llvm::MachineOperand"* %this)
|
||||
br label %_ZN4llvm14MachineOperand6setRegEj.exit
|
||||
|
||||
if.end13.i: ; preds = %if.then6.i, %if.then3.i, %if.end.i
|
||||
store i32 %Reg.addr.0, i32* %RegNo.i.i, align 4, !tbaa !0
|
||||
store i32 %Reg.addr.0, i32* %RegNo.i.i, align 4
|
||||
br label %_ZN4llvm14MachineOperand6setRegEj.exit
|
||||
|
||||
_ZN4llvm14MachineOperand6setRegEj.exit: ; preds = %if.end, %if.then9.i, %if.end13.i
|
||||
ret void
|
||||
}
|
||||
|
||||
!0 = metadata !{metadata !"int", metadata !1}
|
||||
!1 = metadata !{metadata !"omnipotent char", metadata !2}
|
||||
!2 = metadata !{metadata !"Simple C/C++ TBAA"}
|
||||
!3 = metadata !{metadata !"any pointer", metadata !1}
|
||||
!4 = metadata !{metadata !"vtable pointer", metadata !2}
|
||||
!5 = metadata !{metadata !"long", metadata !1}
|
||||
!6 = metadata !{i64 0, i64 8, metadata !3, i64 8, i64 8, metadata !5}
|
||||
!7 = metadata !{metadata !"short", metadata !1}
|
||||
!8 = metadata !{i64 0, i64 1, metadata !1, i64 1, i64 4, metadata !0, i64 2, i64 1, metadata !1, i64 3, i64 1, metadata !9, i64 3, i64 1, metadata !9, i64 3, i64 1, metadata !9, i64 3, i64 1, metadata !9, i64 3, i64 1, metadata !9, i64 3, i64 1, metadata !9, i64 3, i64 1, metadata !9, i64 3, i64 1, metadata !9, i64 4, i64 4, metadata !0, i64 4, i64 4, metadata !0, i64 8, i64 8, metadata !3, i64 16, i64 8, metadata !3, i64 16, i64 8, metadata !3, i64 16, i64 8, metadata !3, i64 16, i64 8, metadata !5, i64 16, i64 8, metadata !3, i64 16, i64 8, metadata !3, i64 16, i64 8, metadata !3, i64 16, i64 8, metadata !3, i64 24, i64 8, metadata !3, i64 16, i64 4, metadata !0, i64 16, i64 8, metadata !3, i64 16, i64 8, metadata !3, i64 16, i64 8, metadata !3, i64 24, i64 4, metadata !0}
|
||||
!9 = metadata !{metadata !"bool", metadata !1}
|
||||
!10 = metadata !{i8 0, i8 2}
|
||||
|
||||
; CHECK-NOT: lbzu 3, 1(3)
|
||||
|
Reference in New Issue
Block a user