llvm-6502/include/llvm/CodeGen
Andrew Trick 19273aec44 Clear virtual registers after they are no longer referenced.
Passes after RegAlloc should be able to rely on MRI->getNumVirtRegs() == 0.
This makes sharing code for pre/postRA passes more robust.
Now, to check if a pass is running before the RA pipeline begins, use MRI->isSSA().
To check if a pass is running after the RA pipeline ends, use !MRI->getNumVirtRegs().

PEI resets virtual regs when it's done scavenging.

PTX will either have to provide its own PEI pass or assign physregs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151032 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-21 04:51:23 +00:00
..
PBQP Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
Analysis.h
AsmPrinter.h Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
CalcSpillWeights.h
CallingConvLower.h
DFAPacketizer.h Fix library visibility problems with VLIWPacketizer. 2012-02-15 23:34:15 +00:00
EdgeBundles.h
FastISel.h
FunctionLoweringInfo.h Remove the eh.exception and eh.selector intrinsics. Also remove a hack to copy 2012-01-31 01:46:13 +00:00
GCMetadata.h
GCMetadataPrinter.h
GCs.h
GCStrategy.h
IntrinsicLowering.h
ISDOpcodes.h Add a RegisterMaskSDNode class. 2012-01-18 23:52:12 +00:00
JITCodeEmitter.h
LatencyPriorityQueue.h
LexicalScopes.h
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h Codegen pass definition cleanup. No functionality. 2012-02-08 21:23:13 +00:00
LiveInterval.h Drop the REDEF_BY_EC VNInfo flag. 2012-02-04 05:51:25 +00:00
LiveIntervalAnalysis.h Refactor 'handleMove' code in live intervals. Clients of LiveIntervals won't see 2012-02-17 18:44:18 +00:00
LiveStackAnalysis.h
LiveVariables.h Handle register masks in LiveVariables. 2012-01-21 00:58:53 +00:00
MachineBasicBlock.h Tidy up. Trailing whitespace. 2012-01-31 19:47:32 +00:00
MachineBlockFrequencyInfo.h
MachineBranchProbabilityInfo.h
MachineCodeEmitter.h
MachineCodeInfo.h
MachineConstantPool.h
MachineDominators.h Silence the new -Wempty-body warning. It appeared because the next statement 2012-02-14 22:17:14 +00:00
MachineFrameInfo.h
MachineFunction.h
MachineFunctionAnalysis.h
MachineFunctionPass.h
MachineInstr.h Make LiveIntervals::handleMove() bundle aware. 2012-02-15 23:21:33 +00:00
MachineInstrBuilder.h Add a new kind of MachineOperand: MO_RegisterMask. 2012-01-16 19:22:00 +00:00
MachineInstrBundle.h More bundle related API additions. 2012-01-19 07:47:03 +00:00
MachineJumpTableInfo.h Add a new MachineJumpTableInfo entry type, EK_GPRel64BlockAddress, which is 2012-02-03 04:33:00 +00:00
MachineLoopInfo.h
MachineLoopRanges.h
MachineMemOperand.h
MachineModuleInfo.h
MachineModuleInfoImpls.h
MachineOperand.h Clean up comment. 2012-02-10 19:27:34 +00:00
MachinePassRegistry.h
MachineRegisterInfo.h Clear virtual registers after they are no longer referenced. 2012-02-21 04:51:23 +00:00
MachineRelocation.h
MachineSSAUpdater.h
MachORelocation.h
Passes.h Allow CodeGen (llc) command line options to work as expected. 2012-02-15 03:21:51 +00:00
ProcessImplicitDefs.h
PseudoSourceValue.h
RegAllocPBQP.h
RegAllocRegistry.h
RegisterScavenging.h Fix some scavenger performance issues. 2012-01-29 01:29:28 +00:00
ResourcePriorityQueue.h VLIW specific scheduler framework that utilizes deterministic finite automaton (DFA). 2012-02-01 22:13:57 +00:00
RuntimeLibcalls.h
ScheduleDAG.h Move some llvm_unreachable's from r149849 out of switch statements to satisfy -Wcovered-switch-default 2012-02-06 08:17:43 +00:00
ScheduleHazardRecognizer.h
SchedulerRegistry.h VLIW specific scheduler framework that utilizes deterministic finite automaton (DFA). 2012-02-01 22:13:57 +00:00
ScoreboardHazardRecognizer.h
SelectionDAG.h Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
SelectionDAGISel.h Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
SelectionDAGNodes.h Add a RegisterMaskSDNode class. 2012-01-18 23:52:12 +00:00
SlotIndexes.h Add a check to make sure we don't assign slot indexes for instructions inside bundles. 2012-02-15 04:33:48 +00:00
TargetLoweringObjectFileImpl.h Modify the code that emits the module flags to use the new module flags accessor 2012-02-15 22:36:15 +00:00
ValueTypes.h v2f16 is a floating point type. Add symbolic floating point type ranges to prevent this kind of issue in the future. 2012-02-13 21:47:20 +00:00
ValueTypes.td Added MVT::v2f16 2012-01-12 23:14:13 +00:00