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-11-10 12:10:40 +00:00
2025-07-31 15:56:31 -04:00
2025-10-16 09:49:38 +01:00
2025-08-26 09:59:06 +01:00
2025-09-30 10:03:55 +00:00
2025-11-05 09:18:02 +00:00
2025-10-20 08:50:09 +00:00
2025-10-01 16:53:59 +00:00
2025-10-16 09:49:38 +01:00
2025-11-05 22:11:29 +00:00
2025-10-01 16:53:59 +00:00
2025-11-05 09:18:02 +00:00
2025-10-16 13:59:32 +00:00
2025-10-20 08:50:09 +00:00
2025-10-20 08:50:09 +00:00
2025-10-20 08:50:09 +00:00
2025-09-27 20:48:42 +01:00
2025-11-10 12:10:40 +00:00
2025-10-07 10:45:49 -04:00
2025-09-18 19:25:05 +01:00
2025-08-26 09:59:06 +01:00
2025-08-26 09:59:06 +01:00
2025-10-21 10:49:27 +01:00
2025-10-20 08:50:09 +00:00
2025-10-20 08:50:09 +00:00
2025-10-23 20:31:31 +08:00
2025-10-01 16:53:59 +00:00
2025-10-20 08:50:09 +00:00
2025-09-27 20:48:42 +01:00
2025-10-23 20:31:31 +08:00
2025-10-20 08:50:09 +00:00
2025-10-19 18:49:05 +00:00
2025-10-19 18:49:05 +00:00
2025-11-05 09:18:02 +00:00
2025-10-20 08:50:09 +00:00
2025-10-01 16:53:59 +00:00
2025-09-25 07:13:38 +00:00
2025-11-05 22:11:29 +00:00
2025-10-20 08:50:09 +00:00
2025-10-20 08:50:09 +00:00
2025-11-10 10:43:37 +00:00
2025-11-10 10:43:37 +00:00
2025-10-20 08:50:09 +00:00
2025-10-20 08:50:09 +00:00
2025-10-01 16:53:59 +00:00
2025-10-20 08:50:09 +00:00
2025-10-20 08:50:09 +00:00
2025-10-19 18:49:05 +00:00
2025-09-25 07:13:38 +00:00
2025-10-01 16:53:59 +00:00
2025-09-09 09:47:41 +01:00
2025-09-18 19:25:05 +01:00
2025-09-25 07:13:38 +00:00
2025-10-20 08:50:09 +00:00
2025-10-01 16:53:59 +00:00
2025-10-20 08:50:09 +00:00
2025-10-20 08:50:09 +00:00
2025-09-18 19:25:05 +01:00
2025-09-18 19:25:05 +01:00
2025-11-05 22:11:29 +00:00
2025-10-20 08:50:09 +00:00
2025-10-21 10:49:27 +01:00
2025-10-23 20:31:31 +08:00
2025-11-05 22:11:29 +00:00
2025-10-01 16:53:59 +00:00
2025-10-20 11:09:25 +01:00
2025-10-19 18:49:05 +00:00
2025-10-16 09:49:38 +01:00
2025-10-23 20:31:31 +08:00
2025-10-29 18:25:46 +00:00
2025-10-01 16:53:59 +00:00
2025-10-19 18:49:05 +00:00
2025-10-23 20:31:31 +08:00
2025-10-20 08:50:09 +00:00
2025-10-20 08:50:09 +00:00
2025-10-22 21:27:11 +01:00
2025-10-31 04:38:16 +00:00
2025-10-01 16:53:59 +00:00
2025-10-16 09:49:38 +01:00
2025-10-20 08:50:09 +00:00
2025-11-05 22:11:29 +00:00
2025-08-26 09:59:06 +01:00
2025-08-18 18:04:53 +01:00
2025-10-23 20:31:31 +08:00
2025-08-26 09:59:06 +01:00
2025-10-20 08:50:09 +00:00
2025-10-20 08:50:09 +00:00
2025-10-19 18:49:05 +00:00
2025-10-20 08:50:09 +00:00
2025-10-21 10:49:27 +01:00
2025-10-19 18:49:05 +00:00
2025-11-04 17:08:12 +00:00
2025-10-20 08:50:09 +00:00
2025-11-05 22:11:29 +00:00