llvm-6502/include/llvm/CodeGen
Evan Cheng 70071434ae Initial support for copy elimination by commuting its definition MI.
PR1877.
A3 = op A2 B0<kill>                                                                                                                                                                            
...                                                                                                                                                                                     
B1 = A3      <- this copy                                                                                                                                                                      
...                                                                                                                                                                                          
   = op A3   <- more uses                                                                                                                                                                      
                                                                                                                                                                                                 
==>                                                                                                                                                                                             
                                                                                                                                                                                            
B2 = op B0 A2<kill>                                                                                                                                                                            
...                                                                                                                                                                                          
B1 = B2      <- now an identify copy                                                                                                                                                           
...                                                                                                                                                                                          
   = op B2   <- more uses

This speeds up FreeBench/neural by 29%, Olden/bh by 12%, oopack_v1p8 by 53%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47046 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-13 03:01:43 +00:00
..
AsmPrinter.h Unbreak teh build. 2008-02-05 00:25:13 +00:00
BreakCriticalMachineEdge.h Fixes for BreakCriticalMachineCodeEdge by Fernando. 2008-01-27 19:51:03 +00:00
CallingConvLower.h Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
Collector.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
CollectorMetadata.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Collectors.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
DwarfWriter.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ELFRelocation.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
FileWriters.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
IntrinsicLowering.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
LinkAllCodegenComponents.h Setting GlobalDirective in TargetAsmInfo by default rather than 2008-01-07 02:31:11 +00:00
LiveInterval.h - Added removeValNo() to remove all live ranges of a particular value#. 2008-02-13 02:48:26 +00:00
LiveIntervalAnalysis.h Initial support for copy elimination by commuting its definition MI. 2008-02-13 03:01:43 +00:00
LiveVariables.h Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
MachineBasicBlock.h properly encapsulate the parent field of MBB and MI with get/set accessors. 2007-12-31 04:56:33 +00:00
MachineCodeEmitter.h X86 JIT PIC jumptable support. 2008-01-05 02:26:58 +00:00
MachineConstantPool.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineDominators.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineFrameInfo.h Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
MachineFunction.h Rename SSARegMap -> MachineRegisterInfo in keeping with the idea 2007-12-31 04:13:23 +00:00
MachineFunctionPass.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineInstr.h Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
MachineInstrBuilder.h Re-apply the memory operand changes, with a fix for the static 2008-02-06 22:27:42 +00:00
MachineJumpTableInfo.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineLocation.h Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
MachineLoopInfo.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineModuleInfo.h SDIsel processes llvm.dbg.declare by recording the variable debug information descriptor and its corresponding stack frame index in MachineModuleInfo. This only works if the local variable is "homed" in the stack frame. It does not work for byval parameter, etc. 2008-02-02 04:07:54 +00:00
MachineOperand.h Add explicit keywords. 2008-01-29 11:36:12 +00:00
MachinePassRegistry.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineRegisterInfo.h Added debugging routine dumpUses. 2008-02-13 02:45:38 +00:00
MachineRelocation.h Fix the failures in the PPC JIT by marking relocation entries for 2008-01-21 22:27:27 +00:00
MachORelocation.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MemOperand.h Re-apply the memory operand changes, with a fix for the static 2008-02-06 22:27:42 +00:00
Passes.h Don't recalculate the loop info and loop dominators analyses if they're 2008-01-04 20:54:55 +00:00
PseudoSourceValue.h Follow Chris' suggestion; change the PseudoSourceValue accessors 2008-02-07 18:41:25 +00:00
RegAllocRegistry.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
RegisterCoalescer.h Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
RegisterScavenging.h Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
RuntimeLibcalls.h Output sinl for a long double FSIN node, not sin. 2008-01-10 10:28:30 +00:00
SchedGraphCommon.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ScheduleDAG.h Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
SchedulerRegistry.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
SelectionDAG.h Convert SelectionDAG::ComputeMaskedBits to use APInt instead of uint64_t. 2008-02-13 00:35:47 +00:00
SelectionDAGISel.h Enabling the target-independent garbage collection infrastructure by hooking it 2008-01-07 01:30:38 +00:00
SelectionDAGNodes.h Add a doxygen comment for SrcValueSDNode, to make its purpose 2008-02-12 18:52:52 +00:00
ValueTypes.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ValueTypes.td remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00