llvm/lib/Transforms/Scalar
Nick Lewycky 3dfd7bf511 "ret (constexpr)" can't be folded into a Constant. Add a method to
Analysis/ConstantFolding to fold ConstantExpr's, then make instcombine use it
to try to use targetdata to fold constant expressions on void instructions.

Also extend the icmp(inttoptr, inttoptr) folding to handle the case where
int size != ptr size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51559 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-25 20:56:15 +00:00
..
ADCE.cpp Remove ADCE's ability to delete loops. This ability is now implemented in a 2008-05-16 04:34:51 +00:00
BasicBlockPlacement.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
CodeGenPrepare.cpp Tidy up BasicBlock::getFirstNonPHI, and change a bunch of places to 2008-05-23 21:05:58 +00:00
CondPropagate.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
ConstantProp.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
DCE.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
DeadStoreElimination.cpp 80 col / tabs fixes 2008-05-13 01:48:26 +00:00
GCSE.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
GVN.cpp Teach GVN to not assert on vector comparisons 2008-05-18 19:49:05 +00:00
GVNPRE.cpp API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) 2008-05-16 19:29:10 +00:00
IndVarSimplify.cpp Tidy up BasicBlock::getFirstNonPHI, and change a bunch of places to 2008-05-23 21:05:58 +00:00
InstructionCombining.cpp "ret (constexpr)" can't be folded into a Constant. Add a method to 2008-05-25 20:56:15 +00:00
JumpThreading.cpp Tidy up BasicBlock::getFirstNonPHI, and change a bunch of places to 2008-05-23 21:05:58 +00:00
LICM.cpp Tidy up BasicBlock::getFirstNonPHI, and change a bunch of places to 2008-05-23 21:05:58 +00:00
LoopDeletion.cpp Clean ups for loop deletion based on Chris' feedback. 2008-05-16 04:32:45 +00:00
LoopIndexSplit.cpp Do not erase induction variable increment if it is used outside the loop. 2008-05-19 22:23:55 +00:00
LoopRotation.cpp Tidy up BasicBlock::getFirstNonPHI, and change a bunch of places to 2008-05-23 21:05:58 +00:00
LoopStrengthReduce.cpp Remove x86.sse2.loadh.pd and x86.sse2.loadl.pd. These will be lowered into load and shuffle instructions. 2008-05-24 00:07:06 +00:00
LoopUnroll.cpp Bill pointed out that system headers should be 2008-05-16 09:30:00 +00:00
LoopUnswitch.cpp Tidy up BasicBlock::getFirstNonPHI, and change a bunch of places to 2008-05-23 21:05:58 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00
MemCpyOptimizer.cpp API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) 2008-05-16 19:29:10 +00:00
PredicateSimplifier.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
Reassociate.cpp API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) 2008-05-16 19:29:10 +00:00
Reg2Mem.cpp API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) 2008-05-16 19:29:10 +00:00
Scalar.cpp C and Objective Caml bindings for mem2reg and reg2mem. 2008-03-20 17:16:03 +00:00
ScalarReplAggregates.cpp Use isSingleValueType instead of isFirstClassType to 2008-05-23 00:12:03 +00:00
SCCP.cpp Fix PR2358 by resolving calls with undef arguments to overdefined. 2008-05-24 03:59:33 +00:00
SimplifyCFGPass.cpp rename SimplifyCFG.cpp -> SimplifyCFGPass.cpp 2008-05-14 20:38:44 +00:00
SimplifyLibCalls.cpp Fix PR2341 - when the length is 4 use an i32 not 2008-05-19 09:27:24 +00:00
TailDuplication.cpp Tidy up BasicBlock::getFirstNonPHI, and change a bunch of places to 2008-05-23 21:05:58 +00:00
TailRecursionElimination.cpp Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better. 2008-05-15 10:04:30 +00:00