llvm/lib/VMCore
Chris Lattner 2f690c84fa Implement a few symbolic constant folding things. X ? Y : Y is Y.
Fold:
seteq ({ short }* cast (int 1 to { short }*), { short }* null)
setlt ({ short }* cast (int 1 to { short }*), { short }* cast (int 2 to { short }*))

to false/true.  These last two commonly occur in the output of compilers that
tag integers, like cozmic's scheme compiler.

Tested by Regression/Assembler/ConstantExprFold.llx


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25112 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-05 07:49:30 +00:00
..
AsmWriter.cpp print section info 2005-11-12 00:10:19 +00:00
BasicBlock.cpp Add a helper method 2005-08-12 22:14:06 +00:00
ConstantFold.cpp Implement a few symbolic constant folding things. X ? Y : Y is Y. 2006-01-05 07:49:30 +00:00
ConstantFold.h Remove trailing whitespace 2005-04-21 23:48:37 +00:00
ConstantFolding.h Remove trailing whitespace 2005-04-21 23:48:37 +00:00
ConstantRange.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Constants.cpp Fix an assertion to allow constant folding of packed values 2006-01-04 01:01:04 +00:00
Dominators.cpp more HP-UX cleanliness 2005-12-26 08:35:06 +00:00
Function.cpp continued readcyclecounter support 2005-11-11 16:47:30 +00:00
Globals.cpp Change the signature of replaceUsesOfWithOnConstant. The bool was always 2005-10-04 18:13:04 +00:00
Instruction.cpp add new helper function 2005-08-08 05:21:50 +00:00
Instructions.cpp Get logical operations to like packed types, allow BinOp::getNot to create 2005-12-21 18:22:19 +00:00
LeakDetector.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Makefile only build .a on alpha 2005-08-14 15:14:34 +00:00
Mangler.cpp Fix handling of multiple unnamed globals with the same type 2005-11-15 01:32:03 +00:00
Module.cpp Add a flag to Module::getGlobalVariable to allow it to return vars with 2005-12-05 05:30:21 +00:00
ModuleProvider.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Pass.cpp Patch #6's in Saem's refactor-the-passmanager patch series. From him: 2006-01-04 07:47:13 +00:00
PassManagerT.h Patch #6's in Saem's refactor-the-passmanager patch series. From him: 2006-01-04 07:47:13 +00:00
SymbolTable.cpp Fix an iterator invalidation problem in code used by the -strip pass 2005-10-31 18:42:37 +00:00
SymbolTableListTraitsImpl.h Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Type.cpp * Fix DerivedType::dropAllTypeUses to not change the number of types in a 2005-11-16 06:09:47 +00:00
Value.cpp Change the signature of replaceUsesOfWithOnConstant. The bool was always 2005-10-04 18:13:04 +00:00
ValueTypes.cpp Add the majority of the vector machien value types we expect to support, 2005-11-29 05:45:29 +00:00
Verifier.cpp Get logical operations to like packed types, allow BinOp::getNot to create 2005-12-21 18:22:19 +00:00