1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/lib/Transforms/InstCombine
Sanjay Patel c18792fc71 [InstCombine] canonicalize vector select with constant vector condition to shuffle
As discussed on llvm-dev ( http://lists.llvm.org/pipermail/llvm-dev/2016-August/104210.html ): 
turn a vector select with constant condition operand into a shuffle as a canonicalization step.
Shuffles may be easier to reason about in conjunction with other shuffles and insert/extract.

Possible known (minor?) regressions from this change are filed as:
https://llvm.org/bugs/show_bug.cgi?id=28530 
https://llvm.org/bugs/show_bug.cgi?id=28531 
https://llvm.org/bugs/show_bug.cgi?id=30371

If something terrible happens to perf after this commit, feel free to revert until a backend
fix is in place.

Differential Revision: https://reviews.llvm.org/D24279

llvm-svn: 281787
2016-09-16 22:16:18 +00:00
..
CMakeLists.txt Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
InstCombineAddSub.cpp InstCombine: Replace some never-null pointers with references. NFC 2016-08-05 01:06:44 +00:00
InstCombineAndOrXor.cpp [InstCombine] add helper function for folding {and,or,xor} (cast X), C ; NFCI 2016-09-12 00:16:23 +00:00
InstCombineCalls.cpp [InstCombine][SSE4a] Fix assertion failure in the insertq/insertqi combining logic. 2016-09-07 12:47:53 +00:00
InstCombineCasts.cpp Reapply "InstCombine: Reduce trunc (shl x, K) width." 2016-09-13 19:43:57 +00:00
InstCombineCompares.cpp [InstCombine] add helper functions for visitICmpInst(); NFCI 2016-09-16 16:10:22 +00:00
InstCombineInternal.h [InstCombine] add helper functions for visitICmpInst(); NFCI 2016-09-16 16:10:22 +00:00
InstCombineLoadStoreAlloca.cpp InstCombine: Don't combine loads/stores from swifterror to a new type 2016-09-10 18:14:57 +00:00
InstCombineMulDivRem.cpp InstCombine: Replace some never-null pointers with references. NFC 2016-08-05 01:06:44 +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 [InstCombine] canonicalize vector select with constant vector condition to shuffle 2016-09-16 22:16:18 +00:00
InstCombineShifts.cpp Replace a few more "fall through" comments with LLVM_FALLTHROUGH 2016-08-17 20:30:52 +00:00
InstCombineSimplifyDemanded.cpp don't repeat function names in comments; NFC 2016-07-14 20:54:43 +00:00
InstCombineVectorOps.cpp [InsttCombine] fold insertelement of constant into shuffle with constant operand (PR29126) 2016-09-02 17:05:43 +00:00
InstructionCombining.cpp [InstCombine] allow vector types for constant folding / computeKnownBits (PR24942) 2016-09-16 21:20:36 +00:00
LLVMBuild.txt Update libdeps since TLI was moved from Target to Analysis in r226078. 2015-01-15 05:21:00 +00:00