llvm-6502/utils/TableGen
Jakob Stoklund Olesen b81cbc271f Compute topological signatures of registers.
TableGen creates new register classes and sub-register indices based on
the sub-register structure present in the register bank. So far, it has
been doing that on a per-register basis, but that is not very efficient.

This patch teaches TableGen to compute topological signatures for
registers, and use that to reduce the amount of redundant computation.
Registers get the same TopoSig if they have identical sub-register
structure.

TopoSigs are not currently exposed outside TableGen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156761 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-14 15:10:07 +00:00
..
AsmMatcherEmitter.cpp TableGen: AsmMatcher diagnostic when missing instruction mnemonic. 2012-05-06 17:33:14 +00:00
AsmMatcherEmitter.h
AsmWriterEmitter.cpp Revert "Replace some uses of std:map<std::string,...> with StringMap." 2012-04-18 20:24:49 +00:00
AsmWriterEmitter.h Remove getInstructionName from MCInstPrinter implementations in favor of using the instruction name table from MCInstrInfo. Reduces static data in the InstPrinter implementations. 2012-04-02 07:01:04 +00:00
AsmWriterInst.cpp
AsmWriterInst.h
CallingConvEmitter.cpp Convert more static tables of registers used by calling convention to uint16_t to reduce space. 2012-03-11 07:57:25 +00:00
CallingConvEmitter.h
CMakeLists.txt Move llvm-tblgen's StringMatcher into the TableGen library so it can 2012-05-02 17:32:48 +00:00
CodeEmitterGen.cpp TableGen/CodeEmitterGen.cpp: Fix an expression of generating bitmask. 2012-03-09 14:52:44 +00:00
CodeEmitterGen.h
CodeGenDAGPatterns.cpp tblgen: remove duplicated newlines. 2012-04-18 19:22:47 +00:00
CodeGenDAGPatterns.h Convert assert(0) to llvm_unreachable 2012-02-05 07:21:30 +00:00
CodeGenInstruction.cpp
CodeGenInstruction.h
CodeGenIntrinsics.h
CodeGenRegisters.cpp Compute topological signatures of registers. 2012-05-14 15:10:07 +00:00
CodeGenRegisters.h Compute topological signatures of registers. 2012-05-14 15:10:07 +00:00
CodeGenTarget.cpp Revert "Emit the SubRegTable with the smallest possible integer type." 2012-03-01 17:30:35 +00:00
CodeGenTarget.h Revert "Emit the SubRegTable with the smallest possible integer type." 2012-03-01 17:30:35 +00:00
DAGISelEmitter.cpp
DAGISelEmitter.h
DAGISelMatcher.cpp
DAGISelMatcher.h
DAGISelMatcherEmitter.cpp Convert assert(0) to llvm_unreachable 2012-02-05 07:21:30 +00:00
DAGISelMatcherGen.cpp fix a failure path to print the right thing, part of PR12357 2012-03-26 19:11:51 +00:00
DAGISelMatcherOpt.cpp
DFAPacketizerEmitter.cpp DFAPacketizerEmitter: Prune includes. 2012-03-12 21:32:58 +00:00
DFAPacketizerEmitter.h DFAPacketizerEmitter: Prune includes. 2012-03-12 21:32:58 +00:00
DisassemblerEmitter.cpp
DisassemblerEmitter.h
EDEmitter.cpp Fixed decoding for the ARM cdp2 instruction. The restriction on the coprocessor number was removed for this instruction. 2012-04-18 13:02:55 +00:00
EDEmitter.h
FastISelEmitter.cpp Make fast isel use &XXXRegClass instead of XXXRegisterClass. Not a functional change since XXXRegisterClass is just a constant alias of &XXXRegClass, but should probably go away. 2012-04-19 06:52:06 +00:00
FastISelEmitter.h
FixedLenDecoderEmitter.cpp Second part for the 153874 one 2012-04-02 15:46:46 +00:00
FixedLenDecoderEmitter.h Const-correct the FixedLenDecoderEmitter. Pass a few things by const reference instead of value to avoid some copying. 2012-03-16 05:58:09 +00:00
InstrInfoEmitter.cpp Tidy up. Whitespace. 2012-04-11 21:02:30 +00:00
InstrInfoEmitter.h Remove incorrect comment. 2012-04-11 21:09:54 +00:00
IntrinsicEmitter.cpp Move llvm-tblgen's StringMatcher into the TableGen library so it can 2012-05-02 17:32:48 +00:00
IntrinsicEmitter.h TableGen: Don't emit the llvm intrinsic -> gcc builtin table, its only user was the c backend. 2012-03-26 11:08:03 +00:00
LLVMBuild.txt
Makefile
PseudoLoweringEmitter.cpp Reserve number of MI operands to accom,odate complex patterns. 2012-03-20 21:07:51 +00:00
PseudoLoweringEmitter.h
RegisterInfoEmitter.cpp Remove TargetRegisterClass::SuperRegClasses. 2012-05-04 03:30:28 +00:00
RegisterInfoEmitter.h Added register unit sets to the target description. 2012-04-10 02:25:24 +00:00
SequenceToOffsetTable.h Use SequenceToOffsetTable in emitRegisterNameString. 2012-03-30 21:12:52 +00:00
SetTheory.cpp Add an (interleave A, B, ...) SetTheory operator. 2012-01-24 18:06:05 +00:00
SetTheory.h
StringToOffsetTable.h Revert r152202: "Use uint16_t to store InstrNameIndices in MCInstrInfo." 2012-03-15 18:05:57 +00:00
SubtargetEmitter.cpp Don't use enums larger than 1 << 31 for target features. 2012-01-03 23:04:28 +00:00
SubtargetEmitter.h
TableGen.cpp Removing unused default switch cases in switches over enums that already account for all enumeration values explicitly. 2012-01-16 23:24:27 +00:00
TGValueTypes.cpp Revert pragma clang suppressions that confuse GCC. (I'll worry about how to suppress/fix these problems properly when we figure out how to keep LLVM -Wweak-vtables clean) 2011-12-20 08:22:49 +00:00
X86DisassemblerShared.h
X86DisassemblerTables.cpp Use uint8_t instead of enums to store values in X86 disassembler table. Shaves 150k off the size of X86DisassemblerDecoder.o 2012-03-04 02:16:41 +00:00
X86DisassemblerTables.h
X86ModRMFilters.cpp
X86ModRMFilters.h
X86RecognizableInstr.cpp Add support for AVX enhanced comparison predicates. Patch from Kay Tiong Khoo. 2012-04-03 05:20:24 +00:00
X86RecognizableInstr.h X86 disassembler support for jcxz, jecxz, and jrcxz. Fixes PR11643. Patch by Kay Tiong Khoo. 2012-02-27 01:54:29 +00:00