@@ -27,17 +27,18 @@ body: |
27
27
; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C2]](s20)
28
28
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD]](p0) :: (store (s32))
29
29
; 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)
31
32
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD1]](p0) :: (store (s32))
32
33
; CHECK-NEXT: G_BR %bb.1
33
34
; CHECK-NEXT: {{ $}}
34
35
; 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)
37
38
; 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)
41
42
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD3]](p0) :: (store (s32))
42
43
43
44
bb.0.entry:
@@ -88,36 +89,39 @@ body: |
88
89
; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD %InputPtr, [[C1]](s20)
89
90
; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD]](p0) :: (store (s32))
90
91
; 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)
92
94
; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD1]](p0) :: (store (s32))
93
95
; CHECK-NEXT: G_BRCOND [[COPY]](s32), %bb.2
94
96
; CHECK-NEXT: G_BR %bb.1
95
97
; CHECK-NEXT: {{ $}}
96
98
; CHECK-NEXT: bb.1:
97
99
; CHECK-NEXT: successors: %bb.3(0x80000000)
98
100
; 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)
101
103
; 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)
104
107
; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD3]](p0) :: (store (s32))
105
108
; CHECK-NEXT: G_BR %bb.3
106
109
; CHECK-NEXT: {{ $}}
107
110
; CHECK-NEXT: bb.2:
108
111
; CHECK-NEXT: successors: %bb.3(0x80000000)
109
112
; 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)
112
115
; 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)
115
119
; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD5]](p0) :: (store (s32))
116
120
; CHECK-NEXT: G_BR %bb.3
117
121
; CHECK-NEXT: {{ $}}
118
122
; 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)
121
125
; CHECK-NEXT: G_STORE [[C]](s32), [[PTR_ADD6]](p0) :: (store (s32))
122
126
123
127
bb.0:
@@ -183,7 +187,8 @@ body: |
183
187
; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C2]](s20)
184
188
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD]](p0) :: (store (s32))
185
189
; 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)
187
192
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD1]](p0) :: (store (s32))
188
193
; CHECK-NEXT: G_BR %bb.1
189
194
; CHECK-NEXT: {{ $}}
@@ -192,12 +197,12 @@ body: |
192
197
; CHECK-NEXT: {{ $}}
193
198
; CHECK-NEXT: %Idx:_(s32) = G_PHI %Inc(s32), %bb.1, [[C1]](s32), %bb.0
194
199
; 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)
197
202
; 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)
201
206
; CHECK-NEXT: G_STORE [[C1]](s32), %LoopPtrMod(p0) :: (store (s32))
202
207
; CHECK-NEXT: %Inc:_(s32) = G_ADD %Idx, [[C]]
203
208
; CHECK-NEXT: %BR_SEL:_(s1) = G_ICMP intpred(sle), %Idx(s32), %LoopBound
@@ -207,9 +212,9 @@ body: |
207
212
; CHECK-NEXT: bb.2:
208
213
; CHECK-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = G_PTR_ADD %LoopPtrMod, [[C2]](s20)
209
214
; 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)
213
218
; CHECK-NEXT: G_STORE [[C1]](s32), [[PTR_ADD4]](p0) :: (store (s32))
214
219
215
220
bb.0.entry:
@@ -295,10 +300,12 @@ body: |
295
300
; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C4]](s20)
296
301
; CHECK-NEXT: G_STORE [[COPY1]](s32), [[PTR_ADD2]](p0) :: (store (s32))
297
302
; 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)
299
305
; 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)
302
309
; CHECK-NEXT: G_STORE [[COPY1]](s32), [[PTR_ADD4]](p0) :: (store (s32))
303
310
; CHECK-NEXT: G_BR %bb.3
304
311
; CHECK-NEXT: {{ $}}
@@ -309,7 +316,8 @@ body: |
309
316
; CHECK-NEXT: %B13:_(p0) = G_PTR_ADD [[COPY]], %B12(s20)
310
317
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B13(p0) :: (store (s32))
311
318
; 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)
313
321
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B15(p0) :: (store (s32))
314
322
; CHECK-NEXT: G_BR %bb.3
315
323
; CHECK-NEXT: {{ $}}
@@ -326,10 +334,12 @@ body: |
326
334
; CHECK-NEXT: %B413:_(p0) = G_PTR_ADD [[COPY]], %B412(s20)
327
335
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B413(p0) :: (store (s32))
328
336
; 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)
330
339
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B415(p0) :: (store (s32))
331
340
; 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)
333
343
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B417(p0) :: (store (s32))
334
344
; CHECK-NEXT: G_BR %bb.5
335
345
; CHECK-NEXT: {{ $}}
@@ -338,8 +348,8 @@ body: |
338
348
; CHECK-NEXT: %B513:_(p0) = G_PTR_ADD [[COPY]], %B512(s20)
339
349
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B513(p0) :: (store (s32))
340
350
; 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)
343
353
; CHECK-NEXT: G_STORE [[COPY1]](s32), %B515(p0) :: (store (s32))
344
354
bb.0:
345
355
successors: %bb.2, %bb.1
@@ -559,27 +569,29 @@ body: |
559
569
; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = nuw G_PTR_ADD [[DEF]], [[C2]](s20)
560
570
; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD]](p0) :: (volatile dereferenceable load (s32))
561
571
; 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)
563
574
; 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 ]]
566
577
; CHECK-NEXT: G_BRCOND [[AND1]](s32), %bb.1
567
578
; CHECK-NEXT: G_BR %bb.4
568
579
; CHECK-NEXT: {{ $}}
569
580
; CHECK-NEXT: bb.3:
570
581
; CHECK-NEXT: successors: %bb.4(0x80000000)
571
582
; 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)
574
585
; 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)
577
589
; CHECK-NEXT: [[LOAD3:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD3]](p0) :: (volatile dereferenceable load (s32))
578
590
; CHECK-NEXT: {{ $}}
579
591
; CHECK-NEXT: bb.4:
580
592
; 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)
583
595
; CHECK-NEXT: [[LOAD5:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD4]](p0) :: (volatile dereferenceable load (s32))
584
596
; CHECK-NEXT: $r0 = COPY [[C]](s32)
585
597
; CHECK-NEXT: PseudoRET implicit $lr, implicit $r0
0 commit comments