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
ARMDecoderEmitter.h
AsmMatcherEmitter.cpp
AsmMatcherEmitter.h
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
AsmWriterInst.cpp
AsmWriterInst.h
CallingConvEmitter.cpp
CallingConvEmitter.h
ClangASTNodesEmitter.cpp
ClangASTNodesEmitter.h
ClangAttrEmitter.cpp
ClangAttrEmitter.h
ClangDiagnosticsEmitter.cpp [tablegen] A couple of changes to ClangDiagnosticEmmitter. 2011-05-25 05:04:22 +00:00
ClangDiagnosticsEmitter.h
ClangSACheckersEmitter.cpp
ClangSACheckersEmitter.h
CMakeLists.txt Move TableGen's register bank classes to their own source file. 2011-06-09 18:42:07 +00:00
CodeEmitterGen.cpp
CodeEmitterGen.h
CodeGenDAGPatterns.cpp
CodeGenDAGPatterns.h
CodeGenInstruction.cpp
CodeGenInstruction.h
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
DAGISelEmitter.h
DAGISelMatcher.cpp
DAGISelMatcher.h
DAGISelMatcherEmitter.cpp
DAGISelMatcherGen.cpp
DAGISelMatcherOpt.cpp
DisassemblerEmitter.cpp
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
FixedLenDecoderEmitter.h
InstrEnumEmitter.cpp
InstrEnumEmitter.h
InstrInfoEmitter.cpp
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
LLVMCConfigurationEmitter.h
Makefile
NeonEmitter.cpp Add special-case range checking for VCVT_N intrinsic immediate operands. 2011-06-09 16:57:29 +00:00
NeonEmitter.h
OptParserEmitter.cpp
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
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
SubtargetEmitter.h
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
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
X86DisassemblerShared.h
X86DisassemblerTables.cpp
X86DisassemblerTables.h
X86ModRMFilters.h
X86RecognizableInstr.cpp
X86RecognizableInstr.h