llvm-6502/include/llvm/Target
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
..
Mangler.h Revert r107205 and r107207. 2010-06-29 22:34:52 +00:00
SubtargetFeature.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Target.td Remove ARM isel hacks that fold large immediates into a pair of add, sub, and, 2010-11-17 20:13:28 +00:00
TargetAsmBackend.h Fixed version of 121434 with no new memory leaks. 2010-12-10 07:39:47 +00:00
TargetAsmInfo.h Fixed version of 121434 with no new memory leaks. 2010-12-10 07:39:47 +00:00
TargetAsmLexer.h Moved InstallLexer() from the X86-specific AsmLexer 2010-01-31 02:28:18 +00:00
TargetAsmParser.h implement rdar://8456378 and PR7557 - support for the fstsw, 2010-09-29 01:50:45 +00:00
TargetCallingConv.h Inside the calling convention logic LocVT is always a simple 2010-11-03 11:35:31 +00:00
TargetCallingConv.td Fix a couple of typos. 2010-08-27 21:38:11 +00:00
TargetData.h Merge System into Support. 2010-11-29 18:16:10 +00:00
TargetELFWriterInfo.h Jim Asked us to move DataLayout on ARM back to the most specialized classes. Do 2010-10-03 18:59:45 +00:00
TargetFrameInfo.h Move more PEI-related hooks to TFI 2010-11-27 23:05:25 +00:00
TargetInstrDesc.h Merge System into Support. 2010-11-29 18:16:10 +00:00
TargetInstrInfo.h Move callee-saved regs spills / reloads to TFI 2010-11-27 23:05:03 +00:00
TargetInstrItineraries.h Model Cortex-a9 load to SUB, RSB, ADD, ADC, SBC, RSC, CMN, MVN, or CMP 2010-09-29 22:42:35 +00:00
TargetIntrinsicInfo.h Reintroduce support for overloading target intrinsics 2009-11-05 03:19:08 +00:00
TargetJITInfo.h Merge System into Support. 2010-11-29 18:16:10 +00:00
TargetLowering.h Enable sibling call optimization of libcalls which are expanded during 2010-11-30 23:55:39 +00:00
TargetLoweringObjectFile.h the latest assembler that runs on powerpc 10.4 machines doesn't 2010-09-27 06:44:54 +00:00
TargetMachine.h Change some methods in MCDwarf.cpp to be able to handle an arbitrary 2010-11-19 02:26:16 +00:00
TargetOpcodes.h Rename DBG_LABEL PROLOG_LABEL, because it's only used during prolog emission and 2010-07-16 22:20:36 +00:00
TargetOptions.h Grammar. 2010-07-29 18:11:28 +00:00
TargetRegisterInfo.h Introduce TargetRegisterInfo::getOverlaps(Reg), returning a list of all 2010-12-14 23:03:42 +00:00
TargetRegistry.h Fixed version of 121434 with no new memory leaks. 2010-12-10 07:39:47 +00:00
TargetSchedule.td Comments about operand cycles and pipeline forwarding pathes. 2010-09-30 22:01:50 +00:00
TargetSelect.h Fix LLVM target initialization to deal with sociopathic outside projects 2010-08-30 18:34:48 +00:00
TargetSelectionDAG.td Renaming ISD::BIT_CONVERT to ISD::BITCAST to better reflect the LLVM IR concept. 2010-11-23 03:31:01 +00:00
TargetSelectionDAGInfo.h reimplement memcpy/memmove/memset lowering to use MachinePointerInfo 2010-09-21 05:40:29 +00:00
TargetSubtarget.h Allow target to specify regclass for which antideps will only be broken along the critical path. 2009-11-13 19:52:48 +00:00