mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-09 10:31:14 +00:00
fcad79671f
The sub-registers explicitly listed in SubRegs in the .td files form a tree. In a complicated register bank, it is possible to have sub-register relationships across sub-trees. For example, the ARM NEON double vector Q0_Q1 is a tree: Q0_Q1 = [Q0, Q1], Q0 = [D0, D1], Q1 = [D2, D3] But we also define the DPair register D1_D2 = [D1, D2] which is fully contained in Q0_Q1. This patch teaches TableGen to find such sub-register relationships, and assign sub-register indices to them. In the example, TableGen will create a dsub_1_dsub_2 sub-register index, and add D1_D2 as a sub-register of Q0_Q1. This will eventually enable the coalescer to handle copies of skewed sub-registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156587 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
AsmMatcherEmitter.cpp | ||
AsmMatcherEmitter.h | ||
AsmWriterEmitter.cpp | ||
AsmWriterEmitter.h | ||
AsmWriterInst.cpp | ||
AsmWriterInst.h | ||
CallingConvEmitter.cpp | ||
CallingConvEmitter.h | ||
CMakeLists.txt | ||
CodeEmitterGen.cpp | ||
CodeEmitterGen.h | ||
CodeGenDAGPatterns.cpp | ||
CodeGenDAGPatterns.h | ||
CodeGenInstruction.cpp | ||
CodeGenInstruction.h | ||
CodeGenIntrinsics.h | ||
CodeGenRegisters.cpp | ||
CodeGenRegisters.h | ||
CodeGenTarget.cpp | ||
CodeGenTarget.h | ||
DAGISelEmitter.cpp | ||
DAGISelEmitter.h | ||
DAGISelMatcher.cpp | ||
DAGISelMatcher.h | ||
DAGISelMatcherEmitter.cpp | ||
DAGISelMatcherGen.cpp | ||
DAGISelMatcherOpt.cpp | ||
DFAPacketizerEmitter.cpp | ||
DFAPacketizerEmitter.h | ||
DisassemblerEmitter.cpp | ||
DisassemblerEmitter.h | ||
EDEmitter.cpp | ||
EDEmitter.h | ||
FastISelEmitter.cpp | ||
FastISelEmitter.h | ||
FixedLenDecoderEmitter.cpp | ||
FixedLenDecoderEmitter.h | ||
InstrInfoEmitter.cpp | ||
InstrInfoEmitter.h | ||
IntrinsicEmitter.cpp | ||
IntrinsicEmitter.h | ||
LLVMBuild.txt | ||
Makefile | ||
PseudoLoweringEmitter.cpp | ||
PseudoLoweringEmitter.h | ||
RegisterInfoEmitter.cpp | ||
RegisterInfoEmitter.h | ||
SequenceToOffsetTable.h | ||
SetTheory.cpp | ||
SetTheory.h | ||
StringToOffsetTable.h | ||
SubtargetEmitter.cpp | ||
SubtargetEmitter.h | ||
TableGen.cpp | ||
TGValueTypes.cpp | ||
X86DisassemblerShared.h | ||
X86DisassemblerTables.cpp | ||
X86DisassemblerTables.h | ||
X86ModRMFilters.cpp | ||
X86ModRMFilters.h | ||
X86RecognizableInstr.cpp | ||
X86RecognizableInstr.h |