llvm-project/llvm/lib/Transforms/InstCombine
David Majnemer d536f2328e [ConstnatFolding] Teach the folder how to fold ConstantVector
A ConstantVector can have ConstantExpr operands and vice versa.
However, the folder had no ability to fold ConstantVectors which, in
some cases, was an optimization barrier.

Instead, rephrase the folder in terms of Constants instead of
ConstantExprs and teach callers how to deal with failure.

llvm-svn: 277099
2016-07-29 03:27:26 +00:00
..
CMakeLists.txt Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
InstCombineAddSub.cpp [InstCombine] fold add(zext(xor X, C), C) --> sext X when C is INT_MIN in the source type 2016-07-19 22:09:34 +00:00
InstCombineAndOrXor.cpp [InstCombine] LogicOpc (zext X), C --> zext (LogicOpc X, C) (PR28476) 2016-07-21 00:24:18 +00:00
InstCombineCalls.cpp Do not remove empty lifetime.start/lifetime.end ranges 2016-07-28 22:59:03 +00:00
InstCombineCasts.cpp [ConstnatFolding] Teach the folder how to fold ConstantVector 2016-07-29 03:27:26 +00:00
InstCombineCompares.cpp [InstCombine] allow icmp (bit-manipulation-intrinsic(), C) folds for vectors 2016-07-23 13:06:49 +00:00
InstCombineInternal.h [InstCombine] allow icmp (bit-manipulation-intrinsic(), C) folds for vectors 2016-07-23 13:06:49 +00:00
InstCombineLoadStoreAlloca.cpp [InstCombine] Don't widen metadata on store-to-load forwarding 2016-06-16 02:33:42 +00:00
InstCombineMulDivRem.cpp [InstCombine] shrink type of sdiv if dividend is sexted and constant divisor is small enough (PR28153) 2016-06-27 22:27:11 +00:00
InstCombinePHI.cpp [InstCombine] Preserve fast math flags when combining PHIs 2016-04-22 11:21:36 +00:00
InstCombineSelect.cpp [InstSimplify][InstCombine] don't crash when folding vector selects of icmp 2016-07-20 23:40:01 +00:00
InstCombineShifts.cpp [ConstnatFolding] Teach the folder how to fold ConstantVector 2016-07-29 03:27:26 +00:00
InstCombineSimplifyDemanded.cpp don't repeat function names in comments; NFC 2016-07-14 20:54:43 +00:00
InstCombineVectorOps.cpp [InstCombine] scalarizePHI should not assume the code it sees has been CSE'd 2016-06-06 23:38:33 +00:00
InstructionCombining.cpp [ConstnatFolding] Teach the folder how to fold ConstantVector 2016-07-29 03:27:26 +00:00
LLVMBuild.txt Update libdeps since TLI was moved from Target to Analysis in r226078. 2015-01-15 05:21:00 +00:00