Skip to content

Commit eecb99c

Browse files
committed
[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.
1 parent 21b9866 commit eecb99c

File tree

96 files changed

+627
-627
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+627
-627
lines changed

llvm/test/Analysis/CostModel/X86/interleaved-load-half.ll

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,55 +33,55 @@ for.body: ; preds = %for.body.lr.ph, %fo
3333
%1 = load half, ptr %arrayidx2, align 4
3434
%add3 = fadd fast half %1, %mul
3535
store half %add3, ptr %arrayidx2, align 4
36-
%add4 = or i32 %i.073, 1
36+
%add4 = or disjoint i32 %i.073, 1
3737
%arrayidx5 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add4
3838
%2 = load half, ptr %arrayidx5, align 4
3939
%mul6 = fmul fast half %2, %k
4040
%arrayidx8 = getelementptr inbounds [120 x half], ptr @dst, i32 0, i32 %add4
4141
%3 = load half, ptr %arrayidx8, align 4
4242
%add9 = fadd fast half %3, %mul6
4343
store half %add9, ptr %arrayidx8, align 4
44-
%add10 = or i32 %i.073, 2
44+
%add10 = or disjoint i32 %i.073, 2
4545
%arrayidx11 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add10
4646
%4 = load half, ptr %arrayidx11, align 4
4747
%mul12 = fmul fast half %4, %k
4848
%arrayidx14 = getelementptr inbounds [120 x half], ptr @dst, i32 0, i32 %add10
4949
%5 = load half, ptr %arrayidx14, align 4
5050
%add15 = fadd fast half %5, %mul12
5151
store half %add15, ptr %arrayidx14, align 4
52-
%add16 = or i32 %i.073, 3
52+
%add16 = or disjoint i32 %i.073, 3
5353
%arrayidx17 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add16
5454
%6 = load half, ptr %arrayidx17, align 4
5555
%mul18 = fmul fast half %6, %k
5656
%arrayidx20 = getelementptr inbounds [120 x half], ptr @dst, i32 0, i32 %add16
5757
%7 = load half, ptr %arrayidx20, align 4
5858
%add21 = fadd fast half %7, %mul18
5959
store half %add21, ptr %arrayidx20, align 4
60-
%add22 = or i32 %i.073, 4
60+
%add22 = or disjoint i32 %i.073, 4
6161
%arrayidx23 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add22
6262
%8 = load half, ptr %arrayidx23, align 4
6363
%mul24 = fmul fast half %8, %k
6464
%arrayidx26 = getelementptr inbounds [120 x half], ptr @dst, i32 0, i32 %add22
6565
%9 = load half, ptr %arrayidx26, align 4
6666
%add27 = fadd fast half %9, %mul24
6767
store half %add27, ptr %arrayidx26, align 4
68-
%add28 = or i32 %i.073, 5
68+
%add28 = or disjoint i32 %i.073, 5
6969
%arrayidx29 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add28
7070
%10 = load half, ptr %arrayidx29, align 4
7171
%mul30 = fmul fast half %10, %k
7272
%arrayidx32 = getelementptr inbounds [120 x half], ptr @dst, i32 0, i32 %add28
7373
%11 = load half, ptr %arrayidx32, align 4
7474
%add33 = fadd fast half %11, %mul30
7575
store half %add33, ptr %arrayidx32, align 4
76-
%add34 = or i32 %i.073, 6
76+
%add34 = or disjoint i32 %i.073, 6
7777
%arrayidx35 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add34
7878
%12 = load half, ptr %arrayidx35, align 4
7979
%mul36 = fmul fast half %12, %k
8080
%arrayidx38 = getelementptr inbounds [120 x half], ptr @dst, i32 0, i32 %add34
8181
%13 = load half, ptr %arrayidx38, align 4
8282
%add39 = fadd fast half %13, %mul36
8383
store half %add39, ptr %arrayidx38, align 4
84-
%add40 = or i32 %i.073, 7
84+
%add40 = or disjoint i32 %i.073, 7
8585
%arrayidx41 = getelementptr inbounds [120 x half], ptr @src, i32 0, i32 %add40
8686
%14 = load half, ptr %arrayidx41, align 4
8787
%mul42 = fmul fast half %14, %k

llvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ for.body:
5151
%i1 = shl nuw nsw i64 %indvars.iv, 2
5252
%arrayidx2 = getelementptr inbounds i16, ptr %points, i64 %i1
5353
%i2 = load i16, ptr %arrayidx2, align 2
54-
%i3 = or i64 %i1, 1
54+
%i3 = or disjoint i64 %i1, 1
5555
%arrayidx7 = getelementptr inbounds i16, ptr %points, i64 %i3
5656
%i4 = load i16, ptr %arrayidx7, align 2
5757
%arrayidx = getelementptr inbounds i16, ptr %x, i64 %indvars.iv
@@ -113,7 +113,7 @@ for.body:
113113
%i1 = shl nuw nsw i64 %indvars.iv, 2
114114
%arrayidx2 = getelementptr inbounds i16, ptr %points, i64 %i1
115115
%i2 = load i16, ptr %arrayidx2, align 2
116-
%i3 = or i64 %i1, 1
116+
%i3 = or disjoint i64 %i1, 1
117117
%arrayidx7 = getelementptr inbounds i16, ptr %points, i64 %i3
118118
%i4 = load i16, ptr %arrayidx7, align 2
119119
%arrayidx = getelementptr inbounds i16, ptr %x, i64 %indvars.iv

llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ for.body:
5555
store i16 %0, ptr %arrayidx2, align 2
5656
%arrayidx4 = getelementptr inbounds i16, ptr %y, i64 %indvars.iv
5757
%2 = load i16, ptr %arrayidx4, align 2
58-
%3 = or i64 %1, 1
58+
%3 = or disjoint i64 %1, 1
5959
%arrayidx7 = getelementptr inbounds i16, ptr %points, i64 %3
6060
store i16 %2, ptr %arrayidx7, align 2
6161
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
@@ -117,7 +117,7 @@ for.body:
117117
store i16 %0, ptr %arrayidx2, align 2
118118
%arrayidx4 = getelementptr inbounds i16, ptr %y, i64 %indvars.iv
119119
%2 = load i16, ptr %arrayidx4, align 2
120-
%3 = or i64 %1, 1
120+
%3 = or disjoint i64 %1, 1
121121
%arrayidx7 = getelementptr inbounds i16, ptr %points, i64 %3
122122
store i16 %2, ptr %arrayidx7, align 2
123123
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1

llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ for.body4: ; preds = %for.body4.preheader
4040
%j.02 = phi i64 [ %inc9, %for.body4 ], [ 0, %for.body4.preheader ]
4141
%B.addr.01 = phi ptr [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ]
4242
%mul5 = shl nsw i64 %j.02, 1
43-
%add64 = or i64 %mul5, 1
43+
%add64 = or disjoint i64 %mul5, 1
4444
%arrayidx7 = getelementptr inbounds i32, ptr %A, i64 %add64
4545
%0 = load i32, ptr %arrayidx7, align 4
4646
%incdec.ptr = getelementptr inbounds i32, ptr %B.addr.01, i64 1

llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ for.body: ; preds = %entry, %for.body
2929
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %add
3030
store i32 %conv, ptr %arrayidx, align 4
3131
%mul = shl i64 %i.02, 1
32-
%add13 = or i64 %mul, 1
32+
%add13 = or disjoint i64 %mul, 1
3333
%arrayidx2 = getelementptr inbounds i32, ptr %A, i64 %add13
3434
%0 = load i32, ptr %arrayidx2, align 4
3535
%incdec.ptr = getelementptr inbounds i32, ptr %B.addr.01, i64 1
@@ -68,7 +68,7 @@ for.body: ; preds = %entry, %for.body
6868
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %add
6969
store i32 %conv, ptr %arrayidx, align 4
7070
%mul1 = shl i64 %i.02, 1
71-
%add23 = or i64 %mul1, 1
71+
%add23 = or disjoint i64 %mul1, 1
7272
%arrayidx3 = getelementptr inbounds i32, ptr %A, i64 %add23
7373
%0 = load i32, ptr %arrayidx3, align 4
7474
%incdec.ptr = getelementptr inbounds i32, ptr %B.addr.01, i64 1

llvm/test/Analysis/DependenceAnalysis/GCD.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ for.body3: ; preds = %for.cond1.preheader
9393
%mul5 = mul nsw i64 %i.03, 6
9494
%mul6 = shl nsw i64 %j.02, 3
9595
%add = add nsw i64 %mul5, %mul6
96-
%add7 = or i64 %add, 1
96+
%add7 = or disjoint i64 %add, 1
9797
%arrayidx8 = getelementptr inbounds i32, ptr %A, i64 %add7
9898
%0 = load i32, ptr %arrayidx8, align 4
9999
%incdec.ptr = getelementptr inbounds i32, ptr %B.addr.11, i64 1
@@ -142,7 +142,7 @@ for.body3: ; preds = %for.cond1.preheader
142142
%mul = shl nsw i64 %i.03, 1
143143
%mul4 = shl nsw i64 %j.02, 2
144144
%sub = sub nsw i64 %mul, %mul4
145-
%add5 = or i64 %sub, 1
145+
%add5 = or disjoint i64 %sub, 1
146146
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %add5
147147
store i32 %conv, ptr %arrayidx, align 4
148148
%mul5 = mul nsw i64 %i.03, 6
@@ -384,7 +384,7 @@ for.body3: ; preds = %for.body3.preheader
384384
%arrayidx5 = getelementptr inbounds i32, ptr %A, i64 %arrayidx.sum
385385
store i32 %conv, ptr %arrayidx5, align 4
386386
%mul6 = mul nsw i64 %j.03, 6
387-
%add7 = or i64 %mul6, 1
387+
%add7 = or disjoint i64 %mul6, 1
388388
%mul7 = shl nsw i64 %i.06, 3
389389
%1 = mul nsw i64 %mul7, %n
390390
%arrayidx8.sum = add i64 %1, %add7
@@ -464,7 +464,7 @@ for.body3: ; preds = %for.body3.preheader
464464
store i32 %7, ptr %arrayidx6, align 4
465465
%8 = trunc i64 %indvars.iv to i32
466466
%mul7 = mul nsw i32 %8, 6
467-
%add7 = or i32 %mul7, 1
467+
%add7 = or disjoint i32 %mul7, 1
468468
%idxprom8 = sext i32 %add7 to i64
469469
%9 = trunc i64 %indvars.iv8 to i32
470470
%mul9 = shl nsw i32 %9, 3
@@ -548,7 +548,7 @@ for.body3: ; preds = %for.body3.preheader
548548
%4 = trunc i64 %indvars.iv to i32
549549
%mul8 = mul nsw i32 %4, 6
550550
%add9 = add nsw i32 %mul7, %mul8
551-
%add10 = or i32 %add9, 1
551+
%add10 = or disjoint i32 %add9, 1
552552
%idxprom11 = sext i32 %add10 to i64
553553
%arrayidx12 = getelementptr inbounds i32, ptr %A, i64 %idxprom11
554554
%5 = load i32, ptr %arrayidx12, align 4
@@ -627,7 +627,7 @@ for.body3: ; preds = %for.body3.preheader
627627
store i32 %7, ptr %arrayidx6, align 4
628628
%8 = trunc i64 %indvars.iv to i32
629629
%mul7 = mul i32 %8, 6
630-
%add7 = or i32 %mul7, 1
630+
%add7 = or disjoint i32 %mul7, 1
631631
%idxprom8 = zext i32 %add7 to i64
632632
%9 = trunc i64 %indvars.iv8 to i32
633633
%mul9 = shl i32 %9, 3

llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ for.body: ; preds = %entry, %for.body
6565
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
6666
%0 = trunc i64 %indvars.iv to i32
6767
store i32 %0, ptr %arrayidx, align 4
68-
%1 = or i64 %indvars.iv, 3
68+
%1 = or disjoint i64 %indvars.iv, 3
6969
%arrayidx2 = getelementptr inbounds i32, ptr %A, i64 %1
7070
%2 = load i32, ptr %arrayidx2, align 4
7171
%add3 = add nsw i32 %2, %sum.013
@@ -99,7 +99,7 @@ for.body: ; preds = %entry, %for.body
9999
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
100100
%0 = trunc i64 %indvars.iv to i32
101101
store i32 %0, ptr %arrayidx, align 4
102-
%1 = or i64 %indvars.iv, 1
102+
%1 = or disjoint i64 %indvars.iv, 1
103103
%arrayidx3 = getelementptr inbounds i32, ptr %A, i64 %1
104104
%2 = trunc i64 %1 to i32
105105
store i32 %2, ptr %arrayidx3, align 4
@@ -213,7 +213,7 @@ for.body: ; preds = %entry, %for.body
213213
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
214214
%0 = trunc i64 %indvars.iv to i32
215215
store i32 %0, ptr %arrayidx, align 4
216-
%1 = or i64 %indvars.iv, 1
216+
%1 = or disjoint i64 %indvars.iv, 1
217217
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 2
218218
%arrayidx3 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv.next
219219
%2 = trunc i64 %1 to i32
@@ -328,7 +328,7 @@ for.body: ; preds = %entry, %for.body
328328
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
329329
%0 = trunc i64 %indvars.iv to i32
330330
store i32 %0, ptr %arrayidx, align 4
331-
%1 = or i64 %indvars.iv, 1
331+
%1 = or disjoint i64 %indvars.iv, 1
332332
%arrayidx2 = getelementptr inbounds i32, ptr %add.ptr, i64 %indvars.iv
333333
%2 = trunc i64 %1 to i32
334334
store i32 %2, ptr %arrayidx2, align 4
@@ -525,7 +525,7 @@ for.body: ; preds = %entry, %for.body
525525
%0 = trunc i64 %indvars.iv to i32
526526
%arrayidx2 = getelementptr inbounds i32, ptr %incdec.ptr, i64 %indvars.iv
527527
store i32 %0, ptr %arrayidx2, align 4
528-
%1 = or i64 %indvars.iv, 1
528+
%1 = or disjoint i64 %indvars.iv, 1
529529
%arrayidx5 = getelementptr inbounds i32, ptr %A, i64 %1
530530
%2 = trunc i64 %1 to i32
531531
store i32 %2, ptr %arrayidx5, align 4

llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ define void @foo(i32 %no, ptr nocapture %d, ptr nocapture %q) nounwind {
2525
; 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 }
2626
; CHECK-NEXT: %5 = getelementptr inbounds double, ptr %q, i64 %4
2727
; 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 }
28-
; CHECK-NEXT: %7 = or i32 %i.01, 1
28+
; CHECK-NEXT: %7 = or disjoint i32 %i.01, 1
2929
; 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 }
3030
; CHECK-NEXT: %8 = sext i32 %7 to i64
3131
; 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
7171
%4 = sext i32 %i.01 to i64 ; <i64> [#uses=1]
7272
%5 = getelementptr inbounds double, ptr %q, i64 %4 ; <ptr> [#uses=1]
7373
%6 = load double, ptr %5, align 8 ; <double> [#uses=1]
74-
%7 = or i32 %i.01, 1 ; <i32> [#uses=1]
74+
%7 = or disjoint i32 %i.01, 1 ; <i32> [#uses=1]
7575

7676
%8 = sext i32 %7 to i64 ; <i64> [#uses=1]
7777

llvm/test/Analysis/ScalarEvolution/nsw-offset.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ define void @foo(i32 %no, ptr nocapture %d, ptr nocapture %q) nounwind {
2222
; 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 }
2323
; CHECK-NEXT: %5 = getelementptr inbounds double, ptr %q, i64 %4
2424
; 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 }
25-
; CHECK-NEXT: %7 = or i32 %i.01, 1
25+
; CHECK-NEXT: %7 = or disjoint i32 %i.01, 1
2626
; 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 }
2727
; CHECK-NEXT: %8 = sext i32 %7 to i64
2828
; 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
6767
%4 = sext i32 %i.01 to i64 ; <i64> [#uses=1]
6868
%5 = getelementptr inbounds double, ptr %q, i64 %4 ; <ptr> [#uses=1]
6969
%6 = load double, ptr %5, align 8 ; <double> [#uses=1]
70-
%7 = or i32 %i.01, 1 ; <i32> [#uses=1]
70+
%7 = or disjoint i32 %i.01, 1 ; <i32> [#uses=1]
7171

7272
%8 = sext i32 %7 to i64 ; <i64> [#uses=1]
7373

llvm/test/Analysis/ScalarEvolution/sext-mul.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ define void @foo(ptr nocapture %arg, i32 %arg1, i32 %arg2) {
1818
; CHECK-NEXT: --> %tmp12 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %bb7: Variant }
1919
; CHECK-NEXT: %tmp13 = sub nsw i32 %tmp12, %arg1
2020
; CHECK-NEXT: --> ((-1 * %arg1) + %tmp12) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %bb7: Variant }
21-
; CHECK-NEXT: %tmp14 = or i64 %tmp10, 1
21+
; CHECK-NEXT: %tmp14 = or disjoint i64 %tmp10, 1
2222
; 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 }
2323
; CHECK-NEXT: %tmp15 = getelementptr inbounds i32, ptr %arg, i64 %tmp14
2424
; 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
5858
%tmp12 = load i32, ptr %tmp11, align 4
5959
%tmp13 = sub nsw i32 %tmp12, %arg1
6060
store i32 %tmp13, ptr %tmp11, align 4
61-
%tmp14 = or i64 %tmp10, 1
61+
%tmp14 = or disjoint i64 %tmp10, 1
6262
%tmp15 = getelementptr inbounds i32, ptr %arg, i64 %tmp14
6363
%tmp16 = load i32, ptr %tmp15, align 4
6464
%tmp17 = mul nsw i32 %tmp16, %arg1
@@ -85,7 +85,7 @@ define void @goo(ptr nocapture %arg3, i32 %arg4, i32 %arg5) {
8585
; CHECK-NEXT: --> %t12 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %bb7: Variant }
8686
; CHECK-NEXT: %t13 = sub nsw i32 %t12, %arg4
8787
; CHECK-NEXT: --> ((-1 * %arg4) + %t12) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %bb7: Variant }
88-
; CHECK-NEXT: %t14 = or i128 %t10, 1
88+
; CHECK-NEXT: %t14 = or disjoint i128 %t10, 1
8989
; 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 }
9090
; CHECK-NEXT: %t15 = getelementptr inbounds i32, ptr %arg3, i128 %t14
9191
; 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
125125
%t12 = load i32, ptr %t11, align 4
126126
%t13 = sub nsw i32 %t12, %arg4
127127
store i32 %t13, ptr %t11, align 4
128-
%t14 = or i128 %t10, 1
128+
%t14 = or disjoint i128 %t10, 1
129129
%t15 = getelementptr inbounds i32, ptr %arg3, i128 %t14
130130
%t16 = load i32, ptr %t15, align 4
131131
%t17 = mul nsw i32 %t16, %arg4

llvm/test/CodeGen/AArch64/aarch64-sched-store.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,17 +56,17 @@ vector.body: ; preds = %vector.body, %entry
5656
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %array0, align 8
5757
%array2 = getelementptr inbounds double, ptr %array0, i64 2
5858
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %array2, align 8
59-
%index4 = or i64 %index, 4
59+
%index4 = or disjoint i64 %index, 4
6060
%array4 = getelementptr inbounds double, ptr %array, i64 %index4
6161
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %array4, align 8
6262
%array6 = getelementptr inbounds double, ptr %array4, i64 2
6363
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %array6, align 8
64-
%index8 = or i64 %index, 8
64+
%index8 = or disjoint i64 %index, 8
6565
%array8 = getelementptr inbounds double, ptr %array, i64 %index8
6666
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %array8, align 8
6767
%array10 = getelementptr inbounds double, ptr %array8, i64 2
6868
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %array10, align 8
69-
%index12 = or i64 %index, 12
69+
%index12 = or disjoint i64 %index, 12
7070
%array12 = getelementptr inbounds double, ptr %array, i64 %index12
7171
store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %array12, align 8
7272
%array14 = getelementptr inbounds double, ptr %array12, i64 2

0 commit comments

Comments
 (0)