llvm/utils/TableGen
Chris Lattner 2cacec55f9 Completely rewrite tblgen's type inference mechanism,
changing the primary datastructure from being a 
"std::vector<unsigned char>" to being a new TypeSet class
that actually has (gasp) invariants!

This changes more things than I remember, but one major
innovation here is that it enforces that named input 
values agree in type with their output values.

This also eliminates code that transparently assumes (in 
some cases) that SDNodeXForm input/output types are the
same, because this is wrong in many case.

This also eliminates a bug which caused a lot of ambiguous
patterns to go undetected, where a register class would
sometimes pick the first possible type, causing an
ambiguous pattern to get arbitrary results.

With all the recent target changes, this causes no 
functionality change!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98534 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15 06:00:16 +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 Completely rewrite tblgen's type inference mechanism, 2010-03-15 06:00:16 +00:00
CodeGenDAGPatterns.h Completely rewrite tblgen's type inference mechanism, 2010-03-15 06:00:16 +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 Completely rewrite tblgen's type inference mechanism, 2010-03-15 06:00:16 +00:00
CodeGenTarget.h Completely rewrite tblgen's type inference mechanism, 2010-03-15 06:00:16 +00:00
DAGISelEmitter.cpp Completely rewrite tblgen's type inference mechanism, 2010-03-15 06:00:16 +00:00
DAGISelEmitter.h optimize tblgen compile time by eliminating the old isel. 2010-03-01 21:49:54 +00:00
DAGISelMatcher.cpp add some helper functions and implement isContradictory 2010-03-07 06:29:26 +00:00
DAGISelMatcher.h add some helper functions and implement isContradictory 2010-03-07 06:29:26 +00:00
DAGISelMatcherEmitter.cpp so hey, it turns out that the histogram was completely wrong, because 2010-03-04 01:34:29 +00:00
DAGISelMatcherGen.cpp Completely rewrite tblgen's type inference mechanism, 2010-03-15 06:00:16 +00:00
DAGISelMatcherOpt.cpp turn off debug spew 2010-03-07 07:21:24 +00:00
DisassemblerEmitter.cpp
DisassemblerEmitter.h
EDEmitter.cpp Check in tablegen changes to fix disassembler related failures caused by r98465. 2010-03-14 05:15:39 +00:00
EDEmitter.h Added a custom TableGen backend to support the 2010-01-29 00:21:04 +00:00
FastISelEmitter.cpp Completely rewrite tblgen's type inference mechanism, 2010-03-15 06:00:16 +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
IntrinsicEmitter.h
LLVMCConfigurationEmitter.cpp Make it not an error to specify -O* options several times. 2010-03-05 04:46:39 +00:00
LLVMCConfigurationEmitter.h
Makefile
OptParserEmitter.cpp
OptParserEmitter.h
Record.cpp
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
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
TGLexer.h
TGParser.cpp
TGParser.h
TGValueTypes.cpp
X86DisassemblerShared.h
X86DisassemblerTables.cpp
X86DisassemblerTables.h
X86ModRMFilters.h
X86RecognizableInstr.cpp Check in tablegen changes to fix disassembler related failures caused by r98465. 2010-03-14 05:15:39 +00:00
X86RecognizableInstr.h