Commit f969a79
committed
[LoopVectorize] Use predicated version of getSmallConstantMaxTripCount
There are a number of places where we call getSmallConstantMaxTripCount
without passing a vector of predicates:
getSmallBestKnownTC
isIndvarOverflowCheckKnownFalse
computeMaxVF
isMoreProfitable
I've changed all of these to now pass in a predicate vector so that
we get the benefit of making better vectorisation choices when we
know the max trip count for loops that require SCEV predicate checks.
I've tried to add tests that cover all the cases affected by these
changes.1 parent 96e6d12 commit f969a79
File tree
2 files changed
+56
-327
lines changed- llvm
- lib/Transforms/Vectorize
- test/Transforms/LoopVectorize/AArch64
2 files changed
+56
-327
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
422 | 422 | | |
423 | 423 | | |
424 | 424 | | |
425 | | - | |
| 425 | + | |
| 426 | + | |
426 | 427 | | |
427 | 428 | | |
428 | 429 | | |
| |||
2298 | 2299 | | |
2299 | 2300 | | |
2300 | 2301 | | |
2301 | | - | |
2302 | | - | |
| 2302 | + | |
| 2303 | + | |
| 2304 | + | |
2303 | 2305 | | |
2304 | 2306 | | |
2305 | 2307 | | |
| |||
3994 | 3996 | | |
3995 | 3997 | | |
3996 | 3998 | | |
3997 | | - | |
| 3999 | + | |
| 4000 | + | |
| 4001 | + | |
| 4002 | + | |
3998 | 4003 | | |
3999 | 4004 | | |
4000 | 4005 | | |
| |||
4285 | 4290 | | |
4286 | 4291 | | |
4287 | 4292 | | |
4288 | | - | |
| 4293 | + | |
| 4294 | + | |
| 4295 | + | |
4289 | 4296 | | |
4290 | 4297 | | |
4291 | 4298 | | |
| |||
0 commit comments