Luke Lau
bfd4155f23
[VPlan] Don't apply predication discount to non-originally-predicated blocks ( #160449 )
...
Split off from #158690 . Currently if an instruction needs predicated due
to tail folding, it will also have a predicated discount applied to it
in multiple places.
This is likely inaccurate because we can expect a tail folded
instruction to be executed on every iteration bar the last.
This fixes it by checking if the instruction/block was originally
predicated, and in doing so prevents vectorization with tail folding
where we would have had to scalarize the memory op anyway.
On llvm-test-suite this causes 4 loops in total to no longer be
vectorized with -O3 on arm64-apple-darwin, and there's no observable
performance impact.
2025-11-10 12:10:40 +00:00
..
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-05-19 13:27:17 +01:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-05-19 13:27:17 +01:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-05-19 13:27:17 +01:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-02-09 15:02:41 +00:00
2025-05-19 13:27:17 +01:00
2025-11-10 12:10:40 +00:00
2025-05-19 13:27:17 +01:00
2025-02-07 15:27:31 +00:00