Commit 8fa2cc5
committed
[LV] Consider interleaving & tail-folding when -enable-wide-lane-mask=true
Currently the only way to enable the use of wide active lane masks is to pass
-enable-wide-lane-mask and force both interleaving & tail-folding with additional
flags. This patch changes selectInterleaveCount & preferPredicateOverEpilogue to
consider both interleaving and tail-folding if wide lane masks were requested,
although the feature remains off by default.
Basic cost model changes are also included which reduce the cost of the
get.active.lane.mask intrinsic when the return type would require splitting,
but we know the whilelo (predicate pair) instruction can be used.1 parent 32fffe5 commit 8fa2cc5
File tree
7 files changed
+186
-38
lines changed- llvm
- include/llvm/Analysis
- lib
- Target/AArch64
- Transforms/Vectorize
- test
- Analysis/CostModel/AArch64
- Transforms/LoopVectorize/AArch64
7 files changed
+186
-38
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
| 212 | + | |
212 | 213 | | |
213 | | - | |
214 | | - | |
| 214 | + | |
| 215 | + | |
215 | 216 | | |
216 | 217 | | |
217 | 218 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
957 | 957 | | |
958 | 958 | | |
959 | 959 | | |
960 | | - | |
961 | | - | |
962 | | - | |
963 | | - | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
964 | 972 | | |
965 | 973 | | |
966 | 974 | | |
| |||
972 | 980 | | |
973 | 981 | | |
974 | 982 | | |
975 | | - | |
| 983 | + | |
976 | 984 | | |
977 | 985 | | |
978 | 986 | | |
| |||
6146 | 6154 | | |
6147 | 6155 | | |
6148 | 6156 | | |
6149 | | - | |
6150 | | - | |
| 6157 | + | |
| 6158 | + | |
| 6159 | + | |
| 6160 | + | |
| 6161 | + | |
6151 | 6162 | | |
6152 | 6163 | | |
6153 | 6164 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
249 | 249 | | |
250 | 250 | | |
251 | 251 | | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
252 | 256 | | |
253 | 257 | | |
254 | 258 | | |
| |||
1346 | 1350 | | |
1347 | 1351 | | |
1348 | 1352 | | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
1349 | 1362 | | |
1350 | 1363 | | |
1351 | 1364 | | |
| |||
4518 | 4531 | | |
4519 | 4532 | | |
4520 | 4533 | | |
4521 | | - | |
| 4534 | + | |
4522 | 4535 | | |
4523 | 4536 | | |
4524 | 4537 | | |
| |||
8995 | 9008 | | |
8996 | 9009 | | |
8997 | 9010 | | |
8998 | | - | |
| 9011 | + | |
8999 | 9012 | | |
9000 | 9013 | | |
9001 | 9014 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | 43 | | |
48 | 44 | | |
49 | 45 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| |||
0 commit comments