llvm-project/llvm/lib/Transforms/InstCombine
Sanjay Patel f38bab73aa [InstCombine] allow (X * C2) << C1 --> X * (C2 << C1) for vectors
This fold already existed for vectors but only when 'C1' was a splat
constant (but 'C2' could be any constant). 

There were no tests for any vector constants, so I'm adding a test
that shows non-splat constants for both operands.  

llvm-svn: 294650
2017-02-09 23:13:04 +00:00
..
CMakeLists.txt [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
InstCombineAddSub.cpp [InstCombine] add a wrapper for a common pair of transforms; NFCI 2017-01-10 23:49:07 +00:00
InstCombineAndOrXor.cpp [InstCombine] Fold ((C1 OP zext(X)) & C2) -> zext((C1 OP X) & C2) 2017-01-17 18:08:06 +00:00
InstCombineCalls.cpp [InstComobineCalls] Fix buildbot failures after r294453. 2017-02-08 15:21:48 +00:00
InstCombineCasts.cpp fix formatting; NFC 2017-01-31 17:25:42 +00:00
InstCombineCompares.cpp [InstCombine] add local name for repeated calls; NFC 2017-02-08 16:19:36 +00:00
InstCombineInternal.h [InstCombineCalls] Unfold element atomic memcpy instruction 2017-02-08 14:32:04 +00:00
InstCombineLoadStoreAlloca.cpp [InstCombine] Make max size array combine a tunable. 2017-02-07 17:56:50 +00:00
InstCombineMulDivRem.cpp [InstCombine] add a wrapper for a common pair of transforms; NFCI 2017-01-10 23:49:07 +00:00
InstCombinePHI.cpp fix formatting; NFC 2017-01-31 17:25:42 +00:00
InstCombineSelect.cpp Use InstCombine's builder in foldSelectCttzCtlz instead of creating a new one. 2017-01-24 17:48:25 +00:00
InstCombineShifts.cpp [InstCombine] allow (X * C2) << C1 --> X * (C2 << C1) for vectors 2017-02-09 23:13:04 +00:00
InstCombineSimplifyDemanded.cpp [InstCombine] use m_APInt to allow demanded bits analysis on splat constants 2017-02-09 21:43:06 +00:00
InstCombineVectorOps.cpp [InstCombine] Use getVectorNumElements instead of explicitly casting to VectorType and calling getNumElements. NFC 2016-12-29 07:03:18 +00:00
InstructionCombining.cpp [InstCombine] Make max size array combine a tunable. 2017-02-07 17:56:50 +00:00
LLVMBuild.txt Update libdeps since TLI was moved from Target to Analysis in r226078. 2015-01-15 05:21:00 +00:00