llvm-6502/utils/TableGen
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
..
AsmMatcherEmitter.cpp MC: Fix bug where trailing tied operands were forgotten; the X86 assembler 2010-02-12 01:46:54 +00:00
AsmMatcherEmitter.h
AsmWriterEmitter.cpp enhance llvm-mc -show-inst to print the enum of an instruction, like so: 2010-02-11 22:57:32 +00:00
AsmWriterEmitter.h enhance llvm-mc -show-inst to print the enum of an instruction, like so: 2010-02-11 22:57:32 +00:00
AsmWriterInst.cpp Changed AsmWriterOperand to also include the index of the 2010-02-10 02:27:43 +00:00
AsmWriterInst.h Changed AsmWriterOperand to also include the index of the 2010-02-10 02:27:43 +00:00
CallingConvEmitter.cpp
CallingConvEmitter.h
ClangDiagnosticsEmitter.cpp
ClangDiagnosticsEmitter.h
CMakeLists.txt The new isel passes all tests, time to start making it go fast. 2010-02-24 07:06:50 +00:00
CodeEmitterGen.cpp move target-independent opcodes out of TargetInstrInfo 2010-02-09 19:54:29 +00:00
CodeEmitterGen.h
CodeGenDAGPatterns.cpp resolve a fixme by having the .td file parser reject thigns like 2010-03-01 22:29:19 +00:00
CodeGenDAGPatterns.h Fix PR2590 by making PatternSortingPredicate actually be 2010-03-01 22:09:11 +00:00
CodeGenInstruction.cpp The mayHaveSideEffects flag is no longer used. 2010-02-27 23:47:46 +00:00
CodeGenInstruction.h The mayHaveSideEffects flag is no longer used. 2010-02-27 23:47:46 +00:00
CodeGenIntrinsics.h
CodeGenRegisters.h
CodeGenTarget.cpp move target-independent opcodes out of TargetInstrInfo 2010-02-09 19:54:29 +00:00
CodeGenTarget.h Remove the CPAttrParentAsRoot code, which is unused, and inconvenient 2010-01-04 20:31:55 +00:00
DAGISelEmitter.cpp resolve a fixme by having the .td file parser reject thigns like 2010-03-01 22:29:19 +00:00
DAGISelEmitter.h optimize tblgen compile time by eliminating the old isel. 2010-03-01 21:49:54 +00:00
DAGISelMatcher.cpp Rewrite chain handling validation and input TokenFactor handling 2010-03-02 02:22:10 +00:00
DAGISelMatcher.h Rewrite chain handling validation and input TokenFactor handling 2010-03-02 02:22:10 +00:00
DAGISelMatcherEmitter.cpp Rewrite chain handling validation and input TokenFactor handling 2010-03-02 02:22:10 +00:00
DAGISelMatcherGen.cpp Rewrite chain handling validation and input TokenFactor handling 2010-03-02 02:22:10 +00:00
DAGISelMatcherOpt.cpp resolve a fixme by having the .td file parser reject thigns like 2010-03-01 22:29:19 +00:00
DisassemblerEmitter.cpp Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit 2009-12-19 02:59:52 +00:00
DisassemblerEmitter.h
EDEmitter.cpp Updated the enhanced disassembly library's TableGen 2010-02-10 03:23:23 +00:00
EDEmitter.h Added a custom TableGen backend to support the 2010-01-29 00:21:04 +00:00
FastISelEmitter.cpp Don't use the ISD::NodeType enum for SDNode opcodes, as CodeGen 2010-01-05 22:26:32 +00:00
FastISelEmitter.h
InstrEnumEmitter.cpp fix this to work more determinstically, patch by Thomas Veith! 2010-02-19 07:02:20 +00:00
InstrEnumEmitter.h
InstrInfoEmitter.cpp Introduce a new CodeGenInstruction::ConstraintInfo class 2010-02-10 01:45:28 +00:00
InstrInfoEmitter.h
IntrinsicEmitter.cpp Partially address a README by having functionattrs consider calls to 2010-01-06 08:45:52 +00:00
IntrinsicEmitter.h
LLVMCConfigurationEmitter.cpp Trailing whitespace. 2010-02-23 09:05:01 +00:00
LLVMCConfigurationEmitter.h
Makefile
OptParserEmitter.cpp tblgen/OptParser: Use EmitSourceFileHeader. 2010-01-04 22:03:51 +00:00
OptParserEmitter.h
Record.cpp Add an !eq() operator to TableGen. It operates on strings only. 2010-01-05 19:11:42 +00:00
Record.h Fix PR2590 by making PatternSortingPredicate actually be 2010-03-01 22:09:11 +00:00
RegisterInfoEmitter.cpp
RegisterInfoEmitter.h
StringToOffsetTable.h
SubtargetEmitter.cpp Have TableGen emit code that uses dbgs() rather than errs(). 2010-01-05 17:47:41 +00:00
SubtargetEmitter.h
TableGen.cpp Added a custom TableGen backend to support the 2010-01-29 00:21:04 +00:00
TableGenBackend.cpp
TableGenBackend.h
TGLexer.cpp Add an !eq() operator to TableGen. It operates on strings only. 2010-01-05 19:11:42 +00:00
TGLexer.h Add an !eq() operator to TableGen. It operates on strings only. 2010-01-05 19:11:42 +00:00
TGParser.cpp Add an !eq() operator to TableGen. It operates on strings only. 2010-01-05 19:11:42 +00:00
TGParser.h
TGValueTypes.cpp
X86DisassemblerShared.h fix build and while at it remove a redudant include 2009-12-19 11:52:18 +00:00
X86DisassemblerTables.cpp Suppress compiler warning. 2009-12-23 00:45:10 +00:00
X86DisassemblerTables.h Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit 2009-12-19 02:59:52 +00:00
X86ModRMFilters.h Add missing newlines at EOF (for clang++). 2009-12-19 04:16:48 +00:00
X86RecognizableInstr.cpp Changed the table generator so that the X86 2010-02-24 02:56:25 +00:00
X86RecognizableInstr.h Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit 2009-12-19 02:59:52 +00:00