llvm-6502/include/llvm/CodeGen
Jakob Stoklund Olesen e4f273908b Freeze the reserved registers as soon as isel is complete.
Also provide an MRI::getReservedRegs() function to access the frozen
register set, and isReserved() and isAllocatable() methods to test
individual registers.

The various implementations of TRI::getReservedRegs() are quite
complicated, and many passes need to look at the reserved register set.
This patch makes it possible for these passes to use the cached copy in
MRI, avoiding a lot of malloc traffic and repeated calculations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165982 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-15 21:33:06 +00:00
..
PBQP
Analysis.h
AsmPrinter.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
CalcSpillWeights.h
CallingConvLower.h Fix PR13899 2012-10-01 16:44:04 +00:00
CommandFlags.h Add a new interface to allow IR-level passes to access codegen-specific information. 2012-10-10 22:04:55 +00:00
DFAPacketizer.h
EdgeBundles.h
FastISel.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
FunctionLoweringInfo.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
GCMetadata.h
GCMetadataPrinter.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
GCs.h
GCStrategy.h
IntrinsicLowering.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
ISDOpcodes.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
JITCodeEmitter.h
LatencyPriorityQueue.h
LexicalScopes.h
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h
LiveInterval.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
LiveIntervalAnalysis.h Merge into undefined lanes under -new-coalescer. 2012-09-17 23:03:25 +00:00
LiveRangeEdit.h
LiveStackAnalysis.h
LiveVariables.h
MachineBasicBlock.h Add a function computeRegisterLiveness() to MachineBasicBlock. This uses analyzePhysReg() from r163694 to heuristically try and determine the liveness state of a physical register upon arrival at a particular instruction in a block. 2012-09-12 10:18:23 +00:00
MachineBlockFrequencyInfo.h
MachineBranchProbabilityInfo.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
MachineCodeEmitter.h
MachineCodeInfo.h
MachineConstantPool.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
MachineDominators.h
MachineFrameInfo.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
MachineFunction.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
MachineFunctionAnalysis.h
MachineFunctionPass.h
MachineInstr.h Remove unused MachineInstr constructors that don't take a DebugLoc argument. 2012-10-07 23:03:22 +00:00
MachineInstrBuilder.h Change MachineInstrBuilder::addDisp to copy over target flags by default. 2012-10-11 00:15:48 +00:00
MachineInstrBundle.h Add an analyzePhysReg() function to MachineOperandIteratorBase that analyses an instruction's use of a physical register, analogous to analyzeVirtReg. 2012-09-12 10:03:31 +00:00
MachineJumpTableInfo.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
MachineLoopInfo.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
MachineLoopRanges.h
MachineMemOperand.h
MachineModuleInfo.h
MachineModuleInfoImpls.h Rename virtual table anchors from Anchor() to anchor() for consistency with the rest of the tree. 2012-09-26 06:36:36 +00:00
MachineOperand.h Fix PR11985 2012-09-12 21:43:09 +00:00
MachinePassRegistry.h
MachinePostDominators.h Make MachinePostDominatorTree::DT private 2012-09-18 13:49:54 +00:00
MachineRegisterInfo.h Freeze the reserved registers as soon as isel is complete. 2012-10-15 21:33:06 +00:00
MachineRelocation.h
MachineScheduler.h misched: ILP scheduler for experimental heuristics. 2012-10-15 18:02:27 +00:00
MachineSSAUpdater.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
MachORelocation.h
Passes.h
PseudoSourceValue.h Remove unnecessary classof()'s 2012-10-11 23:30:49 +00:00
RegAllocPBQP.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
RegAllocRegistry.h
RegisterClassInfo.h
RegisterPressure.h
RegisterScavenging.h
ResourcePriorityQueue.h
RuntimeLibcalls.h
ScheduleDAG.h misched: Use the TargetSchedModel interface wherever possible. 2012-10-10 05:43:09 +00:00
ScheduleDAGILP.h misched: ILP scheduler for experimental heuristics. 2012-10-15 18:02:27 +00:00
ScheduleDAGInstrs.h misched: Use the TargetSchedModel interface wherever possible. 2012-10-10 05:43:09 +00:00
ScheduleHazardRecognizer.h
SchedulerRegistry.h
ScoreboardHazardRecognizer.h
SelectionDAG.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
SelectionDAGISel.h
SelectionDAGNodes.h Remove unnecessary classof()'s 2012-10-11 23:30:49 +00:00
SlotIndexes.h
TargetLoweringObjectFileImpl.h
TargetSchedule.h misched: Use the TargetSchedModel interface wherever possible. 2012-10-10 05:43:09 +00:00
ValueTypes.h Revert r164663 due to buildbot failure. 2012-09-26 07:43:06 +00:00
ValueTypes.td Add in new data types that are used by AMDIL/ANL among others. 2012-09-19 22:47:07 +00:00