llvm-mirror/utils/TableGen
Jakob Stoklund Olesen 16603c4371 Emit register unit lists for each register.
Register units are already used internally in TableGen to compute
register pressure sets and overlapping registers. This patch makes them
available to the code generators.

The register unit lists are differentially encoded so they can be reused
for many related registers. This keeps the total size of the lists below
200 bytes for most targets. ARM has the largest table at 560 bytes.

Add an MCRegUnitIterator for traversing the register unit lists. It
provides an abstract interface so the representation can be changed in
the future without changing all clients.

llvm-svn: 157650
2012-05-29 23:40:00 +00:00
..
AsmMatcherEmitter.cpp TableGen: AsmMatcher diagnostic when missing instruction mnemonic. 2012-05-06 17:33:14 +00:00
AsmMatcherEmitter.h Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
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 Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
AsmWriterInst.h trailing whitespace cleanup 2010-10-11 19:38:01 +00:00
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 Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
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 Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
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 ARM parsing datatype suffix variants for fixed-writeback VLD1/VST1 instructions. 2011-11-15 01:46:57 +00:00
CodeGenInstruction.h Restore hasPostISelHook tblgen flag. 2011-09-20 18:22:31 +00:00
CodeGenIntrinsics.h rdar://11542750 - llvm.trap should be marked no return. 2012-05-27 23:20:41 +00:00
CodeGenRegisters.cpp Emit register unit lists for each register. 2012-05-29 23:40:00 +00:00
CodeGenRegisters.h Emit register unit lists for each register. 2012-05-29 23:40:00 +00:00
CodeGenTarget.cpp rdar://11542750 - llvm.trap should be marked no return. 2012-05-27 23:20:41 +00:00
CodeGenTarget.h Revert "Emit the SubRegTable with the smallest possible integer type." 2012-03-01 17:30:35 +00:00
DAGISelEmitter.cpp Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
DAGISelEmitter.h Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
DAGISelMatcher.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
DAGISelMatcher.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
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 Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
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 Remove the old-style ARM disassembler, which is no longer used. 2011-11-09 23:56:06 +00:00
DisassemblerEmitter.h Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
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 Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
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 Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
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 switch AttrListPtr::get to take an ArrayRef, simplifying a lot of clients. 2012-05-28 01:47:44 +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 LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile Build system infrastructure for multiple tblgens. 2011-10-06 01:51:51 +00:00
PseudoLoweringEmitter.cpp Reserve number of MI operands to accom,odate complex patterns. 2012-03-20 21:07:51 +00:00
PseudoLoweringEmitter.h Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
RegisterInfoEmitter.cpp Emit register unit lists for each register. 2012-05-29 23:40:00 +00:00
RegisterInfoEmitter.h Added register unit sets to the target description. 2012-04-10 02:25:24 +00:00
SequenceToOffsetTable.h enhance the intrinsic info stuff to emit encodings that don't fit in 32-bits into a 2012-05-17 15:55:41 +00:00
SetTheory.cpp Teach tblgen's set theory "sequence" operator to support an optional stride operand. 2012-05-24 21:37:08 +00:00
SetTheory.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
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 Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
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 fix build and while at it remove a redudant include 2009-12-19 11:52:18 +00:00
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 Add support in the disassembler for ignoring the L-bit on certain VEX instructions. Mark instructions that have this behavior. Fixes PR10676. 2011-10-04 06:30:42 +00:00
X86ModRMFilters.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
X86ModRMFilters.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
X86RecognizableInstr.cpp Add intrinsics, code gen, assembler and disassembler support for the SSE4a extrq and insertq instructions. 2012-05-29 19:05:25 +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