LLVM API Documentation
#include <MachineRegisterInfo.h>

Definition at line 27 of file MachineRegisterInfo.h.
| typedef defusechain_iterator<true,true> llvm::MachineRegisterInfo::reg_iterator |
reg_iterator/reg_begin/reg_end - Walk all defs and uses of the specified register.
Definition at line 74 of file MachineRegisterInfo.h.
| typedef defusechain_iterator<false,true> llvm::MachineRegisterInfo::def_iterator |
def_iterator/def_begin/def_end - Walk all defs of the specified register.
Definition at line 85 of file MachineRegisterInfo.h.
| typedef defusechain_iterator<true,false> llvm::MachineRegisterInfo::use_iterator |
use_iterator/use_begin/use_end - Walk all uses of the specified register.
Definition at line 92 of file MachineRegisterInfo.h.
| typedef std::vector<std::pair<unsigned,unsigned> >::const_iterator llvm::MachineRegisterInfo::livein_iterator |
Definition at line 212 of file MachineRegisterInfo.h.
| typedef std::vector<unsigned>::const_iterator llvm::MachineRegisterInfo::liveout_iterator |
Definition at line 213 of file MachineRegisterInfo.h.
| MachineRegisterInfo::MachineRegisterInfo | ( | const TargetRegisterInfo & | TRI | ) | [explicit] |
Definition at line 17 of file MachineRegisterInfo.cpp.
References llvm::TargetRegisterInfo::getNumRegClasses(), llvm::TargetRegisterInfo::getNumRegs(), and llvm::BitVector::resize().
| MachineRegisterInfo::~MachineRegisterInfo | ( | ) |
Definition at line 27 of file MachineRegisterInfo.cpp.
References second, and llvm::BitVector::size().
Referenced by llvm::MachineFunction::~MachineFunction().
| reg_iterator llvm::MachineRegisterInfo::reg_begin | ( | unsigned | RegNo | ) | const [inline] |
Definition at line 79 of file MachineRegisterInfo.h.
References getRegUseDefListHead().
Referenced by llvm::LiveIntervals::addIntervalsForSpillsFast(), getConflictWeight(), llvm::LiveIntervals::getNumConflictsWithPhysReg(), getVRegDef(), replaceRegWith(), and llvm::LiveIntervals::spillPhysRegAroundRegDefsUses().
| static reg_iterator llvm::MachineRegisterInfo::reg_end | ( | ) | [inline, static] |
Definition at line 82 of file MachineRegisterInfo.h.
Referenced by llvm::LiveIntervals::addIntervalsForSpillsFast(), getConflictWeight(), llvm::LiveIntervals::getNumConflictsWithPhysReg(), getVRegDef(), replaceRegWith(), and llvm::LiveIntervals::spillPhysRegAroundRegDefsUses().
| def_iterator llvm::MachineRegisterInfo::def_begin | ( | unsigned | RegNo | ) | const [inline] |
Definition at line 86 of file MachineRegisterInfo.h.
References getRegUseDefListHead().
Referenced by llvm::X86InstrInfo::isReallyTriviallyReMaterializable(), MustSaveLR(), and regIsPICBase().
| static def_iterator llvm::MachineRegisterInfo::def_end | ( | ) | [inline, static] |
Definition at line 89 of file MachineRegisterInfo.h.
Referenced by llvm::X86InstrInfo::isReallyTriviallyReMaterializable(), MustSaveLR(), and regIsPICBase().
| use_iterator llvm::MachineRegisterInfo::use_begin | ( | unsigned | RegNo | ) | const [inline] |
Definition at line 93 of file MachineRegisterInfo.h.
References getRegUseDefListHead().
Referenced by dumpUses(), EmitLiveInCopy(), isLiveInButUnusedBefore(), and use_empty().
| static use_iterator llvm::MachineRegisterInfo::use_end | ( | ) | [inline, static] |
Definition at line 96 of file MachineRegisterInfo.h.
Referenced by dumpUses(), EmitLiveInCopy(), isLiveInButUnusedBefore(), and use_empty().
| bool llvm::MachineRegisterInfo::use_empty | ( | unsigned | RegNo | ) | const [inline] |
use_empty - Return true if there are no instructions using the specified register.
Definition at line 100 of file MachineRegisterInfo.h.
References use_begin(), and use_end().
Referenced by llvm::SimpleRegisterCoalescing::runOnMachineFunction().
replaceRegWith - Replace all instances of FromReg with ToReg in the machine function. This is like llvm-level X->replaceAllUsesWith(Y), except that it also changes any definitions of the register as well.
replaceRegWith - Replace all instances of FromReg with ToReg in the machine function. This is like llvm-level X->replaceAllUsesWith(Y), except that it also changes any definitions of the register as well.
Definition at line 73 of file MachineRegisterInfo.cpp.
References E, I, reg_begin(), reg_end(), and llvm::MachineOperand::setReg().
| MachineOperand*& llvm::MachineRegisterInfo::getRegUseDefListHead | ( | unsigned | RegNo | ) | [inline] |
getRegUseDefListHead - Return the head pointer for the register use/def list for the specified virtual or physical register.
Definition at line 110 of file MachineRegisterInfo.h.
References llvm::TargetRegisterInfo::FirstVirtualRegister.
Referenced by def_begin(), reg_begin(), and use_begin().
| MachineOperand* llvm::MachineRegisterInfo::getRegUseDefListHead | ( | unsigned | RegNo | ) | const [inline] |
Definition at line 117 of file MachineRegisterInfo.h.
References llvm::TargetRegisterInfo::FirstVirtualRegister.
| MachineInstr * MachineRegisterInfo::getVRegDef | ( | unsigned | Reg | ) | const |
getVRegDef - Return the machine instr that defines the specified virtual register or null if none is found. This assumes that the code is in SSA form, so there should only be one definition.
getVRegDef - Return the machine instr that defines the specified virtual register or null if none is found. This assumes that the code is in SSA form, so there should only be one definition.
Definition at line 88 of file MachineRegisterInfo.cpp.
References E, llvm::TargetRegisterInfo::FirstVirtualRegister, I, reg_begin(), and reg_end().
Referenced by llvm::LiveVariables::HandleVirtRegUse(), interferes(), isSourceDefinedByImplicitDef(), and llvm::LiveVariables::runOnMachineFunction().
| void MachineRegisterInfo::dumpUses | ( | unsigned | RegNo | ) | const |
Definition at line 101 of file MachineRegisterInfo.cpp.
References E, I, use_begin(), and use_end().
| const TargetRegisterClass* llvm::MachineRegisterInfo::getRegClass | ( | unsigned | Reg | ) | const [inline] |
getRegClass - Return the register class of the specified virtual register.
Definition at line 139 of file MachineRegisterInfo.h.
References llvm::TargetRegisterInfo::FirstVirtualRegister.
Referenced by llvm::LiveIntervals::addIntervalsForSpills(), llvm::LiveIntervals::addIntervalsForSpillsFast(), llvm::VirtRegMap::assignVirt2StackSlot(), EmitLiveInCopies(), llvm::ScheduleDAGSDNodes::EmitNode(), llvm::FastISel::FastEmitInst_extractsubreg(), and llvm::FastISel::UpdateValueMap().
| void llvm::MachineRegisterInfo::setRegClass | ( | unsigned | Reg, | |
| const TargetRegisterClass * | RC | |||
| ) | [inline] |
setRegClass - Set the register class of the specified virtual register.
Definition at line 147 of file MachineRegisterInfo.h.
References llvm::TargetRegisterInfo::FirstVirtualRegister, llvm::TargetRegisterClass::getID(), I, and VR.
| unsigned MachineRegisterInfo::createVirtualRegister | ( | const TargetRegisterClass * | RegClass | ) |
createVirtualRegister - Create and return a new virtual register in the function with the specified register class.
createVirtualRegister - Create and return a new virtual register in the function with the specified register class.
Definition at line 42 of file MachineRegisterInfo.cpp.
References llvm::TargetRegisterClass::getID(), getLastVirtReg(), and VR.
Referenced by llvm::LiveIntervals::addIntervalsForSpillsFast(), AddLiveIn(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::FastISel::createResultReg(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::ScheduleDAG::EmitCrossRCCopy(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::AlphaTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::X86InstrInfo::getGlobalBaseReg(), llvm::SelectionDAGLowering::GetRegistersForValue(), llvm::SparcTargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), LowerCTPOP(), LowerFORMAL_ARGUMENT(), LowerFORMAL_ARGUMENTS(), LowerLOAD(), LowerSTORE(), LowerVECTOR_SHUFFLE(), llvm::SelectionDAGISel::MakeReg(), and llvm::FunctionLoweringInfo::MakeReg().
| unsigned llvm::MachineRegisterInfo::getLastVirtReg | ( | ) | const [inline] |
getLastVirtReg - Return the highest currently assigned virtual register.
Definition at line 171 of file MachineRegisterInfo.h.
References llvm::TargetRegisterInfo::FirstVirtualRegister.
Referenced by createVirtualRegister(), llvm::VirtRegMap::grow(), llvm::VirtRegMap::print(), and llvm::VirtRegMap::VirtRegMap().
| std::vector<unsigned>& llvm::MachineRegisterInfo::getRegClassVirtRegs | ( | const TargetRegisterClass * | RC | ) | [inline] |
getRegClassVirtRegs - Return the list of virtual registers of the given target register class.
Definition at line 177 of file MachineRegisterInfo.h.
References llvm::TargetRegisterClass::getID().
| bool llvm::MachineRegisterInfo::isPhysRegUsed | ( | unsigned | Reg | ) | const [inline] |
isPhysRegUsed - Return true if the specified register is used in this function. This only works after register allocation.
Definition at line 187 of file MachineRegisterInfo.h.
Referenced by llvm::IA64RegisterInfo::emitPrologue(), HandleVRSaveUpdate(), llvm::XCoreRegisterInfo::processFunctionBeforeCalleeSavedScan(), and llvm::ARMRegisterInfo::processFunctionBeforeCalleeSavedScan().
| void llvm::MachineRegisterInfo::setPhysRegUsed | ( | unsigned | Reg | ) | [inline] |
setPhysRegUsed - Mark the specified register used in this function. This should only be called during and after register allocation.
Definition at line 191 of file MachineRegisterInfo.h.
Referenced by llvm::ARMRegisterInfo::processFunctionBeforeCalleeSavedScan().
| void llvm::MachineRegisterInfo::setPhysRegUnused | ( | unsigned | Reg | ) | [inline] |
setPhysRegUnused - Mark the specified register unused in this function. This should only be called during and after register allocation.
Definition at line 195 of file MachineRegisterInfo.h.
Referenced by llvm::XCoreRegisterInfo::processFunctionBeforeCalleeSavedScan(), llvm::SPURegisterInfo::processFunctionBeforeCalleeSavedScan(), and llvm::PPCRegisterInfo::processFunctionBeforeCalleeSavedScan().
addLiveIn/Out - Add the specified register as a live in/out. Note that it is an error to add the same register to the same set more than once.
Definition at line 204 of file MachineRegisterInfo.h.
Referenced by AddLiveIn(), llvm::SparcTargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), LowerFORMAL_ARGUMENT(), and LowerFORMAL_ARGUMENTS().
| void llvm::MachineRegisterInfo::addLiveOut | ( | unsigned | Reg | ) | [inline] |
Definition at line 207 of file MachineRegisterInfo.h.
Referenced by llvm::IA64TargetLowering::LowerArguments(), and LowerRET().
| livein_iterator llvm::MachineRegisterInfo::livein_begin | ( | ) | const [inline] |
Definition at line 214 of file MachineRegisterInfo.h.
Referenced by EmitLiveInCopies(), llvm::X86RegisterInfo::emitPrologue(), llvm::ARMRegisterInfo::emitPrologue(), HandleVRSaveUpdate(), isLiveIn(), llvm::MachineFunction::print(), and llvm::SelectionDAGISel::runOnFunction().
| livein_iterator llvm::MachineRegisterInfo::livein_end | ( | ) | const [inline] |
Definition at line 215 of file MachineRegisterInfo.h.
Referenced by EmitLiveInCopies(), llvm::X86RegisterInfo::emitPrologue(), llvm::ARMRegisterInfo::emitPrologue(), HandleVRSaveUpdate(), isLiveIn(), llvm::MachineFunction::print(), and llvm::SelectionDAGISel::runOnFunction().
| bool llvm::MachineRegisterInfo::livein_empty | ( | ) | const [inline] |
| liveout_iterator llvm::MachineRegisterInfo::liveout_begin | ( | ) | const [inline] |
Definition at line 217 of file MachineRegisterInfo.h.
Referenced by HandleVRSaveUpdate(), LowerRET(), llvm::MachineFunction::print(), and llvm::LiveVariables::runOnMachineFunction().
| liveout_iterator llvm::MachineRegisterInfo::liveout_end | ( | ) | const [inline] |
Definition at line 218 of file MachineRegisterInfo.h.
Referenced by HandleVRSaveUpdate(), LowerRET(), llvm::MachineFunction::print(), and llvm::LiveVariables::runOnMachineFunction().
| bool llvm::MachineRegisterInfo::liveout_empty | ( | ) | const [inline] |
Definition at line 219 of file MachineRegisterInfo.h.
Referenced by LowerRET(), and llvm::MachineFunction::print().
| bool llvm::MachineRegisterInfo::isLiveIn | ( | unsigned | Reg | ) | const [inline] |
Definition at line 221 of file MachineRegisterInfo.h.
References E, I, livein_begin(), and livein_end().
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.