llvm-6502/lib/Transforms/Scalar
Chris Lattner 5f3b0eeddb Turn A % (C << N), where C is 2^k, into A & ((C << N)-1) [urem only].
Turn A / (C1 << N), where C1 is "1<<C2" into A >> (N+C2) [udiv only].

Tested with: rem.ll:test5, div.ll:test10


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26003 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-05 07:54:04 +00:00
..
ADCE.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
BasicBlockPlacement.cpp
CondPropagate.cpp
ConstantProp.cpp
CorrelatedExprs.cpp Improve compatibility with VC2005, patch by Morten Ofstad! 2006-01-26 20:41:32 +00:00
DCE.cpp
DeadStoreElimination.cpp Fix a bug where we didn't realize that vaarg reads memory. This fixes 2005-11-30 19:38:22 +00:00
GCSE.cpp Switch these to using ETForest instead of DominatorSet to compute itself. 2006-01-11 05:10:20 +00:00
IndVarSimplify.cpp
InstructionCombining.cpp Turn A % (C << N), where C is 2^k, into A & ((C << N)-1) [urem only]. 2006-02-05 07:54:04 +00:00
LICM.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
LoopStrengthReduce.cpp Use SCEVExpander::InsertCastOfTo instead of our own code. This reduces 2006-02-04 09:52:43 +00:00
LoopUnroll.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
LoopUnswitch.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
LowerGC.cpp FunctionPass's cannot do IPO things. 2006-01-14 19:30:35 +00:00
LowerPacked.cpp Lowerpacked and SCCP support for the insertelement operation. 2006-01-17 20:06:55 +00:00
Makefile
Reassociate.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
Reg2Mem.cpp
ScalarReplAggregates.cpp Fix Regression/Transforms/ScalarRepl/2006-01-24-IllegalUnionPromoteCrash.ll 2006-01-24 19:36:27 +00:00
SCCP.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
SimplifyCFG.cpp
TailDuplication.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
TailRecursionElimination.cpp