llvm-6502/utils/TableGen
Chris Lattner 82781b938a Teach the grouper some simple tricks about looking contradictory
predicates.  For example if we have:

Scope:
  CheckType i32
    ABC
  CheckType f32
    DEF
  CheckType i32
    GHI

Then we know that we can transform this into:
Scope:
  CheckType i32
    Scope
      ABC
      GHI
  CheckType f32
    DEF

This reorders the check for the 'GHI' predicate above
the check for the 'DEF' predidate.  However it is safe to do this
in this situation because we know that a node cannot have both an
i32 and f32 type.

We're now doing more factoring that the old isel did.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97312 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-27 07:49:13 +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 use DEBUG instead of DebugFlag directly so that this 2010-02-27 06:51:44 +00:00
CodeGenDAGPatterns.h merge some code. 2010-02-23 06:16:51 +00:00
CodeGenInstruction.cpp Introduce a new CodeGenInstruction::ConstraintInfo class 2010-02-10 01:45:28 +00:00
CodeGenInstruction.h work around a gcc bug with -Wuninitialized. 2010-02-10 21:22:51 +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 change the scope node to include a list of children to be checked 2010-02-25 19:00:39 +00:00
DAGISelEmitter.h
DAGISelMatcher.cpp Teach the grouper some simple tricks about looking contradictory 2010-02-27 07:49:13 +00:00
DAGISelMatcher.h Teach the grouper some simple tricks about looking contradictory 2010-02-27 07:49:13 +00:00
DAGISelMatcherEmitter.cpp add some helpful comments to the emitter 2010-02-26 08:15:02 +00:00
DAGISelMatcherGen.cpp rename fooMatcherNode to fooMatcher. 2010-02-25 02:04:40 +00:00
DAGISelMatcherOpt.cpp Teach the grouper some simple tricks about looking contradictory 2010-02-27 07:49:13 +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 Add an !eq() operator to TableGen. It operates on strings only. 2010-01-05 19:11:42 +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