1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/lib/Transforms/InstCombine
David Majnemer f01cfb5523 InstCombine: Flip the order of two urem transforms
There are two transforms in visitUrem that conflict with each other.

*) One, if a divisor is a power of two, subtracts one from the divisor
   and turns it into a bitwise-and.
*) The other unwraps both operands if they are surrounded by zext
   instructions.

Flipping the order allows the subtraction to go beneath the sign
extension.

llvm-svn: 181668
2013-05-12 00:07:05 +00:00
..
CMakeLists.txt Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombine.h Added a function scalarizePHI() that sclarizes a vector phi instruction if it has only 2 uses: one to promote the vector phi in a loop and the other use is an extract operation of one element at a constant location. 2013-04-18 19:35:39 +00:00
InstCombineAddSub.cpp InstCombine: (X ^ signbit) + C -> X + (signbit ^ C) 2013-05-06 21:21:31 +00:00
InstCombineAndOrXor.cpp Reorders two transforms that collide with each other 2013-04-14 21:15:43 +00:00
InstCombineCalls.cpp Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombineCasts.cpp InstCombine: Don't claim to be able to evaluate any shl in a zexted type. 2013-05-10 16:26:37 +00:00
InstCombineCompares.cpp Simplify (A & ~B) in icmp if A is a power of 2 2013-04-12 17:25:07 +00:00
InstCombineLoadStoreAlloca.cpp Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombineMulDivRem.cpp InstCombine: Flip the order of two urem transforms 2013-05-12 00:07:05 +00:00
InstCombinePHI.cpp Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombineSelect.cpp Revert r164763 because it introduces new shuffles. 2013-05-06 02:39:09 +00:00
InstCombineShifts.cpp Revert r174152. The shift amount may overflow and in that case this transformation is illegal. 2013-02-01 07:59:33 +00:00
InstCombineSimplifyDemanded.cpp InstCombine: Don't just copy known bits from the first operand of an srem. 2013-05-09 16:32:32 +00:00
InstCombineVectorOps.cpp Tabs to spaces. No functionality change. 2013-05-04 01:08:15 +00:00
InstCombineWorklist.h Remove trailing spaces. 2013-01-14 23:16:36 +00:00
InstructionCombining.cpp Add ArrayRef constructor from None, and do the cleanups that this constructor enables 2013-05-05 00:40:33 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile