llvm-project/llvm/lib/Transforms/InstCombine
Sanjay Patel 7cd32419ab [InstCombine] avoid extra poison when moving shift above shuffle
As discussed in D49047 / D48987, shift-by-undef produces poison,
so we can't use undef vector elements in that case..

Note that we need to extend this for poison-generating flags,
and there's a proposal to create poison from FMF in D47963,

llvm-svn: 336562
2018-07-09 17:20:20 +00:00
..
CMakeLists.txt InstCombine/AMDGPU: Add dimension-aware image intrinsics to SimplifyDemanded 2018-06-21 13:37:31 +00:00
InstCombineAddSub.cpp [InstCombine] (A + 1) + (B ^ -1) --> A - B 2018-06-26 05:31:18 +00:00
InstCombineAndOrXor.cpp [InstCombine] simplify binops before trying other folds 2018-06-21 17:06:36 +00:00
InstCombineCalls.cpp Fix asserts in AMDGCN fmed3 folding by handling more cases of NaN 2018-07-05 17:05:36 +00:00
InstCombineCasts.cpp [Local] replaceAllDbgUsesWith: Update debug values before RAUW 2018-07-06 17:32:39 +00:00
InstCombineCompares.cpp Revert "[InstCombine] Delay foldICmpUsingKnownBits until simple transforms are done" 2018-07-06 04:04:13 +00:00
InstCombineInternal.h [InstCombine] generalize safe vector constant utility 2018-07-09 16:16:51 +00:00
InstCombineLoadStoreAlloca.cpp Use Type::isIntOrPtrTy where possible, NFC 2018-07-06 20:17:42 +00:00
InstCombineMulDivRem.cpp [InstCombine] simplify code for urem fold; NFCI 2018-06-26 16:39:29 +00:00
InstCombinePHI.cpp Move Analysis/Utils/Local.h back to Transforms 2018-06-04 21:23:21 +00:00
InstCombineSelect.cpp [InstCombine] Correct the cmp operand type used when canonicalizing abs/nabs 2018-06-05 14:10:55 +00:00
InstCombineShifts.cpp [InstCombine] simplify binops before trying other folds 2018-06-21 17:06:36 +00:00
InstCombineSimplifyDemanded.cpp [X86] Remove X86 specific scalar FMA intrinsics and upgrade to tart independent FMA and extractelement/insertelement. 2018-07-05 06:52:55 +00:00
InstCombineTables.td InstCombine/AMDGPU: Add dimension-aware image intrinsics to SimplifyDemanded 2018-06-21 13:37:31 +00:00
InstCombineVectorOps.cpp [InstCombine] generalize safe vector constant utility 2018-07-09 16:16:51 +00:00
InstructionCombining.cpp [InstCombine] avoid extra poison when moving shift above shuffle 2018-07-09 17:20:20 +00:00
LLVMBuild.txt