1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/include/llvm
Duncan Sands 44c273d907 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.

llvm-svn: 123417
2011-01-14 00:37:45 +00:00
..
ADT Remove MachineRegisterInfo::getLastVirtReg(), it was giving wrong results 2011-01-09 21:58:20 +00:00
Analysis Move some shift transforms out of instcombine and into InstructionSimplify. 2011-01-14 00:37:45 +00:00
Assembly
Bitcode Merge System into Support. 2010-11-29 18:16:10 +00:00
CodeGen Teach frame lowering to ignore debug values after the terminators. 2011-01-13 21:28:52 +00:00
CompilerDriver Merge System into Support. 2010-11-29 18:16:10 +00:00
Config Add some platform tests. 2011-01-13 19:17:28 +00:00
ExecutionEngine Merge System into Support. 2010-11-29 18:16:10 +00:00
MC Model :upper16: and :lower16: as ARM specific MCTargetExpr. This is a step 2011-01-13 07:58:56 +00:00
Object MC/Mach-O: Shuffle enums a bit to make it harder to inadvertently use the wrong 2010-12-21 15:26:45 +00:00
Support Don't bother conditionalizing the use of SROA in -O1 mode. We're already running it unconditionally 2011-01-14 00:36:40 +00:00
Target Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there. 2011-01-10 12:39:04 +00:00
Transforms Fix FoldSingleEntryPHINodes to update memdep and AA when it deletes 2011-01-11 08:13:40 +00:00
AbstractTypeUser.h
Argument.h
Attributes.h Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op 2010-10-25 15:37:09 +00:00
AutoUpgrade.h
BasicBlock.h Merge System into Support. 2010-11-29 18:16:10 +00:00
CallGraphSCCPass.h
CallingConv.h Adding target specific calling conventions to support the MBlaze GCC function 2010-12-15 20:14:09 +00:00
CMakeLists.txt
Constant.h
Constants.h FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
DerivedTypes.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Function.h Switch attribute macros to use 'LLVM_' as a prefix. We retain the old names 2010-10-23 08:10:43 +00:00
GlobalAlias.h FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
GlobalValue.h First step in fixing PR8927: 2011-01-08 16:42:36 +00:00
GlobalVariable.h FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
GVMaterializer.h
InitializePasses.h Add the SpillPlacement analysis pass. 2011-01-06 01:21:53 +00:00
InlineAsm.h Do not model all INLINEASM instructions as having unmodelled side effects. 2011-01-07 23:50:32 +00:00
InstrTypes.h FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
Instruction.def
Instruction.h There is no need for isAssociative to take the type as an argument anymore. 2010-12-20 13:10:23 +00:00
Instructions.h FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
IntrinsicInst.h remove the pointless check of MemoryUseIntrinsic from 2010-11-30 02:03:47 +00:00
Intrinsics.h
Intrinsics.td Make @llvm.invariant.start not be readonly, so that it has side-effects. This 2010-11-30 04:13:41 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td Add Neon VCVT instructions for f32 <-> f16 conversions. 2010-12-15 22:14:12 +00:00
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td The pshufw instruction came about in MMX2 when SSE was introduced. Don't place 2010-10-04 20:24:01 +00:00
IntrinsicsXCore.td
LinkAllPasses.h sketch out a new early cse pass. No functionality yet. 2011-01-02 21:47:05 +00:00
LinkAllVMCore.h Missed a spot removing Alarm. 2010-12-07 18:50:33 +00:00
Linker.h
LLVMContext.h now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate the 2010-11-17 08:13:01 +00:00
Metadata.h
Module.h Merge System into Support. 2010-11-29 18:16:10 +00:00
OperandTraits.h FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
Operator.h Avoid warnings about implicit conversions to `bool' in MSVC. This time 2010-09-25 20:27:36 +00:00
Pass.h Add RegionPass support. 2010-10-20 01:54:44 +00:00
PassAnalysisSupport.h
PassManager.h
PassManagers.h Add RegionPass support. 2010-10-20 01:54:44 +00:00
PassRegistry.h Attempt to fix valgrind complaining about (benign) leaks in pass registration by having PassRegistry 2010-10-20 22:22:30 +00:00
PassSupport.h Merge System into Support. 2010-11-29 18:16:10 +00:00
SymbolTableListTraits.h
Type.h
TypeSymbolTable.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Use.h Simplify the allocation and freeing of Users' operand lists, now that 2011-01-07 20:29:02 +00:00
User.h Simplify the allocation and freeing of Users' operand lists, now that 2011-01-07 20:29:02 +00:00
Value.h Revert r122114 (CallbackVH observing use-list changes) because it caused severe slowdowns on the Linux self-host configuration. 2010-12-20 22:28:03 +00:00
ValueSymbolTable.h Merge System into Support. 2010-11-29 18:16:10 +00:00