llvm-6502/lib/VMCore
Duncan Sands c43cee3fbb Move some shift transforms out of instcombine and into InstructionSimplify.
While there, I noticed that the transform "undef >>a X -> undef" was wrong.
For example if X is 2 then the top two bits must be equal, so the result can
not be anything.  I fixed this in the constant folder as well.  Also, I made
the transform for "X << undef" stronger: it now folds to undef always, even
though X might be zero.  This is in accordance with the LangRef, but I must
admit that it is fairly aggressive.  Also, I added "i32 X << 32 -> undef"
following the LangRef and the constant folder, likewise fairly aggressive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123417 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-14 00:37:45 +00:00
..
AsmWriter.cpp First step in fixing PR8927: 2011-01-08 16:42:36 +00:00
Attributes.cpp Merge System into Support. 2010-11-29 18:16:10 +00:00
AutoUpgrade.cpp
BasicBlock.cpp
CMakeLists.txt
ConstantFold.cpp Move some shift transforms out of instcombine and into InstructionSimplify. 2011-01-14 00:37:45 +00:00
ConstantFold.h
Constants.cpp Apparently APFloat::getZero doesn't like PPCDoubleDoubles. 2010-12-04 14:43:08 +00:00
ConstantsContext.h FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
Core.cpp MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm. 2010-12-16 03:29:14 +00:00
DebugLoc.cpp
Dominators.cpp make domtree verification print something useful on failure. 2011-01-08 19:55:55 +00:00
Function.cpp Remove the code from Function::dropAllReferences which replaced 2010-12-07 19:56:51 +00:00
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp There is no need for isAssociative to take the type as an argument anymore. 2010-12-20 13:10:23 +00:00
Instructions.cpp Simplify the allocation and freeing of Users' operand lists, now that 2011-01-07 20:29:02 +00:00
IntrinsicInst.cpp
IRBuilder.cpp add methods to IRBuilder to create memcpy/memset/memmove. 2010-12-26 22:49:25 +00:00
LeakDetector.cpp Merge System into Support. 2010-11-29 18:16:10 +00:00
LeaksContext.h
LLVMContext.cpp Add missing standard headers. Patch by Joerg Sonnenberger! 2010-12-19 20:43:38 +00:00
LLVMContextImpl.cpp
LLVMContextImpl.h
Makefile
Metadata.cpp
Module.cpp
Pass.cpp
PassManager.cpp Merge System into Support. 2010-11-29 18:16:10 +00:00
PassRegistry.cpp Silence a warning from non-standard warning avoidance code. 2011-01-05 21:50:21 +00:00
PrintModulePass.cpp
SymbolTableListTraitsImpl.h
Type.cpp Change all self assignments X=X to (void)X, so that we can turn on a 2010-12-23 00:58:24 +00:00
TypesContext.h Change all self assignments X=X to (void)X, so that we can turn on a 2010-12-23 00:58:24 +00:00
TypeSymbolTable.cpp
Use.cpp Simplify the allocation and freeing of Users' operand lists, now that 2011-01-07 20:29:02 +00:00
Value.cpp Change all self assignments X=X to (void)X, so that we can turn on a 2010-12-23 00:58:24 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp rename MVT::Flag to MVT::Glue. "Flag" is a terrible name for 2010-12-21 02:38:05 +00:00
Verifier.cpp Reject uses of unnamed_addr in declarations. 2011-01-13 01:30:30 +00:00