llvm-6502/lib
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
..
Analysis Non-affine post-inc SCEV expansions have more code which must be 2010-03-02 01:59:21 +00:00
Archive From PR6228: 2010-02-04 06:19:43 +00:00
AsmParser Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move some 2010-02-16 14:50:09 +00:00
Bitcode Make the side-numbering of instructions used by metadata (which is needed to 2010-02-25 08:30:17 +00:00
CodeGen Rewrite chain handling validation and input TokenFactor handling 2010-03-02 02:22:10 +00:00
CompilerDriver Input files with empty suffixes must be passed to linker. 2010-02-23 09:05:21 +00:00
ExecutionEngine There are two ways of checking for a given type, for example isa<PointerType>(T) 2010-02-16 11:11:14 +00:00
Linker Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move some 2010-02-16 14:50:09 +00:00
MC pass in more section kinds, enough to get the .align 0x90 2010-02-26 18:32:26 +00:00
Support Don't potentially read past the end of the fill data when making a NaN from 2010-03-01 18:38:45 +00:00
System follow-on to PR6280 2010-02-14 18:20:09 +00:00
Target Remove dead parameter passing. 2010-03-02 01:55:18 +00:00
Transforms Non-affine post-inc SCEV expansions have more code which must be 2010-03-02 01:59:21 +00:00
VMCore Don't print "Modified" for passes which haven't modified anything. 2010-03-01 17:34:28 +00:00
Makefile remove llvm-db: it is completely broken and if anyone wants to do a debugger, 2009-10-05 02:29:51 +00:00