llvm-project/llvm/test/Transforms/PhaseOrdering
Diego Caballero 4348cd42c3 [LV] Drop integer poison-generating flags from instructions that need predication
This patch fixes PR52111. The problem is that LV propagates poison-generating flags (`nuw`/`nsw`, `exact`
and `inbounds`) in instructions that contribute to the address computation of widen loads/stores that are
guarded by a condition. It may happen that when the code is vectorized and the control flow within the loop
is linearized, these flags may lead to generating a poison value that is effectively used as the base address
of the widen load/store. The fix drops all the integer poison-generating flags from instructions that
contribute to the address computation of a widen load/store whose original instruction was in a basic block
that needed predication and is not predicated after vectorization.

Reviewed By: fhahn, spatel, nlopes

Differential Revision: https://reviews.llvm.org/D111846
2021-11-22 10:57:29 +00:00
..
AArch64 [LV] Drop integer poison-generating flags from instructions that need predication 2021-11-22 10:57:29 +00:00
ARM [ARM] Workaround tailpredication min/max costmodel 2021-08-30 19:19:51 +01:00
X86 [runtime-unroll] Use incrementing IVs instead of decrementing ones 2021-11-12 15:44:58 -08:00
2010-03-22-empty-baseclass.ll
PR6627.ll
assume-explosion.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
basic.ll
bitfield-bittests.ll
d83507-knowledge-retention-bug.ll [SimplifyCFG] Look for control flow changes instead of side effects. 2021-05-03 13:32:22 -07:00
deletion-of-loops-that-became-side-effect-free.ll [PassManager] `buildModuleOptimizationPipeline()`: schedule `LoopDeletion` pass run before vectorization passes 2021-11-03 19:24:49 +03:00
expect.ll
gdce.ll
globalaa-retained.ll
inlining-alignment-assumptions.ll Re-apply "[JumpThreading] Ignore free instructions" 2021-09-24 18:52:30 +02:00
instcombine-sroa-inttoptr.ll
lifetime-sanitizer.ll
loop-rotation-vs-common-code-hoisting.ll [NewPM] Remove SpeculateAroundPHIs pass 2021-06-15 20:35:55 +03:00
lto-licm.ll [opt] Remove some legacy PM flags 2021-09-13 15:50:03 -07:00
min-max-abs-cse.ll
minmax.ll
openmp-opt-module.ll [NewPM][test] Avoid using -enable-new-pm=1 since -passes implies new PM 2021-10-20 15:16:17 +02:00
partialord-ule.ll
pr32544.ll
pr36760.ll
pr39116.ll [NFC] Added testcase for PR39116 2021-09-04 10:52:46 +02:00
pr39282.ll
pr40750.ll [NFC] Added testcase for PR40750 2021-09-02 22:44:03 +02:00
pr44461-br-to-switch-rotate.ll
pr45682.ll
pr45687.ll
reassociate-after-unroll.ll
reassociate-instcombine.ll Add test to check we can instcombine after reassociate. NFC. 2021-10-21 12:27:26 -07:00
rotate.ll
scev-custom-dl.ll [test] Fixup tests with -analyze in llvm/test/Transforms 2021-09-04 16:45:51 -07:00
scev.ll [test] Fixup tests with -analyze in llvm/test/Transforms 2021-09-04 16:45:51 -07:00
simplifycfg-options.ll
two-shifts-by-sext.ll
unsigned-multiply-overflow-check.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
vector-trunc-inseltpoison.ll
vector-trunc.ll