llvm-6502/include/llvm
Manman Ren 91c5346d91 X86: replace SUB with CMP if possible
This patch will optimize the following
        movq    %rdi, %rax
        subq    %rsi, %rax
        cmovsq  %rsi, %rdi
        movq    %rdi, %rax
to
        cmpq    %rsi, %rdi
        cmovsq  %rsi, %rdi
        movq    %rdi, %rax

Perform this optimization if the actual result of SUB is not used.

rdar: 11540023


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157755 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-31 17:20:29 +00:00
..
ADT DenseMap's move assignment operator needs to return *this 2012-05-29 20:33:09 +00:00
Analysis Teach SCEV's icmp simplification logic that a-b == 0 is equivalent to a == b. 2012-05-30 18:32:23 +00:00
Assembly
Bitcode revert r156383: removal of TYPE_CODE_FUNCTION_OLD 2012-05-23 15:19:39 +00:00
CodeGen Add an insertPass API to TargetPassConfig. <rdar://problem/11498613> 2012-05-30 00:17:12 +00:00
Config Nuke a few dead remnants of the CBE. 2012-05-05 17:45:12 +00:00
DebugInfo
ExecutionEngine
MC Emit register unit root tables. 2012-05-31 17:18:26 +00:00
Object Refactor data-in-code annotations. 2012-05-18 19:12:01 +00:00
Support ConstantRangesSet renamed to IntegersSubset. CRSBuilder renamed to IntegersSubsetMapping. 2012-05-29 12:26:47 +00:00
TableGen Don't put TGParser scratch results in the output. 2012-05-24 22:17:36 +00:00
Target X86: replace SUB with CMP if possible 2012-05-31 17:20:29 +00:00
Transforms add a new pass to instrument loads and stores for run-time bounds checking 2012-05-22 17:19:09 +00:00
Argument.h
Attributes.h PR12696: Attribute bits above 1<<30 are not encoded in bitcode 2012-05-28 15:45:43 +00:00
AutoUpgrade.h
BasicBlock.h
CallGraphSCCPass.h
CallingConv.h
CMakeLists.txt
Constant.h
Constants.h
DefaultPasses.h
DerivedTypes.h
Function.h Teach Function::hasAddressTaken that BlockAddress doesn't really take 2012-05-12 08:30:16 +00:00
GlobalAlias.h
GlobalValue.h
GlobalVariable.h
GVMaterializer.h
InitializePasses.h Add an insertPass API to TargetPassConfig. <rdar://problem/11498613> 2012-05-30 00:17:12 +00:00
InlineAsm.h
InstrTypes.h
Instruction.def
Instruction.h
Instructions.h ConstantRangesSet renamed to IntegersSubset. CRSBuilder renamed to IntegersSubsetMapping. 2012-05-29 12:26:47 +00:00
IntrinsicInst.h
Intrinsics.h generalize this to allow any argument. 2012-05-27 19:17:16 +00:00
Intrinsics.td Add llvm.fabs intrinsic. 2012-05-28 21:48:37 +00:00
IntrinsicsARM.td
IntrinsicsCellSPU.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsHexagon.td Hexagon V5 intrinsics support. 2012-05-11 19:39:13 +00:00
IntrinsicsNVVM.td Remove the PTX back-end and all of its artifacts (triple, etc.) 2012-05-24 21:38:21 +00:00
IntrinsicsPowerPC.td
IntrinsicsX86.td Add intrinsic for pclmulqdq instruction. 2012-05-31 04:37:40 +00:00
IntrinsicsXCore.td
LinkAllPasses.h add a new pass to instrument loads and stores for run-time bounds checking 2012-05-22 17:19:09 +00:00
LinkAllVMCore.h
Linker.h
LLVMContext.h
Metadata.h
Module.h I noticed that named metadata doesn't provide a direct way of getting at the 2012-05-16 12:25:43 +00:00
OperandTraits.h
Operator.h Remove support for the special 'fast' value for fpmath accuracy for the moment. 2012-04-16 19:39:33 +00:00
Pass.h
PassAnalysisSupport.h
PassManager.h
PassManagers.h Use ArrayRef instead of an explicit vector type. 2012-05-14 07:53:40 +00:00
PassRegistry.h
PassSupport.h
SymbolTableListTraits.h
Type.h
Use.h
User.h Grammar. 2012-05-16 22:08:58 +00:00
Value.h The MDString class stored a StringRef to the string which was already in a 2012-04-10 20:12:16 +00:00
ValueSymbolTable.h