llvm-mirror/utils/TableGen
Jakob Stoklund Olesen 4c1c395789 Tweak hash function and compress hash tables.
Make the hash tables as small as possible while ensuring that all
lookups can be done in less than 8 probes.

Cut the aliases hash table in half by only storing a < b pairs - it
is a symmetric relation.

Use larger multipliers on the initial hash function to ensure that it
properly covers the whole table, and to resolve some clustering in the
very regular ARM register bank.

This reduces the size of most of these tables by 4x - 8x. For instance,
the ARM tables shrink from 48 KB to 8 KB.

llvm-svn: 132888
2011-06-12 07:04:32 +00:00
..
ARMDecoderEmitter.cpp Disassembly of A8.6.59 LDR (literal) Encoding T1 (16-bit thumb instruction) should 2011-04-22 19:12:43 +00:00
ARMDecoderEmitter.h I swear I did a make clean and make before committing all this... 2010-11-29 18:47:54 +00:00
AsmMatcherEmitter.cpp Tidy up. Add missing newline to generated file. 2011-05-03 19:09:56 +00:00
AsmMatcherEmitter.h Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
AsmWriterEmitter.cpp Use a more efficient data structure for the "operand map". The number of 2011-05-23 00:18:33 +00:00
AsmWriterEmitter.h * Add classes that support the "feature" information. 2011-03-21 08:31:53 +00:00
AsmWriterInst.cpp factor the operand list (and related fields/operations) out of 2010-11-01 04:03:32 +00:00
AsmWriterInst.h trailing whitespace cleanup 2010-10-11 19:38:01 +00:00
CallingConvEmitter.cpp In the calling convention logic, ValVT is always a legal type, 2010-11-04 10:49:57 +00:00
CallingConvEmitter.h Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
ClangASTNodesEmitter.cpp TableGen: Keep the order of DECL_CONTEXT() for DeclNodes.td. RecordVector may be used instead of RecordSet. 2011-04-11 23:20:28 +00:00
ClangASTNodesEmitter.h eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
ClangAttrEmitter.cpp Extend Clang's TableGen emitter for attributes to support bool arguments. 2011-03-26 03:40:01 +00:00
ClangAttrEmitter.h Add a way to emit StringSwitch of clang attribute spellings. 2010-10-20 01:21:53 +00:00
ClangDiagnosticsEmitter.cpp [tablegen] A couple of changes to ClangDiagnosticEmmitter. 2011-05-25 05:04:22 +00:00
ClangDiagnosticsEmitter.h Initial work to improve documentation for Clang's diagnostics, from Matthieu Monrocq 2011-04-15 22:04:07 +00:00
ClangSACheckersEmitter.cpp ClangSAEmClangSACheckersEmitter, emit info about groups. 2011-03-30 00:22:00 +00:00
ClangSACheckersEmitter.h Add the ClangSACheckersEmitter tablegen backend which will be used for the clang static analyzer. 2011-02-14 17:58:52 +00:00
CMakeLists.txt Move TableGen's register bank classes to their own source file. 2011-06-09 18:42:07 +00:00
CodeEmitterGen.cpp Fix a bug in tblgen that caused incorrect encodings on instructions that specified operands with "bit" instead of "bits<1>". 2011-04-28 17:51:45 +00:00
CodeEmitterGen.h Move <map> include out of .h and into .cpp. 2010-12-13 01:05:54 +00:00
CodeGenDAGPatterns.cpp since the VT is fixed for a ImmLeaf, there is no reason to expose it to the matching code. 2011-04-17 22:17:27 +00:00
CodeGenDAGPatterns.h Implement major new fastisel functionality: the matcher can now handle immediates with 2011-04-18 06:22:33 +00:00
CodeGenInstruction.cpp - Add "Bitcast" target instruction property for instructions which perform 2011-03-15 05:09:26 +00:00
CodeGenInstruction.h change OperandsSignature to use SmallVector<char> instead of std::vector<string> 2011-04-17 22:24:13 +00:00
CodeGenIntrinsics.h Change how tblgen generates attributes for intrinsics to use a single 2011-05-28 06:31:34 +00:00
CodeGenRegisters.cpp Compute lists of sub-regs, super-regs, and overlapping regs. 2011-06-12 03:05:52 +00:00
CodeGenRegisters.h Compute lists of sub-regs, super-regs, and overlapping regs. 2011-06-12 03:05:52 +00:00
CodeGenTarget.cpp Move the list of registers into CodeGenRegBank. 2011-06-11 00:28:06 +00:00
CodeGenTarget.h Move the list of registers into CodeGenRegBank. 2011-06-11 00:28:06 +00:00
DAGISelEmitter.cpp Teach TableGen to pre-calculate register enum values when creating the 2011-03-11 02:19:02 +00:00
DAGISelEmitter.h Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
DAGISelMatcher.cpp Rework our internal representation of node predicates to expose more 2011-04-17 21:38:24 +00:00
DAGISelMatcher.h Rework our internal representation of node predicates to expose more 2011-04-17 21:38:24 +00:00
DAGISelMatcherEmitter.cpp Rework our internal representation of node predicates to expose more 2011-04-17 21:38:24 +00:00
DAGISelMatcherGen.cpp Fix PR9947 by placing OPFL_MemRefs on the node using memory operands rather than 2011-05-19 21:13:30 +00:00
DAGISelMatcherOpt.cpp Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
DisassemblerEmitter.cpp Add support for the VIA PadLock instructions. 2011-04-04 16:58:13 +00:00
DisassemblerEmitter.h Sketch TableGen disassembler emitter, based on patch by Sean Callanan. 2009-11-25 02:13:23 +00:00
EDEmitter.cpp Fix ssat and ssat16 encodings for ARM and Thumb. The bit position value 2011-05-31 03:33:27 +00:00
EDEmitter.h remove option from tablegen for building static header. 2010-07-20 19:45:21 +00:00
FastISelEmitter.cpp Fixed a few illegal paths with llvm_unreachable. Patch by Cameron McInally. 2011-06-07 20:41:31 +00:00
FastISelEmitter.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
FixedLenDecoderEmitter.cpp Enhance the fixed-length disassembler to support the callbacks necessary for symbolic disassembly. 2011-04-18 18:42:26 +00:00
FixedLenDecoderEmitter.h Add FixedLenDecoderEmitter, the skeleton of a new disassembler emitter for fixed-length instruction encodings. 2011-02-18 21:51:29 +00:00
InstrEnumEmitter.cpp eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
InstrEnumEmitter.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
InstrInfoEmitter.cpp - Add "Bitcast" target instruction property for instructions which perform 2011-03-15 05:09:26 +00:00
InstrInfoEmitter.h Replace TSFlagsFields and TSFlagsShifts with a simpler TSFlags field. 2010-04-05 03:10:20 +00:00
IntrinsicEmitter.cpp Change how tblgen generates attributes for intrinsics to use a single 2011-05-28 06:31:34 +00:00
IntrinsicEmitter.h Fixes for Microsoft Visual Studio 2010, from Steven Watanabe! 2010-05-11 06:17:44 +00:00
LLVMCConfigurationEmitter.cpp llvmc: Make it possible to provide an argument to (join). 2011-05-05 04:24:58 +00:00
LLVMCConfigurationEmitter.h various cleanups to tblgen, patch by Garrison Venn! 2010-12-15 04:48:22 +00:00
Makefile Merge System into Support. 2010-11-29 18:16:10 +00:00
NeonEmitter.cpp Add special-case range checking for VCVT_N intrinsic immediate operands. 2011-06-09 16:57:29 +00:00
NeonEmitter.h Use intrinsics for Neon vmull operations. Radar 9208957. 2011-03-31 00:09:35 +00:00
OptParserEmitter.cpp Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
OptParserEmitter.h TableGen: Add initial backend for clang Driver's option parsing. 2009-11-18 21:29:51 +00:00
Record.cpp Rework the logic to not rely on undefined behaviour (1LL << 64). Also simplify. 2011-06-03 08:25:39 +00:00
Record.h now that predicates have a decent abstraction layer on them, introduce a new 2011-04-17 22:05:17 +00:00
RegisterInfoEmitter.cpp Tweak hash function and compress hash tables. 2011-06-12 07:04:32 +00:00
RegisterInfoEmitter.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
SetTheory.cpp Drop a RecordKeeper reference that wasn't necessary. 2011-06-04 07:49:55 +00:00
SetTheory.h Drop a RecordKeeper reference that wasn't necessary. 2011-06-04 07:49:55 +00:00
StringMatcher.cpp fix a fixme in stringmatcher, having it generate nice looking code if the 2010-10-30 19:57:17 +00:00
StringMatcher.h allow specifying an indentation level for the string matcher. 2010-09-06 03:50:59 +00:00
StringToOffsetTable.h Use raw_ostream::write_escaped instead of EscapeString. 2009-10-17 20:43:19 +00:00
SubtargetEmitter.cpp Increase SubtargetFeatureKV Value and Implies fields to 64 bits since some targets are getting very close to 32 subtarget features. Also teach tablegen to error when there are more than 64 features to guard against undefined behavior. rdar://9282332 2011-04-15 19:35:46 +00:00
SubtargetEmitter.h Add annotations to tablegen-generated processor itineraries, or replace them with something meaningful. I want to be able to read and debug the generated tables. 2011-04-01 02:22:47 +00:00
TableGen.cpp Drop a RecordKeeper reference that wasn't necessary. 2011-06-04 07:49:55 +00:00
TableGenBackend.cpp Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
TableGenBackend.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
TGLexer.cpp Add new -d option to tblgen. It writes a make(1)-style dependency file. 2011-06-01 13:10:15 +00:00
TGLexer.h Add new -d option to tblgen. It writes a make(1)-style dependency file. 2011-06-01 13:10:15 +00:00
TGParser.cpp Add missing 'return on failure'. Previously we'd crash after emitting 2011-03-11 19:52:52 +00:00
TGParser.h Add new -d option to tblgen. It writes a make(1)-style dependency file. 2011-06-01 13:10:15 +00:00
TGValueTypes.cpp Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
X86DisassemblerShared.h fix build and while at it remove a redudant include 2009-12-19 11:52:18 +00:00
X86DisassemblerTables.cpp Add support for the VIA PadLock instructions. 2011-04-04 16:58:13 +00:00
X86DisassemblerTables.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
X86ModRMFilters.h I swear I did a make clean and make before committing all this... 2010-11-29 18:47:54 +00:00
X86RecognizableInstr.cpp Add support for the VIA PadLock instructions. 2011-04-04 16:58:13 +00:00
X86RecognizableInstr.h X86 table-generator and disassembler support for the AVX 2011-03-15 01:23:15 +00:00