llvm-6502/include/llvm
Chris Lattner c6d7ad3c7d Rewrite chain handling validation and input TokenFactor handling
stuff now that we don't care about emulating the old broken 
behavior of the old isel.  This eliminates the 
'CheckChainCompatible' check (along with IsChainCompatible) which
did an incorrect and inefficient scan *up* the chain nodes which
happened as the pattern was being formed and does the validation
at the end in HandleMergeInputChains when it forms a structural 
pattern.  This scans "down" the graph, which means that it is
quickly bounded by nodes already selected.  This also handles
token factors that get "trapped" in the dag.

Removing the CheckChainCompatible nodes also shrinks the 
generated tables by about 6K for X86 (down to 83K).

There are two pieces remaining before I can nuke PreprocessRMW:
1. I xfailed a test because we're now producing worse code in a 
   case that has nothing to do with the change: it turns out that
   our use of MorphNodeTo will leave dead nodes in the graph
   which (depending on how the graph is walked) end up causing
   bogus uses of chains and blocking matches.  This is really 
   bad for other reasons, so I'll fix this in a follow-up patch.

2. CheckFoldableChainNode needs to be improved to handle the TF.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97539 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-02 02:22:10 +00:00
..
ADT Add an override to StringRef::getAsInteger which parses into an APInt. 2010-02-28 09:55:58 +00:00
Analysis remove anders-aa from mainline, it isn't maintained and is 2010-03-01 19:24:17 +00:00
Assembly Add a hook to AssemblyAnnotationWriter to allow custom info comments 2010-02-10 20:41:46 +00:00
Bitcode Add support for a union type in LLVM IR. Patch by Talin! 2010-02-12 20:49:41 +00:00
CodeGen Rewrite chain handling validation and input TokenFactor handling 2010-03-02 02:22:10 +00:00
CompilerDriver Correct option forwarding: initial implementation. 2010-02-23 09:04:44 +00:00
Config Reconfigure with autoconf-2.60, and fix autoconf.ac to work with that version. 2010-02-03 02:11:49 +00:00
ExecutionEngine Move --march, --mcpu, and --mattr from JIT/TargetSelect.cpp to lli.cpp. 2010-02-05 16:19:36 +00:00
MC This is the first patch to put the needed bits in place to eventually allow code 2010-02-23 18:26:34 +00:00
Support Revert r97245 which seems to be causing performance problems. 2010-02-28 05:34:05 +00:00
System Fix various doxygen warnings. 2010-02-22 04:10:52 +00:00
Target Remove dead parameter passing. 2010-03-02 01:55:18 +00:00
Transforms Revert r97245 which seems to be causing performance problems. 2010-02-28 05:34:05 +00:00
AbstractTypeUser.h
Argument.h
Attributes.h Reduce size of 'StackAlignment' field from 5 to 3 bits. Seriously, who needs a 2010-02-21 04:26:06 +00:00
AutoUpgrade.h
BasicBlock.h
CallGraphSCCPass.h
CallingConv.h
CMakeLists.txt
Constant.h eliminate a bunch of pointless LLVMContext arguments. 2010-02-01 20:48:08 +00:00
Constants.h Add more information to the getSizeOf comment. 2010-02-25 15:55:28 +00:00
DerivedTypes.h Add support for a union type in LLVM IR. Patch by Talin! 2010-02-12 20:49:41 +00:00
Function.h
GlobalAlias.h
GlobalValue.h Fix "the the" and similar typos. 2010-02-10 16:03:48 +00:00
GlobalVariable.h
GVMaterializer.h
InlineAsm.h Fix "the the" and similar typos. 2010-02-10 16:03:48 +00:00
InstrTypes.h doxygenize some comments, patch by Peter Collingbourne! 2010-02-12 21:54:28 +00:00
Instruction.def
Instruction.h Fix "the the" and similar typos. 2010-02-10 16:03:48 +00:00
Instructions.h Fix various doxygen warnings. 2010-02-22 04:10:52 +00:00
IntrinsicInst.h
Intrinsics.h Mention vAny and iPTRAny in a comment. 2010-02-09 16:59:14 +00:00
Intrinsics.td
IntrinsicsAlpha.td
IntrinsicsARM.td
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td
IntrinsicsXCore.td
LinkAllPasses.h remove anders-aa from mainline, it isn't maintained and is 2010-03-01 19:24:17 +00:00
LinkAllVMCore.h
Linker.h Fix "the the" and similar typos. 2010-02-10 16:03:48 +00:00
LLVMContext.h
Metadata.h Fix comments. 2010-02-18 21:03:36 +00:00
Module.h
OperandTraits.h
Operator.h
Pass.h Fix a few unused parameter warnings. 2010-02-17 23:55:26 +00:00
PassAnalysisSupport.h
PassManager.h
PassManagers.h Fix "the the" and similar typos. 2010-02-10 16:03:48 +00:00
PassSupport.h
SymbolTableListTraits.h
Type.h Correct LastPrimitiveTyID: MetadataType is a primitive type. 2010-02-19 09:18:53 +00:00
TypeSymbolTable.h
Use.h
User.h
Value.h Add support for a union type in LLVM IR. Patch by Talin! 2010-02-12 20:49:41 +00:00
ValueSymbolTable.h