llvm-6502/include/llvm/CodeGen
Evan Cheng c92da3882e There are times when the coalescer would not coalesce away a copy but the copy
can be eliminated by the allocator is the destination and source targets the
same register. The most common case is when the source and destination registers
are in different class. For example, on x86 mov32to32_ targets GR32_ which
contains a subset of the registers in GR32.

The allocator can do 2 things:
1. Set the preferred allocation for the destination of a copy to that of its source.
2. After allocation is done, change the allocation of a copy destination (if
   legal) so the copy can be eliminated.

This eliminates 443 extra moves from 403.gcc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43662 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-03 07:20:12 +00:00
..
AsmPrinter.h Revert 42908 for now. 2007-10-14 05:57:21 +00:00
CallingConvLower.h
Collector.h
CollectorMetadata.h
Collectors.h
DwarfWriter.h
ELFRelocation.h
FileWriters.h
IntrinsicLowering.h
LinkAllCodegenComponents.h
LiveInterval.h Update comments. 2007-10-17 02:16:40 +00:00
LiveIntervalAnalysis.h There are times when the coalescer would not coalesce away a copy but the copy 2007-11-03 07:20:12 +00:00
LiveVariables.h
MachineBasicBlock.h
MachineCodeEmitter.h
MachineConstantPool.h Add explicit keywords and remove spurious trailing semicolons. 2007-08-27 14:50:10 +00:00
MachineDominators.h Add a newline at the end of the file. 2007-10-31 08:49:24 +00:00
MachineFrameInfo.h
MachineFunction.h
MachineFunctionPass.h
MachineInstr.h Optionally create a MachineInstr without default implicit operands. 2007-10-13 02:23:01 +00:00
MachineInstrBuilder.h
MachineJumpTableInfo.h
MachineLocation.h
MachineModuleInfo.h
MachinePassRegistry.h
MachineRelocation.h
MachORelocation.h
Passes.h Add the skeleton of a better PHI elimination pass. 2007-10-31 03:37:57 +00:00
RegAllocRegistry.h
RegisterCoalescer.h Cosmetic. 2007-10-12 08:40:44 +00:00
RegisterScavenging.h
RuntimeLibcalls.h More ppcf128 issues (maybe the last)? 2007-10-19 00:59:18 +00:00
SchedGraphCommon.h
ScheduleDAG.h If a node that defines a physical register that is expensive to copy. The 2007-10-05 01:39:18 +00:00
SchedulerRegistry.h
SelectionDAG.h Add support for byval function whose argument is not 32 bit aligned. 2007-10-19 10:41:11 +00:00
SelectionDAGISel.h
SelectionDAGNodes.h Fix comment typos. 2007-10-25 12:28:12 +00:00
SimpleRegisterCoalescing.h - Coalesce extract_subreg when both intervals are relatively small. 2007-11-01 06:22:48 +00:00
SSARegMap.h EXTRACT_SUBREG coalescing support. The coalescer now treats EXTRACT_SUBREG like 2007-10-12 08:50:34 +00:00
ValueTypes.h Document the fact that the verifier currently requires the 2007-10-16 13:34:11 +00:00
ValueTypes.td