llvm-project/llvm/lib/Transforms/InstCombine
Sanjay Patel b7f8cb698c [InstCombine] change select type to eliminate bitcasts
This solves a secondary problem seen in PR6137:
https://llvm.org/bugs/show_bug.cgi?id=6137#c6

This is similar to the bitwise logic op fold added with:
https://reviews.llvm.org/rL287707

And like that patch, I'm artificially restricting the
transform from vector <-> scalar types until we're sure
that the backend can handle that. 

llvm-svn: 288584
2016-12-03 15:25:16 +00:00
..
CMakeLists.txt [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
InstCombineAddSub.cpp [InstCombine] use m_APInt to allow sub with constant folds for splat vectors 2016-10-14 16:31:54 +00:00
InstCombineAndOrXor.cpp add and use isBitwiseLogicOp() helper function; NFCI 2016-11-22 22:54:36 +00:00
InstCombineCalls.cpp Replace some callers of setTailCall with setTailCallKind 2016-11-25 22:35:09 +00:00
InstCombineCasts.cpp [InstCombine] change select type to eliminate bitcasts 2016-12-03 15:25:16 +00:00
InstCombineCompares.cpp IR: Change the gep_type_iterator API to avoid always exposing the "current" type. 2016-12-02 02:24:42 +00:00
InstCombineInternal.h [InstCombine] allow more narrowing transforms for logic ops 2016-11-30 20:48:54 +00:00
InstCombineLoadStoreAlloca.cpp [PR29121] Don't fold if it would produce atomic vector loads or stores 2016-12-01 20:17:06 +00:00
InstCombineMulDivRem.cpp fix formatting; NFC 2016-11-21 21:48:36 +00:00
InstCombinePHI.cpp Use the range variant of find/find_if instead of unpacking begin/end 2016-08-12 03:55:06 +00:00
InstCombineSelect.cpp add optional param to copy metadata when creating selects; NFC 2016-11-26 15:01:59 +00:00
InstCombineShifts.cpp [InstSimplify] allow integer vector types to use computeKnownBits 2016-11-27 21:07:28 +00:00
InstCombineSimplifyDemanded.cpp [X86] Remove the scalar intrinsics for fadd/fsub/fdiv/fmul 2016-11-16 05:24:10 +00:00
InstCombineVectorOps.cpp [InstCombine] avoid infinite loop from shuffle-extract-insert sequence (PR30923) 2016-11-10 00:15:14 +00:00
InstructionCombining.cpp IR: Change the gep_type_iterator API to avoid always exposing the "current" type. 2016-12-02 02:24:42 +00:00
LLVMBuild.txt