Commit 2c387ce
committed
IVDescriptors: cut wasteful FAnyOf checking (NFC)
Checking RecurKind::FAnyOf in isRecurrenceDescriptor() is wasted work
when it already checks RecurKind::IAnyOf. Affect a minor adjustment to
the code to facilitate skipping the RecurKind::FAnyOf check, and strip
the check. The patch has the side-effect of rewriting some flaky code,
which would match an ICmp having the reduction phi as an operand with
IAnyOf, and due to NumCmpSelectPatternInst != 1 (the select redux is
also matched), it would have to rely on failing to match an FCmp with
FAnyOf, setting NumCmpSelectPatternInst = 1, and successfully
vectorizing an IAnyOf pattern with the incorrect debug output. There is
a test for this already in select-cmp.ll:
select_i32_from_icmp_same_inputs.1 parent ace87ec commit 2c387ce
File tree
5 files changed
+25
-37
lines changed- llvm
- include/llvm/Analysis
- lib
- Analysis
- Target
- AArch64
- RISCV
- Transforms/Vectorize
5 files changed
+25
-37
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
| 51 | + | |
| 52 | + | |
55 | 53 | | |
56 | 54 | | |
57 | 55 | | |
| |||
173 | 171 | | |
174 | 172 | | |
175 | 173 | | |
176 | | - | |
| 174 | + | |
177 | 175 | | |
178 | 176 | | |
179 | 177 | | |
| |||
209 | 207 | | |
210 | 208 | | |
211 | 209 | | |
212 | | - | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
| |||
250 | 250 | | |
251 | 251 | | |
252 | 252 | | |
253 | | - | |
| 253 | + | |
254 | 254 | | |
255 | 255 | | |
256 | 256 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
| 52 | + | |
54 | 53 | | |
55 | 54 | | |
56 | 55 | | |
| |||
417 | 416 | | |
418 | 417 | | |
419 | 418 | | |
420 | | - | |
421 | | - | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
422 | 422 | | |
423 | | - | |
424 | | - | |
| 423 | + | |
425 | 424 | | |
426 | 425 | | |
427 | 426 | | |
| |||
656 | 655 | | |
657 | 656 | | |
658 | 657 | | |
659 | | - | |
660 | | - | |
| 658 | + | |
661 | 659 | | |
662 | 660 | | |
663 | 661 | | |
| |||
979 | 977 | | |
980 | 978 | | |
981 | 979 | | |
982 | | - | |
| 980 | + | |
983 | 981 | | |
984 | | - | |
985 | | - | |
| 982 | + | |
| 983 | + | |
986 | 984 | | |
987 | 985 | | |
988 | 986 | | |
| |||
1014 | 1012 | | |
1015 | 1013 | | |
1016 | 1014 | | |
1017 | | - | |
1018 | | - | |
1019 | | - | |
1020 | | - | |
1021 | | - | |
1022 | | - | |
1023 | 1015 | | |
1024 | 1016 | | |
1025 | 1017 | | |
| |||
1127 | 1119 | | |
1128 | 1120 | | |
1129 | 1121 | | |
1130 | | - | |
| 1122 | + | |
1131 | 1123 | | |
1132 | 1124 | | |
1133 | 1125 | | |
| |||
1148 | 1140 | | |
1149 | 1141 | | |
1150 | 1142 | | |
1151 | | - | |
1152 | 1143 | | |
1153 | 1144 | | |
1154 | 1145 | | |
1155 | 1146 | | |
1156 | 1147 | | |
1157 | 1148 | | |
1158 | | - | |
1159 | 1149 | | |
1160 | 1150 | | |
| 1151 | + | |
| 1152 | + | |
1161 | 1153 | | |
1162 | 1154 | | |
1163 | 1155 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4318 | 4318 | | |
4319 | 4319 | | |
4320 | 4320 | | |
4321 | | - | |
4322 | | - | |
| 4321 | + | |
4323 | 4322 | | |
4324 | 4323 | | |
4325 | 4324 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
348 | 348 | | |
349 | 349 | | |
350 | 350 | | |
351 | | - | |
352 | | - | |
| 351 | + | |
353 | 352 | | |
354 | 353 | | |
355 | 354 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19182 | 19182 | | |
19183 | 19183 | | |
19184 | 19184 | | |
19185 | | - | |
| 19185 | + | |
19186 | 19186 | | |
19187 | 19187 | | |
19188 | 19188 | | |
| |||
20325 | 20325 | | |
20326 | 20326 | | |
20327 | 20327 | | |
20328 | | - | |
| 20328 | + | |
20329 | 20329 | | |
20330 | 20330 | | |
20331 | 20331 | | |
| |||
20454 | 20454 | | |
20455 | 20455 | | |
20456 | 20456 | | |
20457 | | - | |
20458 | | - | |
| 20457 | + | |
20459 | 20458 | | |
20460 | 20459 | | |
20461 | 20460 | | |
| |||
20553 | 20552 | | |
20554 | 20553 | | |
20555 | 20554 | | |
20556 | | - | |
20557 | | - | |
| 20555 | + | |
20558 | 20556 | | |
20559 | 20557 | | |
20560 | 20558 | | |
| |||
0 commit comments