llvm-6502/utils/TableGen
Jakob Stoklund Olesen b95fd2d5fd 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132888 91177308-0d34-0410-b5e6-96231b3b80d8
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
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
AsmWriterInst.h
CallingConvEmitter.cpp
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
ClangAttrEmitter.cpp Extend Clang's TableGen emitter for attributes to support bool arguments. 2011-03-26 03:40:01 +00:00
ClangAttrEmitter.h
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
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
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
FastISelEmitter.cpp Fixed a few illegal paths with llvm_unreachable. Patch by Cameron McInally. 2011-06-07 20:41:31 +00:00
FastISelEmitter.h
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
InstrEnumEmitter.h
InstrInfoEmitter.cpp - Add "Bitcast" target instruction property for instructions which perform 2011-03-15 05:09:26 +00:00
InstrInfoEmitter.h
IntrinsicEmitter.cpp Change how tblgen generates attributes for intrinsics to use a single 2011-05-28 06:31:34 +00:00
IntrinsicEmitter.h
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
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
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
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
StringMatcher.h
StringToOffsetTable.h
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
TableGenBackend.h
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
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
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