Commit 1c7ec06
authored
[VPlan] Optimize LastActiveLane to EVL - 1 (llvm#169766)
With EVL tail folding, the LastActiveLane can be computed with EVL - 1.
This removes the need for a header mask and vfirst.m for loops with live
outs on RISC-V:
# %bb.5: # %for.cond.cleanup7
- vsetvli zero, zero, e32, m2, ta, ma
- vmv.v.x v8, s1
- vmsleu.vv v10, v8, v22
- vfirst.m a0, v10
- srli a1, a0, 63
- czero.nez a0, a0, a1
- czero.eqz a1, s8, a1
- or a0, a0, a1
- addi a0, a0, -1
- vsetvli zero, zero, e64, m4, ta, ma
- vslidedown.vx v8, v12, a0
+ addi s1, s1, -1
+ vslidedown.vx v8, v12, s11 parent 6abbbca commit 1c7ec06
File tree
7 files changed
+18
-41
lines changed- llvm
- lib/Transforms/Vectorize
- test/Transforms/LoopVectorize/RISCV
7 files changed
+18
-41
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2736 | 2736 | | |
2737 | 2737 | | |
2738 | 2738 | | |
| 2739 | + | |
2739 | 2740 | | |
2740 | 2741 | | |
2741 | 2742 | | |
| |||
2787 | 2788 | | |
2788 | 2789 | | |
2789 | 2790 | | |
2790 | | - | |
| 2791 | + | |
2791 | 2792 | | |
2792 | 2793 | | |
2793 | 2794 | | |
2794 | 2795 | | |
2795 | 2796 | | |
2796 | | - | |
| 2797 | + | |
| 2798 | + | |
| 2799 | + | |
| 2800 | + | |
| 2801 | + | |
| 2802 | + | |
| 2803 | + | |
| 2804 | + | |
| 2805 | + | |
2797 | 2806 | | |
2798 | 2807 | | |
2799 | 2808 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
91 | | - | |
92 | 90 | | |
93 | 91 | | |
94 | 92 | | |
95 | | - | |
96 | 93 | | |
97 | 94 | | |
98 | 95 | | |
| |||
103 | 100 | | |
104 | 101 | | |
105 | 102 | | |
106 | | - | |
| 103 | + | |
107 | 104 | | |
108 | 105 | | |
109 | 106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
656 | 656 | | |
657 | 657 | | |
658 | 658 | | |
659 | | - | |
660 | | - | |
661 | 659 | | |
662 | 660 | | |
663 | 661 | | |
664 | | - | |
665 | | - | |
666 | 662 | | |
667 | 663 | | |
668 | 664 | | |
| |||
675 | 671 | | |
676 | 672 | | |
677 | 673 | | |
678 | | - | |
| 674 | + | |
679 | 675 | | |
680 | 676 | | |
681 | 677 | | |
| |||
Lines changed: 1 addition & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | 27 | | |
32 | 28 | | |
33 | 29 | | |
| |||
39 | 35 | | |
40 | 36 | | |
41 | 37 | | |
42 | | - | |
43 | | - | |
| 38 | + | |
44 | 39 | | |
45 | 40 | | |
46 | 41 | | |
| |||
Lines changed: 1 addition & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
231 | 231 | | |
232 | 232 | | |
233 | 233 | | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | 234 | | |
239 | 235 | | |
240 | 236 | | |
| |||
246 | 242 | | |
247 | 243 | | |
248 | 244 | | |
249 | | - | |
250 | | - | |
| 245 | + | |
251 | 246 | | |
252 | 247 | | |
253 | 248 | | |
| |||
Lines changed: 1 addition & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
417 | 417 | | |
418 | 418 | | |
419 | 419 | | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | 420 | | |
425 | 421 | | |
426 | 422 | | |
| |||
433 | 429 | | |
434 | 430 | | |
435 | 431 | | |
436 | | - | |
437 | | - | |
| 432 | + | |
438 | 433 | | |
439 | 434 | | |
440 | 435 | | |
| |||
Lines changed: 2 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
117 | 117 | | |
118 | 118 | | |
119 | 119 | | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | 120 | | |
125 | 121 | | |
126 | 122 | | |
| |||
132 | 128 | | |
133 | 129 | | |
134 | 130 | | |
135 | | - | |
136 | | - | |
| 131 | + | |
137 | 132 | | |
138 | 133 | | |
139 | 134 | | |
| |||
186 | 181 | | |
187 | 182 | | |
188 | 183 | | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | 184 | | |
194 | 185 | | |
195 | 186 | | |
| |||
201 | 192 | | |
202 | 193 | | |
203 | 194 | | |
204 | | - | |
205 | | - | |
| 195 | + | |
206 | 196 | | |
207 | 197 | | |
208 | 198 | | |
| |||
0 commit comments