llvm-6502/include/llvm
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
..
ADT Remove debugging code. 2010-12-14 00:37:52 +00:00
Analysis Introduce a new PartialAlias response for AliasAnalysis. For most 2010-12-10 19:38:58 +00:00
Assembly
Bitcode Merge System into Support. 2010-11-29 18:16:10 +00:00
CodeGen Fixed version of 121434 with no new memory leaks. 2010-12-10 07:39:47 +00:00
CompilerDriver Merge System into Support. 2010-11-29 18:16:10 +00:00
Config Support/FileSystem: Fix MinGW build. It doesn't have _chsize_s. 2010-12-03 18:48:56 +00:00
ExecutionEngine Merge System into Support. 2010-11-29 18:16:10 +00:00
MC ARM Fixups relative to thumb functions need to have the low bit of the value 2010-12-14 18:46:57 +00:00
Object Mach-O/ARM: Add relocation type enumeration. 2010-12-10 06:19:49 +00:00
Support Remove dead header. 2010-12-10 05:12:54 +00:00
Target Introduce TargetRegisterInfo::getOverlaps(Reg), returning a list of all 2010-12-14 23:03:42 +00:00
Transforms remove the dead (and terrible) llvm::RemoveSuccessor function. 2010-12-14 06:51:55 +00:00
AbstractTypeUser.h
Argument.h
Attributes.h Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op 2010-10-25 15:37:09 +00:00
AutoUpgrade.h
BasicBlock.h Merge System into Support. 2010-11-29 18:16:10 +00:00
CallGraphSCCPass.h
CallingConv.h
CMakeLists.txt
Constant.h
Constants.h clarify comment 2010-12-03 01:11:13 +00:00
DerivedTypes.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Function.h Switch attribute macros to use 'LLVM_' as a prefix. We retain the old names 2010-10-23 08:10:43 +00:00
GlobalAlias.h
GlobalValue.h
GlobalVariable.h
GVMaterializer.h
InitializePasses.h Stub out a new LiveDebugVariables pass. 2010-11-30 02:17:10 +00:00
InlineAsm.h Mult-alt constraint incremental development step 3. 2010-10-29 23:37:38 +00:00
InstrTypes.h
Instruction.def
Instruction.h
Instructions.h Fix paste-o in ExtractValueInst::getIndexedType() comments. 2010-12-03 14:54:33 +00:00
IntrinsicInst.h remove the pointless check of MemoryUseIntrinsic from 2010-11-30 02:03:47 +00:00
Intrinsics.h
Intrinsics.td Make @llvm.invariant.start not be readonly, so that it has side-effects. This 2010-11-30 04:13:41 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td
IntrinsicsXCore.td
LinkAllPasses.h Reference RegionPass to stop it being eliminated. 2010-10-25 15:36:50 +00:00
LinkAllVMCore.h Missed a spot removing Alarm. 2010-12-07 18:50:33 +00:00
Linker.h
LLVMContext.h now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate the 2010-11-17 08:13:01 +00:00
Metadata.h
Module.h Merge System into Support. 2010-11-29 18:16:10 +00:00
OperandTraits.h
Operator.h
Pass.h
PassAnalysisSupport.h
PassManager.h
PassManagers.h
PassRegistry.h
PassSupport.h Merge System into Support. 2010-11-29 18:16:10 +00:00
SymbolTableListTraits.h
Type.h
TypeSymbolTable.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Use.h
User.h
Value.h Factor out Instruction::isSafeToSpeculativelyExecute's code for 2010-11-11 21:23:25 +00:00
ValueSymbolTable.h Merge System into Support. 2010-11-29 18:16:10 +00:00