llvm-6502/utils/TableGen
Jakob Stoklund Olesen b83ff84193 Introduce TargetRegisterInfo::getOverlaps(Reg), returning a list of all
registers that alias Reg, including itself. This is almost the same as the
existing getAliasSet() method, except for the inclusion of Reg.

The name matches the reflexive TRI::regsOverlap(x, y) relation.

It is very common to do stuff to a register and all its aliases:

  stuff(Reg)
  for (const unsigned *Alias = TRI->getAliasSet(Reg); *Alias; ++Alias)
    stuff(*Alias);

That can now be written as the simpler:

  for (const unsigned *Alias = TRI->getOverlaps(Reg); *Alias; ++Alias)
    stuff(*Alias);

This change requires a bit more constant space for the alias lists because Reg
is included and because the empty alias list cannot be shared any longer.

If the getAliasSet method is eventually removed, this space can be reclaimed by
sharing overlap lists. For instance, %rax and %eax have identical overlap sets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121800 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-14 23:03:42 +00:00
..
ARMDecoderEmitter.cpp Add support for MC-ized encoding of tLEApcrel and tLEApcrelJT. rdar://8755755 2010-12-14 22:28:03 +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 eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
AsmMatcherEmitter.h Stub out assembly matcher (.s -> MCInst) tblgen backend. 2009-07-11 19:39:44 +00:00
AsmWriterEmitter.cpp eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
AsmWriterEmitter.h enhance llvm-mc -show-inst to print the enum of an instruction, like so: 2010-02-11 22:57:32 +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 Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
ClangASTNodesEmitter.cpp Allow for creation of clang DeclNodes tables. 2010-05-30 07:21:42 +00:00
ClangASTNodesEmitter.h eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
ClangAttrEmitter.cpp Add a way to emit StringSwitch of clang attribute spellings. 2010-10-20 01:21:53 +00:00
ClangAttrEmitter.h Add a way to emit StringSwitch of clang attribute spellings. 2010-10-20 01:21:53 +00:00
ClangDiagnosticsEmitter.cpp eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
ClangDiagnosticsEmitter.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
CMakeLists.txt Merge System into Support. 2010-11-29 18:16:10 +00:00
CodeEmitterGen.cpp Move <map> include out of .h and into .cpp. 2010-12-13 01:05:54 +00:00
CodeEmitterGen.h Move <map> include out of .h and into .cpp. 2010-12-13 01:05:54 +00:00
CodeGenDAGPatterns.cpp eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
CodeGenDAGPatterns.h Add source Record* reference to PatternToMatch. Allows better diagnostics. 2010-12-07 23:05:49 +00:00
CodeGenInstruction.cpp Remove ARM isel hacks that fold large immediates into a pair of add, sub, and, 2010-11-17 20:13:28 +00:00
CodeGenInstruction.h Remove ARM isel hacks that fold large immediates into a pair of add, sub, and, 2010-11-17 20:13:28 +00:00
CodeGenIntrinsics.h Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMem 2010-08-05 23:36:21 +00:00
CodeGenRegisters.h add (and document) the ability for alias results to have 2010-11-06 19:57:21 +00:00
CodeGenTarget.cpp eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
CodeGenTarget.h eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
DAGISelEmitter.cpp Stop emitting predicate functions. They are no longer used. 2010-09-03 00:39:50 +00:00
DAGISelEmitter.h Stop emitting predicate functions. They are no longer used. 2010-09-03 00:39:50 +00:00
DAGISelMatcher.cpp add plumbing for handling multiple result nodes 2010-03-24 00:41:19 +00:00
DAGISelMatcher.h add plumbing for handling multiple result nodes 2010-03-24 00:41:19 +00:00
DAGISelMatcherEmitter.cpp Rework passing parent pointers into complexpatterns, I forgot 2010-09-21 22:00:25 +00:00
DAGISelMatcherGen.cpp factor the operand list (and related fields/operations) out of 2010-11-01 04:03:32 +00:00
DAGISelMatcherOpt.cpp add plumbing for handling multiple result nodes 2010-03-24 00:41:19 +00:00
DisassemblerEmitter.cpp eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
DisassemblerEmitter.h Sketch TableGen disassembler emitter, based on patch by Sean Callanan. 2009-11-25 02:13:23 +00:00
EDEmitter.cpp Add support for MC-ized encoding of tLEApcrel and tLEApcrelJT. rdar://8755755 2010-12-14 22:28:03 +00:00
EDEmitter.h remove option from tablegen for building static header. 2010-07-20 19:45:21 +00:00
FastISelEmitter.cpp Add source Record* reference to PatternToMatch. Allows better diagnostics. 2010-12-07 23:05:49 +00:00
FastISelEmitter.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10: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 Remove ARM isel hacks that fold large immediates into a pair of add, sub, and, 2010-11-17 20:13:28 +00:00
InstrInfoEmitter.h Replace TSFlagsFields and TSFlagsShifts with a simpler TSFlags field. 2010-04-05 03:10:20 +00:00
IntrinsicEmitter.cpp Rename AccessesArguments and AccessesArgumentsReadonly, and rewrite 2010-11-10 18:30:00 +00:00
IntrinsicEmitter.h Fixes for Microsoft Visual Studio 2010, from Steven Watanabe! 2010-05-11 06:17:44 +00:00
LLVMCConfigurationEmitter.cpp eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
LLVMCConfigurationEmitter.h eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
Makefile Merge System into Support. 2010-11-29 18:16:10 +00:00
NeonEmitter.cpp The Neon vqdmlsl_lane and vqdmlal_lane intrinsics have 4 arguments, not 3. 2010-12-10 06:37:53 +00:00
NeonEmitter.h Add operators for "_lane" variants of some saturating Neon multiply intrinsics 2010-12-08 22:36:08 +00:00
OptParserEmitter.cpp tblgen/OptParser: Use EmitSourceFileHeader. 2010-01-04 22:03:51 +00:00
OptParserEmitter.h TableGen: Add initial backend for clang Driver's option parsing. 2009-11-18 21:29:51 +00:00
Record.cpp Add support for using the `!if' operator when initializing variables: 2010-12-13 01:46:19 +00:00
Record.h Add support for using the `!if' operator when initializing variables: 2010-12-13 01:46:19 +00:00
RegisterInfoEmitter.cpp Introduce TargetRegisterInfo::getOverlaps(Reg), returning a list of all 2010-12-14 23:03:42 +00:00
RegisterInfoEmitter.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +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 eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
SubtargetEmitter.h Add support to model pipeline bypass / forwarding. 2010-09-28 23:50:49 +00:00
TableGen.cpp eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +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 Use this new fangled StringSwitch technology. 2010-12-08 20:02:49 +00:00
TGLexer.h I swear I did a make clean and make before committing all this... 2010-11-29 18:47:54 +00:00
TGParser.cpp Add support for using the `!if' operator when initializing variables: 2010-12-13 01:46:19 +00:00
TGParser.h eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
TGValueTypes.cpp Add contexts to some of the MVT APIs. No functionality change yet, just the infrastructure work needed to get the contexts to where they need to be first. 2009-08-12 00:36:31 +00:00
X86DisassemblerShared.h fix build and while at it remove a redudant include 2009-12-19 11:52:18 +00:00
X86DisassemblerTables.cpp Constify another 2 disassembler tables. 2010-10-23 09:28:42 +00:00
X86DisassemblerTables.h Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit 2009-12-19 02:59:52 +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 In Thumb2, direct branches can be encoded as either a "short" conditional branch with a null predicate, or 2010-12-13 19:31:11 +00:00
X86RecognizableInstr.h I swear I did a make clean and make before committing all this... 2010-11-29 18:47:54 +00:00