aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/Analysis
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2023-12-05 11:52:31 +0100
committerNikita Popov <npopov@redhat.com>2023-12-05 14:09:36 +0100
commiteecb99c5f66c8491766628a2925587e20f3b1dbd (patch)
treeeed5a90aa318bfd0f33599f274c9409e4e7f8231 /llvm/test/Analysis
parent21b986637b950bb1762a38201223d62c4bca0dce (diff)
downloadllvm-eecb99c5f66c8491766628a2925587e20f3b1dbd.zip
llvm-eecb99c5f66c8491766628a2925587e20f3b1dbd.tar.gz
llvm-eecb99c5f66c8491766628a2925587e20f3b1dbd.tar.bz2
[Tests] Add disjoint flag to some tests (NFC)
These tests rely on SCEV looking recognizing an "or" with no common bits as an "add". Add the disjoint flag to relevant or instructions in preparation for switching SCEV to use the flag instead of the ValueTracking query. The IR with disjoint flag matches what InstCombine would produce.
Diffstat (limited to 'llvm/test/Analysis')
-rw-r--r--llvm/test/Analysis/CostModel/X86/interleaved-load-half.ll14
-rw-r--r--llvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll4
-rw-r--r--llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll4
-rw-r--r--llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll2
-rw-r--r--llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll4
-rw-r--r--llvm/test/Analysis/DependenceAnalysis/GCD.ll12
-rw-r--r--llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll10
-rw-r--r--llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll4
-rw-r--r--llvm/test/Analysis/ScalarEvolution/nsw-offset.ll4
-rw-r--r--llvm/test/Analysis/ScalarEvolution/sext-mul.ll8
10 files changed, 33 insertions, 33 deletions
diff --git a/llvm/test/Analysis/CostModel/X86/interleaved-load-half.ll b/llvm/test/Analysis/CostModel/X86/interleaved-load-half.ll
index a0cbd74..457b00d 100644
--- a/llvm/test/Analysis/CostModel/X86/interleaved-load-half.ll
+++ b/llvm/test/Analysis/CostModel/X86/interleaved-load-half.ll
@@ -33,7 +33,7 @@ for.body: ; preds = %for.body.lr.ph, %fo
%1 = load half, ptr %arrayidx2, align 4
%add3 = fadd fast half %1, %mul
store half %add3, ptr %arrayidx2, align 4
- %add4 = or i32 %i.073, 1
+ %add4 = or disjoint i32 %i.073, 1
%arrayidx5 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add4
%2 = load half, ptr %arrayidx5, align 4
%mul6 = fmul fast half %2, %k
@@ -41,7 +41,7 @@ for.body: ; preds = %for.body.lr.ph, %fo
%3 = load half, ptr %arrayidx8, align 4
%add9 = fadd fast half %3, %mul6
store half %add9, ptr %arrayidx8, align 4
- %add10 = or i32 %i.073, 2
+ %add10 = or disjoint i32 %i.073, 2
%arrayidx11 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add10
%4 = load half, ptr %arrayidx11, align 4
%mul12 = fmul fast half %4, %k
@@ -49,7 +49,7 @@ for.body: ; preds = %for.body.lr.ph, %fo
%5 = load half, ptr %arrayidx14, align 4
%add15 = fadd fast half %5, %mul12
store half %add15, ptr %arrayidx14, align 4
- %add16 = or i32 %i.073, 3
+ %add16 = or disjoint i32 %i.073, 3
%arrayidx17 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add16
%6 = load half, ptr %arrayidx17, align 4
%mul18 = fmul fast half %6, %k
@@ -57,7 +57,7 @@ for.body: ; preds = %for.body.lr.ph, %fo
%7 = load half, ptr %arrayidx20, align 4
%add21 = fadd fast half %7, %mul18
store half %add21, ptr %arrayidx20, align 4
- %add22 = or i32 %i.073, 4
+ %add22 = or disjoint i32 %i.073, 4
%arrayidx23 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add22
%8 = load half, ptr %arrayidx23, align 4
%mul24 = fmul fast half %8, %k
@@ -65,7 +65,7 @@ for.body: ; preds = %for.body.lr.ph, %fo
%9 = load half, ptr %arrayidx26, align 4
%add27 = fadd fast half %9, %mul24
store half %add27, ptr %arrayidx26, align 4
- %add28 = or i32 %i.073, 5
+ %add28 = or disjoint i32 %i.073, 5
%arrayidx29 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add28
%10 = load half, ptr %arrayidx29, align 4
%mul30 = fmul fast half %10, %k
@@ -73,7 +73,7 @@ for.body: ; preds = %for.body.lr.ph, %fo
%11 = load half, ptr %arrayidx32, align 4
%add33 = fadd fast half %11, %mul30
store half %add33, ptr %arrayidx32, align 4
- %add34 = or i32 %i.073, 6
+ %add34 = or disjoint i32 %i.073, 6
%arrayidx35 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add34
%12 = load half, ptr %arrayidx35, align 4
%mul36 = fmul fast half %12, %k
@@ -81,7 +81,7 @@ for.body: ; preds = %for.body.lr.ph, %fo
%13 = load half, ptr %arrayidx38, align 4
%add39 = fadd fast half %13, %mul36
store half %add39, ptr %arrayidx38, align 4
- %add40 = or i32 %i.073, 7
+ %add40 = or disjoint i32 %i.073, 7
%arrayidx41 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add40
%14 = load half, ptr %arrayidx41, align 4
%mul42 = fmul fast half %14, %k
diff --git a/llvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll b/llvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll
index d42e431..e867e5f 100644
--- a/llvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll
+++ b/llvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll
@@ -51,7 +51,7 @@ for.body:
%i1 = shl nuw nsw i64 %indvars.iv, 2
%arrayidx2 = getelementptr inbounds i16, ptr %points, i64 %i1
%i2 = load i16, ptr %arrayidx2, align 2
- %i3 = or i64 %i1, 1
+ %i3 = or disjoint i64 %i1, 1
%arrayidx7 = getelementptr inbounds i16, ptr %points, i64 %i3
%i4 = load i16, ptr %arrayidx7, align 2
%arrayidx = getelementptr inbounds i16, ptr %x, i64 %indvars.iv
@@ -113,7 +113,7 @@ for.body:
%i1 = shl nuw nsw i64 %indvars.iv, 2
%arrayidx2 = getelementptr inbounds i16, ptr %points, i64 %i1
%i2 = load i16, ptr %arrayidx2, align 2
- %i3 = or i64 %i1, 1
+ %i3 = or disjoint i64 %i1, 1
%arrayidx7 = getelementptr inbounds i16, ptr %points, i64 %i3
%i4 = load i16, ptr %arrayidx7, align 2
%arrayidx = getelementptr inbounds i16, ptr %x, i64 %indvars.iv
diff --git a/llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll b/llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
index 171b8d0..741dd07 100644
--- a/llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
+++ b/llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
@@ -55,7 +55,7 @@ for.body:
store i16 %0, ptr %arrayidx2, align 2
%arrayidx4 = getelementptr inbounds i16, ptr %y, i64 %indvars.iv
%2 = load i16, ptr %arrayidx4, align 2
- %3 = or i64 %1, 1
+ %3 = or disjoint i64 %1, 1
%arrayidx7 = getelementptr inbounds i16, ptr %points, i64 %3
store i16 %2, ptr %arrayidx7, align 2
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
@@ -117,7 +117,7 @@ for.body:
store i16 %0, ptr %arrayidx2, align 2
%arrayidx4 = getelementptr inbounds i16, ptr %y, i64 %indvars.iv
%2 = load i16, ptr %arrayidx4, align 2
- %3 = or i64 %1, 1
+ %3 = or disjoint i64 %1, 1
%arrayidx7 = getelementptr inbounds i16, ptr %points, i64 %3
store i16 %2, ptr %arrayidx7, align 2
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
diff --git a/llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll b/llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
index 1c7bcda..4aa2458 100644
--- a/llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
+++ b/llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
@@ -40,7 +40,7 @@ for.body4: ; preds = %for.body4.preheader
%j.02 = phi i64 [ %inc9, %for.body4 ], [ 0, %for.body4.preheader ]
%B.addr.01 = phi ptr [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ]
%mul5 = shl nsw i64 %j.02, 1
- %add64 = or i64 %mul5, 1
+ %add64 = or disjoint i64 %mul5, 1
%arrayidx7 = getelementptr inbounds i32, ptr %A, i64 %add64
%0 = load i32, ptr %arrayidx7, align 4
%incdec.ptr = getelementptr inbounds i32, ptr %B.addr.01, i64 1
diff --git a/llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll b/llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
index 9a76154..7822e61 100644
--- a/llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
+++ b/llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
@@ -29,7 +29,7 @@ for.body: ; preds = %entry, %for.body
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %add
store i32 %conv, ptr %arrayidx, align 4
%mul = shl i64 %i.02, 1
- %add13 = or i64 %mul, 1
+ %add13 = or disjoint i64 %mul, 1
%arrayidx2 = getelementptr inbounds i32, ptr %A, i64 %add13
%0 = load i32, ptr %arrayidx2, align 4
%incdec.ptr = getelementptr inbounds i32, ptr %B.addr.01, i64 1
@@ -68,7 +68,7 @@ for.body: ; preds = %entry, %for.body
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %add
store i32 %conv, ptr %arrayidx, align 4
%mul1 = shl i64 %i.02, 1
- %add23 = or i64 %mul1, 1
+ %add23 = or disjoint i64 %mul1, 1
%arrayidx3 = getelementptr inbounds i32, ptr %A, i64 %add23
%0 = load i32, ptr %arrayidx3, align 4
%incdec.ptr = getelementptr inbounds i32, ptr %B.addr.01, i64 1
diff --git a/llvm/test/Analysis/DependenceAnalysis/GCD.ll b/llvm/test/Analysis/DependenceAnalysis/GCD.ll
index 898158d..f4890a2 100644
--- a/llvm/test/Analysis/DependenceAnalysis/GCD.ll
+++ b/llvm/test/Analysis/DependenceAnalysis/GCD.ll
@@ -93,7 +93,7 @@ for.body3: ; preds = %for.cond1.preheader
%mul5 = mul nsw i64 %i.03, 6
%mul6 = shl nsw i64 %j.02, 3
%add = add nsw i64 %mul5, %mul6
- %add7 = or i64 %add, 1
+ %add7 = or disjoint i64 %add, 1
%arrayidx8 = getelementptr inbounds i32, ptr %A, i64 %add7
%0 = load i32, ptr %arrayidx8, align 4
%incdec.ptr = getelementptr inbounds i32, ptr %B.addr.11, i64 1
@@ -142,7 +142,7 @@ for.body3: ; preds = %for.cond1.preheader
%mul = shl nsw i64 %i.03, 1
%mul4 = shl nsw i64 %j.02, 2
%sub = sub nsw i64 %mul, %mul4
- %add5 = or i64 %sub, 1
+ %add5 = or disjoint i64 %sub, 1
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %add5
store i32 %conv, ptr %arrayidx, align 4
%mul5 = mul nsw i64 %i.03, 6
@@ -384,7 +384,7 @@ for.body3: ; preds = %for.body3.preheader
%arrayidx5 = getelementptr inbounds i32, ptr %A, i64 %arrayidx.sum
store i32 %conv, ptr %arrayidx5, align 4
%mul6 = mul nsw i64 %j.03, 6
- %add7 = or i64 %mul6, 1
+ %add7 = or disjoint i64 %mul6, 1
%mul7 = shl nsw i64 %i.06, 3
%1 = mul nsw i64 %mul7, %n
%arrayidx8.sum = add i64 %1, %add7
@@ -464,7 +464,7 @@ for.body3: ; preds = %for.body3.preheader
store i32 %7, ptr %arrayidx6, align 4
%8 = trunc i64 %indvars.iv to i32
%mul7 = mul nsw i32 %8, 6
- %add7 = or i32 %mul7, 1
+ %add7 = or disjoint i32 %mul7, 1
%idxprom8 = sext i32 %add7 to i64
%9 = trunc i64 %indvars.iv8 to i32
%mul9 = shl nsw i32 %9, 3
@@ -548,7 +548,7 @@ for.body3: ; preds = %for.body3.preheader
%4 = trunc i64 %indvars.iv to i32
%mul8 = mul nsw i32 %4, 6
%add9 = add nsw i32 %mul7, %mul8
- %add10 = or i32 %add9, 1
+ %add10 = or disjoint i32 %add9, 1
%idxprom11 = sext i32 %add10 to i64
%arrayidx12 = getelementptr inbounds i32, ptr %A, i64 %idxprom11
%5 = load i32, ptr %arrayidx12, align 4
@@ -627,7 +627,7 @@ for.body3: ; preds = %for.body3.preheader
store i32 %7, ptr %arrayidx6, align 4
%8 = trunc i64 %indvars.iv to i32
%mul7 = mul i32 %8, 6
- %add7 = or i32 %mul7, 1
+ %add7 = or disjoint i32 %mul7, 1
%idxprom8 = zext i32 %add7 to i64
%9 = trunc i64 %indvars.iv8 to i32
%mul9 = shl i32 %9, 3
diff --git a/llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll b/llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
index 145117a..bfdd15f 100644
--- a/llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
+++ b/llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
@@ -65,7 +65,7 @@ for.body: ; preds = %entry, %for.body
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
%0 = trunc i64 %indvars.iv to i32
store i32 %0, ptr %arrayidx, align 4
- %1 = or i64 %indvars.iv, 3
+ %1 = or disjoint i64 %indvars.iv, 3
%arrayidx2 = getelementptr inbounds i32, ptr %A, i64 %1
%2 = load i32, ptr %arrayidx2, align 4
%add3 = add nsw i32 %2, %sum.013
@@ -99,7 +99,7 @@ for.body: ; preds = %entry, %for.body
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
%0 = trunc i64 %indvars.iv to i32
store i32 %0, ptr %arrayidx, align 4
- %1 = or i64 %indvars.iv, 1
+ %1 = or disjoint i64 %indvars.iv, 1
%arrayidx3 = getelementptr inbounds i32, ptr %A, i64 %1
%2 = trunc i64 %1 to i32
store i32 %2, ptr %arrayidx3, align 4
@@ -213,7 +213,7 @@ for.body: ; preds = %entry, %for.body
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
%0 = trunc i64 %indvars.iv to i32
store i32 %0, ptr %arrayidx, align 4
- %1 = or i64 %indvars.iv, 1
+ %1 = or disjoint i64 %indvars.iv, 1
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 2
%arrayidx3 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv.next
%2 = trunc i64 %1 to i32
@@ -328,7 +328,7 @@ for.body: ; preds = %entry, %for.body
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
%0 = trunc i64 %indvars.iv to i32
store i32 %0, ptr %arrayidx, align 4
- %1 = or i64 %indvars.iv, 1
+ %1 = or disjoint i64 %indvars.iv, 1
%arrayidx2 = getelementptr inbounds i32, ptr %add.ptr, i64 %indvars.iv
%2 = trunc i64 %1 to i32
store i32 %2, ptr %arrayidx2, align 4
@@ -525,7 +525,7 @@ for.body: ; preds = %entry, %for.body
%0 = trunc i64 %indvars.iv to i32
%arrayidx2 = getelementptr inbounds i32, ptr %incdec.ptr, i64 %indvars.iv
store i32 %0, ptr %arrayidx2, align 4
- %1 = or i64 %indvars.iv, 1
+ %1 = or disjoint i64 %indvars.iv, 1
%arrayidx5 = getelementptr inbounds i32, ptr %A, i64 %1
%2 = trunc i64 %1 to i32
store i32 %2, ptr %arrayidx5, align 4
diff --git a/llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll b/llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll
index bc308f2..60809fc 100644
--- a/llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll
+++ b/llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll
@@ -25,7 +25,7 @@ define void @foo(i32 %no, ptr nocapture %d, ptr nocapture %q) nounwind {
; CHECK-NEXT: --> {0,+,2}<nuw><nsw><%bb> U: [0,2147483645) S: [0,2147483645) Exits: (2 * ((1 + (zext i32 (-2 + (2 * (%no /u 2))<nuw>) to i64))<nuw><nsw> /u 2))<nuw><nsw> LoopDispositions: { %bb: Computable }
; CHECK-NEXT: %5 = getelementptr inbounds double, ptr %q, i64 %4
; CHECK-NEXT: --> {%q,+,16}<nuw><%bb> U: full-set S: full-set Exits: ((16 * ((1 + (zext i32 (-2 + (2 * (%no /u 2))<nuw>) to i64))<nuw><nsw> /u 2))<nuw><nsw> + %q) LoopDispositions: { %bb: Computable }
-; CHECK-NEXT: %7 = or i32 %i.01, 1
+; CHECK-NEXT: %7 = or disjoint i32 %i.01, 1
; CHECK-NEXT: --> {1,+,2}<nuw><nsw><%bb> U: [1,2147483646) S: [1,2147483646) Exits: (1 + (2 * ((-1 + (2 * (%no /u 2))<nuw>) /u 2))<nuw>)<nuw><nsw> LoopDispositions: { %bb: Computable }
; CHECK-NEXT: %8 = sext i32 %7 to i64
; CHECK-NEXT: --> {1,+,2}<nuw><nsw><%bb> U: [1,2147483646) S: [1,2147483646) Exits: (1 + (2 * ((1 + (zext i32 (-2 + (2 * (%no /u 2))<nuw>) to i64))<nuw><nsw> /u 2))<nuw><nsw>)<nuw><nsw> LoopDispositions: { %bb: Computable }
@@ -71,7 +71,7 @@ bb: ; preds = %bb.nph, %bb1
%4 = sext i32 %i.01 to i64 ; <i64> [#uses=1]
%5 = getelementptr inbounds double, ptr %q, i64 %4 ; <ptr> [#uses=1]
%6 = load double, ptr %5, align 8 ; <double> [#uses=1]
- %7 = or i32 %i.01, 1 ; <i32> [#uses=1]
+ %7 = or disjoint i32 %i.01, 1 ; <i32> [#uses=1]
%8 = sext i32 %7 to i64 ; <i64> [#uses=1]
diff --git a/llvm/test/Analysis/ScalarEvolution/nsw-offset.ll b/llvm/test/Analysis/ScalarEvolution/nsw-offset.ll
index 51b8db6..fab408e 100644
--- a/llvm/test/Analysis/ScalarEvolution/nsw-offset.ll
+++ b/llvm/test/Analysis/ScalarEvolution/nsw-offset.ll
@@ -22,7 +22,7 @@ define void @foo(i32 %no, ptr nocapture %d, ptr nocapture %q) nounwind {
; CHECK-NEXT: --> {0,+,2}<nuw><nsw><%bb> U: [0,2147483645) S: [0,2147483645) Exits: (2 * ((1 + (zext i32 (-2 + (2 * (%no /u 2))<nuw>) to i64))<nuw><nsw> /u 2))<nuw><nsw> LoopDispositions: { %bb: Computable }
; CHECK-NEXT: %5 = getelementptr inbounds double, ptr %q, i64 %4
; CHECK-NEXT: --> {%q,+,16}<nuw><%bb> U: full-set S: full-set Exits: ((16 * ((1 + (zext i32 (-2 + (2 * (%no /u 2))<nuw>) to i64))<nuw><nsw> /u 2))<nuw><nsw> + %q) LoopDispositions: { %bb: Computable }
-; CHECK-NEXT: %7 = or i32 %i.01, 1
+; CHECK-NEXT: %7 = or disjoint i32 %i.01, 1
; CHECK-NEXT: --> {1,+,2}<nuw><nsw><%bb> U: [1,2147483646) S: [1,2147483646) Exits: (1 + (2 * ((-1 + (2 * (%no /u 2))<nuw>) /u 2))<nuw>)<nuw><nsw> LoopDispositions: { %bb: Computable }
; CHECK-NEXT: %8 = sext i32 %7 to i64
; CHECK-NEXT: --> {1,+,2}<nuw><nsw><%bb> U: [1,2147483646) S: [1,2147483646) Exits: (1 + (2 * ((1 + (zext i32 (-2 + (2 * (%no /u 2))<nuw>) to i64))<nuw><nsw> /u 2))<nuw><nsw>)<nuw><nsw> LoopDispositions: { %bb: Computable }
@@ -67,7 +67,7 @@ bb: ; preds = %bb.nph, %bb1
%4 = sext i32 %i.01 to i64 ; <i64> [#uses=1]
%5 = getelementptr inbounds double, ptr %q, i64 %4 ; <ptr> [#uses=1]
%6 = load double, ptr %5, align 8 ; <double> [#uses=1]
- %7 = or i32 %i.01, 1 ; <i32> [#uses=1]
+ %7 = or disjoint i32 %i.01, 1 ; <i32> [#uses=1]
%8 = sext i32 %7 to i64 ; <i64> [#uses=1]
diff --git a/llvm/test/Analysis/ScalarEvolution/sext-mul.ll b/llvm/test/Analysis/ScalarEvolution/sext-mul.ll
index a31789c..2340d5c 100644
--- a/llvm/test/Analysis/ScalarEvolution/sext-mul.ll
+++ b/llvm/test/Analysis/ScalarEvolution/sext-mul.ll
@@ -18,7 +18,7 @@ define void @foo(ptr nocapture %arg, i32 %arg1, i32 %arg2) {
; CHECK-NEXT: --> %tmp12 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %bb7: Variant }
; CHECK-NEXT: %tmp13 = sub nsw i32 %tmp12, %arg1
; CHECK-NEXT: --> ((-1 * %arg1) + %tmp12) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %bb7: Variant }
-; CHECK-NEXT: %tmp14 = or i64 %tmp10, 1
+; CHECK-NEXT: %tmp14 = or disjoint i64 %tmp10, 1
; CHECK-NEXT: --> (1 + (sext i32 {0,+,2}<%bb7> to i64))<nuw><nsw> U: [1,0) S: [-2147483647,2147483648) Exits: (1 + (sext i32 (-2 + (2 * %arg2)) to i64))<nuw><nsw> LoopDispositions: { %bb7: Computable }
; CHECK-NEXT: %tmp15 = getelementptr inbounds i32, ptr %arg, i64 %tmp14
; CHECK-NEXT: --> (4 + (4 * (sext i32 {0,+,2}<%bb7> to i64))<nsw> + %arg) U: full-set S: full-set Exits: (4 + (4 * (sext i32 (-2 + (2 * %arg2)) to i64))<nsw> + %arg) LoopDispositions: { %bb7: Computable }
@@ -58,7 +58,7 @@ bb7: ; preds = %bb7, %bb3
%tmp12 = load i32, ptr %tmp11, align 4
%tmp13 = sub nsw i32 %tmp12, %arg1
store i32 %tmp13, ptr %tmp11, align 4
- %tmp14 = or i64 %tmp10, 1
+ %tmp14 = or disjoint i64 %tmp10, 1
%tmp15 = getelementptr inbounds i32, ptr %arg, i64 %tmp14
%tmp16 = load i32, ptr %tmp15, align 4
%tmp17 = mul nsw i32 %tmp16, %arg1
@@ -85,7 +85,7 @@ define void @goo(ptr nocapture %arg3, i32 %arg4, i32 %arg5) {
; CHECK-NEXT: --> %t12 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %bb7: Variant }
; CHECK-NEXT: %t13 = sub nsw i32 %t12, %arg4
; CHECK-NEXT: --> ((-1 * %arg4) + %t12) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %bb7: Variant }
-; CHECK-NEXT: %t14 = or i128 %t10, 1
+; CHECK-NEXT: %t14 = or disjoint i128 %t10, 1
; CHECK-NEXT: --> (1 + (sext i127 {0,+,633825300114114700748351602688}<%bb7> to i128))<nuw><nsw> U: [1,-633825300114114700748351602686) S: [-85070591730234615865843651857942052863,85070591096409315751728951109590450178) Exits: (1 + (sext i127 (-633825300114114700748351602688 + (633825300114114700748351602688 * (zext i32 %arg5 to i127))) to i128))<nuw><nsw> LoopDispositions: { %bb7: Computable }
; CHECK-NEXT: %t15 = getelementptr inbounds i32, ptr %arg3, i128 %t14
; CHECK-NEXT: --> (4 + %arg3)<nuw> U: [4,0) S: [4,0) Exits: (4 + %arg3)<nuw> LoopDispositions: { %bb7: Invariant }
@@ -125,7 +125,7 @@ bb7: ; preds = %bb7, %bb3
%t12 = load i32, ptr %t11, align 4
%t13 = sub nsw i32 %t12, %arg4
store i32 %t13, ptr %t11, align 4
- %t14 = or i128 %t10, 1
+ %t14 = or disjoint i128 %t10, 1
%t15 = getelementptr inbounds i32, ptr %arg3, i128 %t14
%t16 = load i32, ptr %t15, align 4
%t17 = mul nsw i32 %t16, %arg4