Skip to content

Commit 8ff7d76

Browse files
committed
[AIEX] Enable chains across multiple blocks
1 parent e965286 commit 8ff7d76

File tree

3 files changed

+65
-45
lines changed

3 files changed

+65
-45
lines changed

llvm/lib/Target/AIE/AIEClusterBaseAddress.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ static cl::opt<bool> EnableChainsForVectorLdSt(
7272
"aie-chain-addr-vec-ldst", cl::Hidden, cl::init(true),
7373
cl::desc("Enable ptradd chaining for vector loads and stores."));
7474

75+
static cl::opt<bool> EnableChainsAcrossMultiBlocks(
76+
"aie-chain-addr-multi-block", cl::Hidden, cl::init(true),
77+
cl::desc("Enable ptradd chaining when Ptr is used across multiple MBBs."));
78+
7579
namespace {
7680

7781
LLT getLoadStoreType(const MachineInstr &MI) {
@@ -273,6 +277,10 @@ bool AIEClusterBaseAddress::shouldSkipChaining(
273277
if (Instrs.size() <= 1)
274278
return true;
275279

280+
// Chain MBB regardless.
281+
if (EnableChainsAcrossMultiBlocks)
282+
return false;
283+
276284
// If the base reg is used in any of the successive MBBs, then we don't
277285
// want to chain the corresponding ptr adds, since this would introduce a
278286
// COPY and increase reg pressure.

llvm/test/CodeGen/AIE/GlobalISel/cluster-base-address-multi-mbbs.mir

Lines changed: 55 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,18 @@ body: |
2727
; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C2]](s20)
2828
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD]](p0) :: (store (s32))
2929
; CHECK-NEXT: [[C3:%[0-9]+]]:_(s20) = G_CONSTANT i20 4
30-
; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C3]](s20)
30+
; CHECK-NEXT: [[C4:%[0-9]+]]:_(s20) = G_CONSTANT i20 -1
31+
; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD]], [[C4]](s20)
3132
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD1]](p0) :: (store (s32))
3233
; CHECK-NEXT: G_BR %bb.1
3334
; CHECK-NEXT: {{ $}}
3435
; CHECK-NEXT: bb.1:
35-
; CHECK-NEXT: [[C4:%[0-9]+]]:_(s20) = G_CONSTANT i20 19
36-
; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C4]](s20)
36+
; CHECK-NEXT: [[C5:%[0-9]+]]:_(s20) = G_CONSTANT i20 19
37+
; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C5]](s20)
3738
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD2]](p0) :: (store (s32))
38-
; CHECK-NEXT: [[C5:%[0-9]+]]:_(s20) = G_CONSTANT i20 42
39-
; CHECK-NEXT: [[C6:%[0-9]+]]:_(s20) = G_CONSTANT i20 23
40-
; CHECK-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD2]], [[C6]](s20)
39+
; CHECK-NEXT: [[C6:%[0-9]+]]:_(s20) = G_CONSTANT i20 42
40+
; CHECK-NEXT: [[C7:%[0-9]+]]:_(s20) = G_CONSTANT i20 23
41+
; CHECK-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD2]], [[C7]](s20)
4142
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD3]](p0) :: (store (s32))
4243
4344
bb.0.entry:
@@ -88,36 +89,39 @@ body: |
8889
; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD %InputPtr, [[C1]](s20)
8990
; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD]](p0) :: (store (s32))
9091
; CHECK-NEXT: [[C2:%[0-9]+]]:_(s20) = G_CONSTANT i20 2
91-
; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD %InputPtr, [[C2]](s20)
92+
; CHECK-NEXT: [[C3:%[0-9]+]]:_(s20) = G_CONSTANT i20 -2
93+
; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD]], [[C3]](s20)
9294
; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD1]](p0) :: (store (s32))
9395
; CHECK-NEXT: G_BRCOND [[COPY]](s32), %bb.2
9496
; CHECK-NEXT: G_BR %bb.1
9597
; CHECK-NEXT: {{ $}}
9698
; CHECK-NEXT: bb.1:
9799
; CHECK-NEXT: successors: %bb.3(0x80000000)
98100
; CHECK-NEXT: {{ $}}
99-
; CHECK-NEXT: [[C3:%[0-9]+]]:_(s20) = G_CONSTANT i20 5
100-
; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = G_PTR_ADD %InputPtr, [[C3]](s20)
101+
; CHECK-NEXT: [[C4:%[0-9]+]]:_(s20) = G_CONSTANT i20 5
102+
; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = G_PTR_ADD %InputPtr, [[C4]](s20)
101103
; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD2]](p0) :: (store (s32))
102-
; CHECK-NEXT: [[C4:%[0-9]+]]:_(s20) = G_CONSTANT i20 4
103-
; CHECK-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = G_PTR_ADD %InputPtr, [[C4]](s20)
104+
; CHECK-NEXT: [[C5:%[0-9]+]]:_(s20) = G_CONSTANT i20 4
105+
; CHECK-NEXT: [[C6:%[0-9]+]]:_(s20) = G_CONSTANT i20 -1
106+
; CHECK-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD2]], [[C6]](s20)
104107
; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD3]](p0) :: (store (s32))
105108
; CHECK-NEXT: G_BR %bb.3
106109
; CHECK-NEXT: {{ $}}
107110
; CHECK-NEXT: bb.2:
108111
; CHECK-NEXT: successors: %bb.3(0x80000000)
109112
; CHECK-NEXT: {{ $}}
110-
; CHECK-NEXT: [[C5:%[0-9]+]]:_(s20) = G_CONSTANT i20 4
111-
; CHECK-NEXT: [[PTR_ADD4:%[0-9]+]]:_(p0) = G_PTR_ADD %InputPtr, [[C5]](s20)
113+
; CHECK-NEXT: [[C7:%[0-9]+]]:_(s20) = G_CONSTANT i20 4
114+
; CHECK-NEXT: [[PTR_ADD4:%[0-9]+]]:_(p0) = G_PTR_ADD %InputPtr, [[C7]](s20)
112115
; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD4]](p0) :: (store (s32))
113-
; CHECK-NEXT: [[C6:%[0-9]+]]:_(s20) = G_CONSTANT i20 2
114-
; CHECK-NEXT: [[PTR_ADD5:%[0-9]+]]:_(p0) = G_PTR_ADD %InputPtr, [[C6]](s20)
116+
; CHECK-NEXT: [[C8:%[0-9]+]]:_(s20) = G_CONSTANT i20 2
117+
; CHECK-NEXT: [[C9:%[0-9]+]]:_(s20) = G_CONSTANT i20 -2
118+
; CHECK-NEXT: [[PTR_ADD5:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD4]], [[C9]](s20)
115119
; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD5]](p0) :: (store (s32))
116120
; CHECK-NEXT: G_BR %bb.3
117121
; CHECK-NEXT: {{ $}}
118122
; CHECK-NEXT: bb.3:
119-
; CHECK-NEXT: [[C7:%[0-9]+]]:_(s20) = G_CONSTANT i20 19
120-
; CHECK-NEXT: [[PTR_ADD6:%[0-9]+]]:_(p0) = G_PTR_ADD %InputPtr, [[C7]](s20)
123+
; CHECK-NEXT: [[C10:%[0-9]+]]:_(s20) = G_CONSTANT i20 19
124+
; CHECK-NEXT: [[PTR_ADD6:%[0-9]+]]:_(p0) = G_PTR_ADD %InputPtr, [[C10]](s20)
121125
; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD6]](p0) :: (store (s32))
122126
123127
bb.0:
@@ -183,7 +187,8 @@ body: |
183187
; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C2]](s20)
184188
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD]](p0) :: (store (s32))
185189
; CHECK-NEXT: [[C3:%[0-9]+]]:_(s20) = G_CONSTANT i20 4
186-
; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C3]](s20)
190+
; CHECK-NEXT: [[C4:%[0-9]+]]:_(s20) = G_CONSTANT i20 -1
191+
; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD]], [[C4]](s20)
187192
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD1]](p0) :: (store (s32))
188193
; CHECK-NEXT: G_BR %bb.1
189194
; CHECK-NEXT: {{ $}}
@@ -192,12 +197,12 @@ body: |
192197
; CHECK-NEXT: {{ $}}
193198
; CHECK-NEXT: %Idx:_(s32) = G_PHI %Inc(s32), %bb.1, [[C1]](s32), %bb.0
194199
; CHECK-NEXT: %InPtr:_(p0) = G_PHI %LoopPtrMod(p0), %bb.1, [[COPY]](p0), %bb.0
195-
; CHECK-NEXT: [[C4:%[0-9]+]]:_(s20) = G_CONSTANT i20 19
196-
; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = G_PTR_ADD %InPtr, [[C4]](s20)
200+
; CHECK-NEXT: [[C5:%[0-9]+]]:_(s20) = G_CONSTANT i20 19
201+
; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = G_PTR_ADD %InPtr, [[C5]](s20)
197202
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD2]](p0) :: (store (s32))
198-
; CHECK-NEXT: [[C5:%[0-9]+]]:_(s20) = G_CONSTANT i20 6
199-
; CHECK-NEXT: [[C6:%[0-9]+]]:_(s20) = G_CONSTANT i20 -13
200-
; CHECK-NEXT: %LoopPtrMod:_(p0) = G_PTR_ADD [[PTR_ADD2]], [[C6]](s20)
203+
; CHECK-NEXT: [[C6:%[0-9]+]]:_(s20) = G_CONSTANT i20 6
204+
; CHECK-NEXT: [[C7:%[0-9]+]]:_(s20) = G_CONSTANT i20 -13
205+
; CHECK-NEXT: %LoopPtrMod:_(p0) = G_PTR_ADD [[PTR_ADD2]], [[C7]](s20)
201206
; CHECK-NEXT: G_STORE [[C1]](s32), %LoopPtrMod(p0) :: (store (s32))
202207
; CHECK-NEXT: %Inc:_(s32) = G_ADD %Idx, [[C]]
203208
; CHECK-NEXT: %BR_SEL:_(s1) = G_ICMP intpred(sle), %Idx(s32), %LoopBound
@@ -207,9 +212,9 @@ body: |
207212
; CHECK-NEXT: bb.2:
208213
; CHECK-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = G_PTR_ADD %LoopPtrMod, [[C2]](s20)
209214
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD3]](p0) :: (store (s32))
210-
; CHECK-NEXT: [[C7:%[0-9]+]]:_(s20) = G_CONSTANT i20 4
211-
; CHECK-NEXT: [[C8:%[0-9]+]]:_(s20) = G_CONSTANT i20 -1
212-
; CHECK-NEXT: [[PTR_ADD4:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD3]], [[C8]](s20)
215+
; CHECK-NEXT: [[C8:%[0-9]+]]:_(s20) = G_CONSTANT i20 4
216+
; CHECK-NEXT: [[C9:%[0-9]+]]:_(s20) = G_CONSTANT i20 -1
217+
; CHECK-NEXT: [[PTR_ADD4:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD3]], [[C9]](s20)
213218
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD4]](p0) :: (store (s32))
214219
215220
bb.0.entry:
@@ -295,10 +300,12 @@ body: |
295300
; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C4]](s20)
296301
; CHECK-NEXT: G_STORE [[COPY1]](s32), [[PTR_ADD2]](p0) :: (store (s32))
297302
; CHECK-NEXT: [[C5:%[0-9]+]]:_(s20) = G_CONSTANT i20 20
298-
; CHECK-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C5]](s20)
303+
; CHECK-NEXT: [[C6:%[0-9]+]]:_(s20) = G_CONSTANT i20 1
304+
; CHECK-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD2]], [[C6]](s20)
299305
; CHECK-NEXT: G_STORE [[COPY1]](s32), [[PTR_ADD3]](p0) :: (store (s32))
300-
; CHECK-NEXT: [[C6:%[0-9]+]]:_(s20) = G_CONSTANT i20 12
301-
; CHECK-NEXT: [[PTR_ADD4:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C6]](s20)
306+
; CHECK-NEXT: [[C7:%[0-9]+]]:_(s20) = G_CONSTANT i20 12
307+
; CHECK-NEXT: [[C8:%[0-9]+]]:_(s20) = G_CONSTANT i20 -8
308+
; CHECK-NEXT: [[PTR_ADD4:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD3]], [[C8]](s20)
302309
; CHECK-NEXT: G_STORE [[COPY1]](s32), [[PTR_ADD4]](p0) :: (store (s32))
303310
; CHECK-NEXT: G_BR %bb.3
304311
; CHECK-NEXT: {{ $}}
@@ -309,7 +316,8 @@ body: |
309316
; CHECK-NEXT: %B13:_(p0) = G_PTR_ADD [[COPY]], %B12(s20)
310317
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B13(p0) :: (store (s32))
311318
; CHECK-NEXT: %B14:_(s20) = G_CONSTANT i20 20
312-
; CHECK-NEXT: %B15:_(p0) = G_PTR_ADD [[COPY]], %B14(s20)
319+
; CHECK-NEXT: [[C9:%[0-9]+]]:_(s20) = G_CONSTANT i20 1
320+
; CHECK-NEXT: %B15:_(p0) = G_PTR_ADD %B13, [[C9]](s20)
313321
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B15(p0) :: (store (s32))
314322
; CHECK-NEXT: G_BR %bb.3
315323
; CHECK-NEXT: {{ $}}
@@ -326,10 +334,12 @@ body: |
326334
; CHECK-NEXT: %B413:_(p0) = G_PTR_ADD [[COPY]], %B412(s20)
327335
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B413(p0) :: (store (s32))
328336
; CHECK-NEXT: %B414:_(s20) = G_CONSTANT i20 20
329-
; CHECK-NEXT: %B415:_(p0) = G_PTR_ADD [[COPY]], %B414(s20)
337+
; CHECK-NEXT: [[C10:%[0-9]+]]:_(s20) = G_CONSTANT i20 1
338+
; CHECK-NEXT: %B415:_(p0) = G_PTR_ADD %B413, [[C10]](s20)
330339
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B415(p0) :: (store (s32))
331340
; CHECK-NEXT: %B416:_(s20) = G_CONSTANT i20 12
332-
; CHECK-NEXT: %B417:_(p0) = G_PTR_ADD [[COPY]], %B416(s20)
341+
; CHECK-NEXT: [[C11:%[0-9]+]]:_(s20) = G_CONSTANT i20 -8
342+
; CHECK-NEXT: %B417:_(p0) = G_PTR_ADD %B415, [[C11]](s20)
333343
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B417(p0) :: (store (s32))
334344
; CHECK-NEXT: G_BR %bb.5
335345
; CHECK-NEXT: {{ $}}
@@ -338,8 +348,8 @@ body: |
338348
; CHECK-NEXT: %B513:_(p0) = G_PTR_ADD [[COPY]], %B512(s20)
339349
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B513(p0) :: (store (s32))
340350
; CHECK-NEXT: %B514:_(s20) = G_CONSTANT i20 20
341-
; CHECK-NEXT: [[C7:%[0-9]+]]:_(s20) = G_CONSTANT i20 1
342-
; CHECK-NEXT: %B515:_(p0) = G_PTR_ADD %B513, [[C7]](s20)
351+
; CHECK-NEXT: [[C12:%[0-9]+]]:_(s20) = G_CONSTANT i20 1
352+
; CHECK-NEXT: %B515:_(p0) = G_PTR_ADD %B513, [[C12]](s20)
343353
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B515(p0) :: (store (s32))
344354
bb.0:
345355
successors: %bb.2, %bb.1
@@ -559,27 +569,29 @@ body: |
559569
; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = nuw G_PTR_ADD [[DEF]], [[C2]](s20)
560570
; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD]](p0) :: (volatile dereferenceable load (s32))
561571
; CHECK-NEXT: [[C3:%[0-9]+]]:_(s20) = G_CONSTANT i20 32
562-
; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[DEF]], [[C3]](s20)
572+
; CHECK-NEXT: [[C4:%[0-9]+]]:_(s20) = G_CONSTANT i20 4
573+
; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD]], [[C4]](s20)
563574
; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD1]](p0) :: (volatile dereferenceable load (s32))
564-
; CHECK-NEXT: [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
565-
; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C4]]
575+
; CHECK-NEXT: [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
576+
; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C5]]
566577
; CHECK-NEXT: G_BRCOND [[AND1]](s32), %bb.1
567578
; CHECK-NEXT: G_BR %bb.4
568579
; CHECK-NEXT: {{ $}}
569580
; CHECK-NEXT: bb.3:
570581
; CHECK-NEXT: successors: %bb.4(0x80000000)
571582
; CHECK-NEXT: {{ $}}
572-
; CHECK-NEXT: [[C5:%[0-9]+]]:_(s20) = G_CONSTANT i20 28
573-
; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = nuw G_PTR_ADD [[DEF]], [[C5]](s20)
583+
; CHECK-NEXT: [[C6:%[0-9]+]]:_(s20) = G_CONSTANT i20 28
584+
; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = nuw G_PTR_ADD [[DEF]], [[C6]](s20)
574585
; CHECK-NEXT: [[LOAD2:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD2]](p0) :: (volatile dereferenceable load (s32))
575-
; CHECK-NEXT: [[C6:%[0-9]+]]:_(s20) = G_CONSTANT i20 32
576-
; CHECK-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = G_PTR_ADD [[DEF]], [[C6]](s20)
586+
; CHECK-NEXT: [[C7:%[0-9]+]]:_(s20) = G_CONSTANT i20 32
587+
; CHECK-NEXT: [[C8:%[0-9]+]]:_(s20) = G_CONSTANT i20 4
588+
; CHECK-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD2]], [[C8]](s20)
577589
; CHECK-NEXT: [[LOAD3:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD3]](p0) :: (volatile dereferenceable load (s32))
578590
; CHECK-NEXT: {{ $}}
579591
; CHECK-NEXT: bb.4:
580592
; CHECK-NEXT: [[LOAD4:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p0) :: (volatile dereferenceable load (s32))
581-
; CHECK-NEXT: [[C7:%[0-9]+]]:_(s20) = G_CONSTANT i20 4
582-
; CHECK-NEXT: [[PTR_ADD4:%[0-9]+]]:_(p0) = G_PTR_ADD [[DEF]], [[C7]](s20)
593+
; CHECK-NEXT: [[C9:%[0-9]+]]:_(s20) = G_CONSTANT i20 4
594+
; CHECK-NEXT: [[PTR_ADD4:%[0-9]+]]:_(p0) = G_PTR_ADD [[DEF]], [[C9]](s20)
583595
; CHECK-NEXT: [[LOAD5:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD4]](p0) :: (volatile dereferenceable load (s32))
584596
; CHECK-NEXT: $r0 = COPY [[C]](s32)
585597
; CHECK-NEXT: PseudoRET implicit $lr, implicit $r0

llvm/test/CodeGen/AIE/aie2p/combine-loads-stores.mir

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1008,9 +1008,9 @@ body: |
10081008
; CHECK-NEXT: {{ $}}
10091009
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $p0
10101010
; CHECK-NEXT: [[C:%[0-9]+]]:_(s20) = G_CONSTANT i20 64
1011-
; CHECK-NEXT: [[C1:%[0-9]+]]:_(s20) = G_CONSTANT i20 64
10121011
; CHECK-NEXT: [[AIE_POSTINC_LOAD:%[0-9]+]]:_(s32), [[AIE_POSTINC_LOAD1:%[0-9]+]]:_(p0) = G_AIE_POSTINC_LOAD [[COPY]], [[C]](s20) :: (load (s32))
1013-
; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s20)
1012+
; CHECK-NEXT: [[C1:%[0-9]+]]:_(s20) = G_CONSTANT i20 0
1013+
; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[AIE_POSTINC_LOAD1]], [[C1]](s20)
10141014
; CHECK-NEXT: $r0 = COPY [[AIE_POSTINC_LOAD]](s32)
10151015
; CHECK-NEXT: {{ $}}
10161016
; CHECK-NEXT: bb.1:

0 commit comments

Comments
 (0)