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 The pshufw instruction came about in MMX2 when SSE was introduced. Don't place 2010-10-04 20:24:01 +00:00
BasicBlock.cpp Now that hasConstantValue has been made simpler, it may return the 2010-11-17 10:23:23 +00:00
CMakeLists.txt Build with RTTI and exceptions disabled. Only in GCC for now. 2010-10-17 02:26:16 +00:00
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 Make GlobalValue alignment consistent with load, store, and alloca 2010-07-28 20:56:48 +00:00
GVMaterializer.cpp
InlineAsm.cpp Apply patch for use-after-free in InlineAsm constant handling, 2010-11-02 17:59:27 +00:00
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 More SmallVectorImpls. 2010-10-12 00:15:27 +00:00
LLVMContextImpl.h now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate the 2010-11-17 08:13:01 +00:00
Makefile
Metadata.cpp When an MDNode changes to become identical to another MDNode, 2010-09-28 22:07:19 +00:00
Module.cpp Clarify the ownership model of LLVMContext and Module. Namely, contexts own 2010-09-08 18:03:32 +00:00
Pass.cpp Another step towards getting rid of static ctors for pass registration: have INITIALIZE_PASS AND INITIALIZE_AG_PASS 2010-10-05 22:58:16 +00:00
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 Now with fewer extraneous semicolons! 2010-10-07 22:25:06 +00:00
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