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 3fb981ce63 [InstCombine] fold X urem C -> X < C ? X : X - C when C is big (PR28672)
We already have the udiv variant of this transform, so I think this is ok for 
InstCombine too even though there is an increase in IR instructions. As the 
tests and TODO comments show, the transform can lead to follow-on combines.

This should fix: https://llvm.org/bugs/show_bug.cgi?id=28672

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

llvm-svn: 282209
2016-09-22 22:36:26 +00:00
..
CMakeLists.txt
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] fold X urem C -> X < C ? X : X - C when C is big (PR28672) 2016-09-22 22:36:26 +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