class MachineRegisterInfo
Declaration
class MachineRegisterInfo { /* full declaration omitted */ };Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:52
Method Overview
- public void EmitLiveInCopies(llvm::MachineBasicBlock * EntryMBB, const llvm::TargetRegisterInfo & TRI, const llvm::TargetInstrInfo & TII)
- public MachineRegisterInfo(const llvm::MachineRegisterInfo &)
- public MachineRegisterInfo(llvm::MachineFunction * MF)
- public void addLiveIn(unsigned int Reg, unsigned int vreg = 0)
- public void addPhysRegsUsedFromRegMask(const uint32_t * RegMask)
- public void addRegAllocationHint(unsigned int VReg, unsigned int PrefReg)
- public void addRegOperandToUseList(llvm::MachineOperand * MO)
- public bool canReserveReg(unsigned int PhysReg) const
- public void clearKillFlags(unsigned int Reg) const
- public void clearSimpleHint(unsigned int VReg)
- public void clearVirtRegTypes()
- public void clearVirtRegs()
- public llvm::Register cloneVirtualRegister(llvm::Register VReg, llvm::StringRef Name = "")
- public bool constrainRegAttrs(unsigned int Reg, unsigned int ConstrainingReg, unsigned int MinNumRegs = 0)
- public const llvm::TargetRegisterClass * constrainRegClass(unsigned int Reg, const llvm::TargetRegisterClass * RC, unsigned int MinNumRegs = 0)
- public llvm::Register createGenericVirtualRegister(llvm::LLT Ty, llvm::StringRef Name = "")
- public unsigned int createIncompleteVirtualRegister(llvm::StringRef Name = "")
- public llvm::Register createVirtualRegister(const llvm::TargetRegisterClass * RegClass, llvm::StringRef Name = "")
- public llvm::MachineRegisterInfo::def_iterator def_begin(unsigned int RegNo) const
- public llvm::MachineRegisterInfo::def_bundle_iterator def_bundle_begin(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::def_bundle_iterator def_bundle_end()
- public inline iterator_range<llvm::MachineRegisterInfo::def_bundle_iterator> def_bundles(unsigned int Reg) const
- public bool def_empty(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::def_iterator def_end()
- public llvm::MachineRegisterInfo::def_instr_iterator def_instr_begin(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::def_instr_iterator def_instr_end()
- public inline iterator_range<llvm::MachineRegisterInfo::def_instr_iterator> def_instructions(unsigned int Reg) const
- public inline iterator_range<llvm::MachineRegisterInfo::def_iterator> def_operands(unsigned int Reg) const
- public void disableCalleeSavedRegister(unsigned int Reg)
- public void dumpUses(unsigned int RegNo) const
- public void freezeReservedRegs(const llvm::MachineFunction &)
- public const llvm::MCPhysReg * getCalleeSavedRegs() const
- public unsigned int getLiveInPhysReg(unsigned int VReg) const
- public unsigned int getLiveInVirtReg(unsigned int PReg) const
- public llvm::LaneBitmask getMaxLaneMaskForVReg(unsigned int Reg) const
- public unsigned int getNumVirtRegs() const
- public llvm::PSetIterator getPressureSets(unsigned int RegUnit) const
- public std::pair<unsigned int, unsigned int> getRegAllocationHint(llvm::Register VReg) const
- public const std::pair<unsigned int, SmallVector<unsigned int, 4>> & getRegAllocationHints(unsigned int VReg) const
- public const llvm::RegisterBank * getRegBankOrNull(unsigned int Reg) const
- public const llvm::TargetRegisterClass * getRegClass(llvm::Register Reg) const
- public const llvm::TargetRegisterClass * getRegClassOrNull(unsigned int Reg) const
- public const llvm::RegClassOrRegBank & getRegClassOrRegBank(unsigned int Reg) const
- public const llvm::BitVector & getReservedRegs() const
- public llvm::Register getSimpleHint(llvm::Register VReg) const
- public const llvm::TargetRegisterInfo * getTargetRegisterInfo() const
- public llvm::LLT getType(unsigned int Reg) const
- public llvm::MachineInstr * getUniqueVRegDef(unsigned int Reg) const
- public const llvm::BitVector & getUsedPhysRegsMask() const
- public llvm::MachineInstr * getVRegDef(unsigned int Reg) const
- public llvm::StringRef getVRegName(unsigned int Reg) const
- public bool hasOneDef(unsigned int RegNo) const
- public bool hasOneNonDBGUse(unsigned int RegNo) const
- public bool hasOneNonDBGUser(unsigned int RegNo) const
- public bool hasOneUse(unsigned int RegNo) const
- public void insertVRegByName(llvm::StringRef Name, unsigned int Reg)
- public void invalidateLiveness()
- public bool isAllocatable(unsigned int PhysReg) const
- public bool isCallerPreservedOrConstPhysReg(unsigned int PhysReg) const
- public bool isConstantPhysReg(unsigned int PhysReg) const
- public bool isLiveIn(unsigned int Reg) const
- public bool isPhysRegModified(unsigned int PhysReg, bool SkipNoReturnDef = false) const
- public bool isPhysRegUsed(unsigned int PhysReg) const
- public bool isReserved(llvm::Register PhysReg) const
- public bool isReservedRegUnit(unsigned int Unit) const
- public bool isSSA() const
- public bool isUpdatedCSRsInitialized() const
- public void leaveSSA()
- public int livein_begin() const
- public bool livein_empty() const
- public int livein_end() const
- public ArrayRef<std::pair<unsigned int, unsigned int>> liveins() const
- public void markUsesInDebugValueAsUndef(unsigned int Reg) const
- public void moveOperands(llvm::MachineOperand * Dst, llvm::MachineOperand * Src, unsigned int NumOps)
- public bool recomputeRegClass(unsigned int Reg)
- public llvm::MachineRegisterInfo::reg_iterator reg_begin(unsigned int RegNo) const
- public llvm::MachineRegisterInfo::reg_bundle_iterator reg_bundle_begin(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::reg_bundle_iterator reg_bundle_end()
- public llvm::MachineRegisterInfo::reg_bundle_nodbg_iterator reg_bundle_nodbg_begin(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::reg_bundle_nodbg_iterator reg_bundle_nodbg_end()
- public inline iterator_range<llvm::MachineRegisterInfo::reg_bundle_iterator> reg_bundles(unsigned int Reg) const
- public bool reg_empty(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::reg_iterator reg_end()
- public llvm::MachineRegisterInfo::reg_instr_iterator reg_instr_begin(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::reg_instr_iterator reg_instr_end()
- public llvm::MachineRegisterInfo::reg_instr_nodbg_iterator reg_instr_nodbg_begin(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::reg_instr_nodbg_iterator reg_instr_nodbg_end()
- public inline iterator_range<llvm::MachineRegisterInfo::reg_instr_iterator> reg_instructions(unsigned int Reg) const
- public llvm::MachineRegisterInfo::reg_nodbg_iterator reg_nodbg_begin(llvm::Register RegNo) const
- public inline iterator_range<llvm::MachineRegisterInfo::reg_bundle_nodbg_iterator> reg_nodbg_bundles(unsigned int Reg) const
- public bool reg_nodbg_empty(llvm::Register RegNo) const
- public static llvm::MachineRegisterInfo::reg_nodbg_iterator reg_nodbg_end()
- public inline iterator_range<llvm::MachineRegisterInfo::reg_instr_nodbg_iterator> reg_nodbg_instructions(unsigned int Reg) const
- public inline iterator_range<llvm::MachineRegisterInfo::reg_nodbg_iterator> reg_nodbg_operands(unsigned int Reg) const
- public inline iterator_range<llvm::MachineRegisterInfo::reg_iterator> reg_operands(unsigned int Reg) const
- public void removeRegOperandFromUseList(llvm::MachineOperand * MO)
- public void replaceRegWith(unsigned int FromReg, unsigned int ToReg)
- public bool reservedRegsFrozen() const
- public void resetDelegate(llvm::MachineRegisterInfo::Delegate * delegate)
- public void setCalleeSavedRegs(ArrayRef<llvm::MCPhysReg> CSRs)
- public void setDelegate(llvm::MachineRegisterInfo::Delegate * delegate)
- public void setRegAllocationHint(unsigned int VReg, unsigned int Type, unsigned int PrefReg)
- public void setRegBank(unsigned int Reg, const llvm::RegisterBank & RegBank)
- public void setRegClass(unsigned int Reg, const llvm::TargetRegisterClass * RC)
- public void setRegClassOrRegBank(unsigned int Reg, const llvm::RegClassOrRegBank & RCOrRB)
- public void setSimpleHint(unsigned int VReg, unsigned int PrefReg)
- public void setType(unsigned int VReg, llvm::LLT Ty)
- public bool shouldTrackSubRegLiveness(llvm::Register VReg) const
- public bool shouldTrackSubRegLiveness(const llvm::TargetRegisterClass & RC) const
- public bool subRegLivenessEnabled() const
- public bool tracksLiveness() const
- public void updateDbgUsersToReg(unsigned int Reg, ArrayRef<llvm::MachineInstr *> Users) const
- public llvm::MachineRegisterInfo::use_iterator use_begin(unsigned int RegNo) const
- public llvm::MachineRegisterInfo::use_bundle_iterator use_bundle_begin(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::use_bundle_iterator use_bundle_end()
- public llvm::MachineRegisterInfo::use_bundle_nodbg_iterator use_bundle_nodbg_begin(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::use_bundle_nodbg_iterator use_bundle_nodbg_end()
- public inline iterator_range<llvm::MachineRegisterInfo::use_bundle_iterator> use_bundles(unsigned int Reg) const
- public bool use_empty(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::use_iterator use_end()
- public llvm::MachineRegisterInfo::use_instr_iterator use_instr_begin(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::use_instr_iterator use_instr_end()
- public llvm::MachineRegisterInfo::use_instr_nodbg_iterator use_instr_nodbg_begin(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::use_instr_nodbg_iterator use_instr_nodbg_end()
- public inline iterator_range<llvm::MachineRegisterInfo::use_instr_iterator> use_instructions(unsigned int Reg) const
- public llvm::MachineRegisterInfo::use_nodbg_iterator use_nodbg_begin(unsigned int RegNo) const
- public inline iterator_range<llvm::MachineRegisterInfo::use_bundle_nodbg_iterator> use_nodbg_bundles(unsigned int Reg) const
- public bool use_nodbg_empty(unsigned int RegNo) const
- public static llvm::MachineRegisterInfo::use_nodbg_iterator use_nodbg_end()
- public inline iterator_range<llvm::MachineRegisterInfo::use_instr_nodbg_iterator> use_nodbg_instructions(unsigned int Reg) const
- public inline iterator_range<llvm::MachineRegisterInfo::use_nodbg_iterator> use_nodbg_operands(unsigned int Reg) const
- public inline iterator_range<llvm::MachineRegisterInfo::use_iterator> use_operands(unsigned int Reg) const
- public void verifyUseList(unsigned int Reg) const
- public void verifyUseLists() const
Methods
¶void EmitLiveInCopies(
llvm::MachineBasicBlock* EntryMBB,
const llvm::TargetRegisterInfo& TRI,
const llvm::TargetInstrInfo& TII)
void EmitLiveInCopies(
llvm::MachineBasicBlock* EntryMBB,
const llvm::TargetRegisterInfo& TRI,
const llvm::TargetInstrInfo& TII)Description
EmitLiveInCopies - Emit copies to initialize livein virtual registers into the given entry block.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:954
Parameters
- llvm::MachineBasicBlock* EntryMBB
- const llvm::TargetRegisterInfo& TRI
- const llvm::TargetInstrInfo& TII
¶MachineRegisterInfo(
const llvm::MachineRegisterInfo&)
MachineRegisterInfo(
const llvm::MachineRegisterInfo&)Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:150
Parameters
- const llvm::MachineRegisterInfo&
¶MachineRegisterInfo(llvm::MachineFunction* MF)
MachineRegisterInfo(llvm::MachineFunction* MF)Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:149
Parameters
¶void addLiveIn(unsigned int Reg,
unsigned int vreg = 0)
void addLiveIn(unsigned int Reg,
unsigned int vreg = 0)Description
addLiveIn - Add the specified register as a live-in. Note that it is an error to add the same register to the same set more than once.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:926
Parameters
- unsigned int Reg
- unsigned int vreg = 0
¶void addPhysRegsUsedFromRegMask(
const uint32_t* RegMask)
void addPhysRegsUsedFromRegMask(
const uint32_t* RegMask)Description
addPhysRegsUsedFromRegMask - Mark any registers not in RegMask as used. This corresponds to the bit mask attached to register mask operands.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:848
Parameters
- const uint32_t* RegMask
¶void addRegAllocationHint(unsigned int VReg,
unsigned int PrefReg)
void addRegAllocationHint(unsigned int VReg,
unsigned int PrefReg)Description
addRegAllocationHint - Add a register allocation hint to the hints vector for VReg.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:771
Parameters
- unsigned int VReg
- unsigned int PrefReg
¶void addRegOperandToUseList(
llvm::MachineOperand* MO)
void addRegOperandToUseList(
llvm::MachineOperand* MO)Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:247
Parameters
¶bool canReserveReg(unsigned int PhysReg) const
bool canReserveReg(unsigned int PhysReg) constDescription
canReserveReg - Returns true if PhysReg can be used as a reserved register. Any register can be reserved before freezeReservedRegs() is called.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:879
Parameters
- unsigned int PhysReg
¶void clearKillFlags(unsigned int Reg) const
void clearKillFlags(unsigned int Reg) constDescription
clearKillFlags - Iterate over all the uses of the given register and clear the kill flag from the MachineOperand. This function is used by optimization passes which extend register lifetimes and need only preserve conservative kill flag information.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:607
Parameters
- unsigned int Reg
¶void clearSimpleHint(unsigned int VReg)
void clearSimpleHint(unsigned int VReg)Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:782
Parameters
- unsigned int VReg
¶void clearVirtRegTypes()
void clearVirtRegTypes()Description
Remove all types associated to virtual registers (after instruction selection and constraining of all generic virtual registers).
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:744
¶void clearVirtRegs()
void clearVirtRegs()Description
clearVirtRegs - Remove all virtual registers (after physreg assignment).
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:757
¶llvm::Register cloneVirtualRegister(
llvm::Register VReg,
llvm::StringRef Name = "")
llvm::Register cloneVirtualRegister(
llvm::Register VReg,
llvm::StringRef Name = "")Description
Create and return a new virtual register in the function with the same attributes as the given register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:725
Parameters
- llvm::Register VReg
- llvm::StringRef Name = ""
¶bool constrainRegAttrs(
unsigned int Reg,
unsigned int ConstrainingReg,
unsigned int MinNumRegs = 0)
bool constrainRegAttrs(
unsigned int Reg,
unsigned int ConstrainingReg,
unsigned int MinNumRegs = 0)Description
Constrain the register class or the register bank of the virtual register\p Reg (and low-level type) to be a common subclass or a common bank of both registers provided respectively (and a common low-level type). Do nothing if any of the attributes (classes, banks, or low-level types) of the registers are deemed incompatible, or if the resulting register will have a class smaller than before and of size less than \p MinNumRegs. Return true if such register attributes exist, false otherwise.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:706
Parameters
- unsigned int Reg
- unsigned int ConstrainingReg
- unsigned int MinNumRegs = 0
¶const llvm::TargetRegisterClass*
constrainRegClass(
unsigned int Reg,
const llvm::TargetRegisterClass* RC,
unsigned int MinNumRegs = 0)
const llvm::TargetRegisterClass*
constrainRegClass(
unsigned int Reg,
const llvm::TargetRegisterClass* RC,
unsigned int MinNumRegs = 0)Description
constrainRegClass - Constrain the register class of the specified virtual register to be a common subclass of RC and the current register class, but only if the new class has at least MinNumRegs registers. Return the new register class, or NULL if no such class exists. This should only be used when the constraint is known to be trivial, like GR32 -> GR32_NOSP. Beware of increasing register pressure.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:691
Parameters
- unsigned int Reg
- const llvm::TargetRegisterClass* RC
- unsigned int MinNumRegs = 0
¶llvm::Register createGenericVirtualRegister(
llvm::LLT Ty,
llvm::StringRef Name = "")
llvm::Register createGenericVirtualRegister(
llvm::LLT Ty,
llvm::StringRef Name = "")Description
Create and return a new generic virtual register with low-level type \p Ty.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:740
Parameters
- llvm::LLT Ty
- llvm::StringRef Name = ""
¶unsigned int createIncompleteVirtualRegister(
llvm::StringRef Name = "")
unsigned int createIncompleteVirtualRegister(
llvm::StringRef Name = "")Description
Creates a new virtual register that has no register class, register bank or size assigned yet. This is only allowed to be used temporarily while constructing machine instructions. Most operations are undefined on an incomplete register until one of setRegClass(), setRegBank() or setSize() has been called on it.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:751
Parameters
- llvm::StringRef Name = ""
¶llvm::Register createVirtualRegister(
const llvm::TargetRegisterClass* RegClass,
llvm::StringRef Name = "")
llvm::Register createVirtualRegister(
const llvm::TargetRegisterClass* RegClass,
llvm::StringRef Name = "")Description
createVirtualRegister - Create and return a new virtual register in the function with the specified register class.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:720
Parameters
- const llvm::TargetRegisterClass* RegClass
- llvm::StringRef Name = ""
¶llvm::MachineRegisterInfo::def_iterator def_begin(
unsigned int RegNo) const
llvm::MachineRegisterInfo::def_iterator def_begin(
unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:384
Parameters
- unsigned int RegNo
¶llvm::MachineRegisterInfo::def_bundle_iterator
def_bundle_begin(unsigned int RegNo) const
llvm::MachineRegisterInfo::def_bundle_iterator
def_bundle_begin(unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:413
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::
def_bundle_iterator
def_bundle_end()
static llvm::MachineRegisterInfo::
def_bundle_iterator
def_bundle_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:416
¶inline iterator_range<llvm::MachineRegisterInfo::
def_bundle_iterator>
def_bundles(unsigned int Reg) const
inline iterator_range<llvm::MachineRegisterInfo::
def_bundle_iterator>
def_bundles(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:420
Parameters
- unsigned int Reg
¶bool def_empty(unsigned int RegNo) const
bool def_empty(unsigned int RegNo) constDescription
def_empty - Return true if there are no instructions defining the specified register (it may be live-in).
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:426
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::def_iterator
def_end()
static llvm::MachineRegisterInfo::def_iterator
def_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:387
¶llvm::MachineRegisterInfo::def_instr_iterator
def_instr_begin(unsigned int RegNo) const
llvm::MachineRegisterInfo::def_instr_iterator
def_instr_begin(unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:397
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::
def_instr_iterator
def_instr_end()
static llvm::MachineRegisterInfo::
def_instr_iterator
def_instr_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:400
¶inline iterator_range<
llvm::MachineRegisterInfo::def_instr_iterator>
def_instructions(unsigned int Reg) const
inline iterator_range<
llvm::MachineRegisterInfo::def_instr_iterator>
def_instructions(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:405
Parameters
- unsigned int Reg
¶inline iterator_range<
llvm::MachineRegisterInfo::def_iterator>
def_operands(unsigned int Reg) const
inline iterator_range<
llvm::MachineRegisterInfo::def_iterator>
def_operands(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:389
Parameters
- unsigned int Reg
¶void disableCalleeSavedRegister(unsigned int Reg)
void disableCalleeSavedRegister(unsigned int Reg)Description
Disables the register from the list of CSRs. I.e. the register will not appear as part of the CSR mask.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:235
Parameters
- unsigned int Reg
¶void dumpUses(unsigned int RegNo) const
void dumpUses(unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:609
Parameters
- unsigned int RegNo
¶void freezeReservedRegs(
const llvm::MachineFunction&)
void freezeReservedRegs(
const llvm::MachineFunction&)Description
freezeReservedRegs - Called by the register allocator to freeze the set of reserved registers before allocation begins.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:868
Parameters
- const llvm::MachineFunction&
¶const llvm::MCPhysReg* getCalleeSavedRegs() const
const llvm::MCPhysReg* getCalleeSavedRegs() constDescription
Returns list of callee saved registers. The function returns the updated CSR list (after taking into account registers that are disabled from the CSR list).
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:240
¶unsigned int getLiveInPhysReg(
unsigned int VReg) const
unsigned int getLiveInPhysReg(
unsigned int VReg) constDescription
getLiveInPhysReg - If VReg is a live-in virtual register, return the corresponding live-in physical register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:946
Parameters
- unsigned int VReg
¶unsigned int getLiveInVirtReg(
unsigned int PReg) const
unsigned int getLiveInVirtReg(
unsigned int PReg) constDescription
getLiveInVirtReg - If PReg is a live-in physical register, return the corresponding live-in physical register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:950
Parameters
- unsigned int PReg
¶llvm::LaneBitmask getMaxLaneMaskForVReg(
unsigned int Reg) const
llvm::LaneBitmask getMaxLaneMaskForVReg(
unsigned int Reg) constDescription
Returns a mask covering all bits that can appear in lane masks of subregisters of the virtual register @p Reg.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:960
Parameters
- unsigned int Reg
¶unsigned int getNumVirtRegs() const
unsigned int getNumVirtRegs() constDescription
getNumVirtRegs - Return the number of virtual registers created.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:754
¶llvm::PSetIterator getPressureSets(
unsigned int RegUnit) const
llvm::PSetIterator getPressureSets(
unsigned int RegUnit) constDescription
Get an iterator over the pressure sets affected by the given physical or virtual register. If RegUnit is physical, it must be a register unit (from MCRegUnitIterator).
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:622
Parameters
- unsigned int RegUnit
¶std::pair<unsigned int, unsigned int>
getRegAllocationHint(llvm::Register VReg) const
std::pair<unsigned int, unsigned int>
getRegAllocationHint(llvm::Register VReg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:792
Parameters
- llvm::Register VReg
¶const std::pair<unsigned int,
SmallVector<unsigned int, 4>>&
getRegAllocationHints(unsigned int VReg) const
const std::pair<unsigned int,
SmallVector<unsigned int, 4>>&
getRegAllocationHints(unsigned int VReg) constDescription
getRegAllocationHints - Return a reference to the vector of all register allocation hints for VReg.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:811
Parameters
- unsigned int VReg
¶const llvm::RegisterBank* getRegBankOrNull(
unsigned int Reg) const
const llvm::RegisterBank* getRegBankOrNull(
unsigned int Reg) constDescription
Return the register bank of \p Reg, or null if Reg has not been assigned a register bank or has been assigned a register class.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:657
Parameters
- unsigned int Reg
¶const llvm::TargetRegisterClass* getRegClass(
llvm::Register Reg) const
const llvm::TargetRegisterClass* getRegClass(
llvm::Register Reg) constDescription
Return the register class of the specified virtual register. This shouldn't be used directly unless \p Reg has a register class.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:631
Parameters
- llvm::Register Reg
¶const llvm::TargetRegisterClass*
getRegClassOrNull(unsigned int Reg) const
const llvm::TargetRegisterClass*
getRegClassOrNull(unsigned int Reg) constDescription
Return the register class of \p Reg, or null if Reg has not been assigned a register class yet.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:648
Parameters
- unsigned int Reg
¶const llvm::RegClassOrRegBank&
getRegClassOrRegBank(unsigned int Reg) const
const llvm::RegClassOrRegBank&
getRegClassOrRegBank(unsigned int Reg) constDescription
Return the register bank or register class of \p Reg.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:665
Parameters
- unsigned int Reg
¶const llvm::BitVector& getReservedRegs() const
const llvm::BitVector& getReservedRegs() constDescription
getReservedRegs - Returns a reference to the frozen set of reserved registers. This method should always be preferred to calling TRI::getReservedRegs() when possible.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:886
¶llvm::Register getSimpleHint(
llvm::Register VReg) const
llvm::Register getSimpleHint(
llvm::Register VReg) constDescription
getSimpleHint - same as getRegAllocationHint except it will only return a target independent hint.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:802
Parameters
- llvm::Register VReg
¶const llvm::TargetRegisterInfo*
getTargetRegisterInfo() const
const llvm::TargetRegisterInfo*
getTargetRegisterInfo() constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:153
¶llvm::LLT getType(unsigned int Reg) const
llvm::LLT getType(unsigned int Reg) constDescription
Get the low-level type of \p Reg or LLT{} if Reg is not a generic (target independent) virtual register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:729
Parameters
- unsigned int Reg
¶llvm::MachineInstr* getUniqueVRegDef(
unsigned int Reg) const
llvm::MachineInstr* getUniqueVRegDef(
unsigned int Reg) constDescription
getUniqueVRegDef - Return the unique machine instr that defines the specified virtual register or null if none is found. If there are multiple definitions or no definition, return null.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:601
Parameters
- unsigned int Reg
¶const llvm::BitVector& getUsedPhysRegsMask() const
const llvm::BitVector& getUsedPhysRegsMask() constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:852
¶llvm::MachineInstr* getVRegDef(
unsigned int Reg) const
llvm::MachineInstr* getVRegDef(
unsigned int Reg) constDescription
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.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:596
Parameters
- unsigned int Reg
¶llvm::StringRef getVRegName(
unsigned int Reg) const
llvm::StringRef getVRegName(
unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:428
Parameters
- unsigned int Reg
¶bool hasOneDef(unsigned int RegNo) const
bool hasOneDef(unsigned int RegNo) constDescription
Return true if there is exactly one operand defining the specified register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:444
Parameters
- unsigned int RegNo
¶bool hasOneNonDBGUse(unsigned int RegNo) const
bool hasOneNonDBGUse(unsigned int RegNo) constDescription
hasOneNonDBGUse - Return true if there is exactly one non-Debug use of the specified register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:565
Parameters
- unsigned int RegNo
¶bool hasOneNonDBGUser(unsigned int RegNo) const
bool hasOneNonDBGUser(unsigned int RegNo) constDescription
hasOneNonDBGUse - Return true if there is exactly one non-Debug instruction using the specified register. Said instruction may have multiple uses.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:570
Parameters
- unsigned int RegNo
¶bool hasOneUse(unsigned int RegNo) const
bool hasOneUse(unsigned int RegNo) constDescription
hasOneUse - Return true if there is exactly one instruction using the specified register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:500
Parameters
- unsigned int RegNo
¶void insertVRegByName(llvm::StringRef Name,
unsigned int Reg)
void insertVRegByName(llvm::StringRef Name,
unsigned int Reg)Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:432
Parameters
- llvm::StringRef Name
- unsigned int Reg
¶void invalidateLiveness()
void invalidateLiveness()Description
invalidateLiveness - Indicates that register liveness is no longer being tracked accurately. This should be called by late passes that invalidate the liveness information.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:207
¶bool isAllocatable(unsigned int PhysReg) const
bool isAllocatable(unsigned int PhysReg) constDescription
isAllocatable - Returns true when PhysReg belongs to an allocatable register class and it hasn't been reserved. Allocatable registers may show up in the allocation order of some virtual register, so a register allocator needs to track its liveness and availability.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:915
Parameters
- unsigned int PhysReg
¶bool isCallerPreservedOrConstPhysReg(
unsigned int PhysReg) const
bool isCallerPreservedOrConstPhysReg(
unsigned int PhysReg) constDescription
Returns true if either isConstantPhysReg or TRI->isCallerPreservedPhysReg returns true. This is a utility member function.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:617
Parameters
- unsigned int PhysReg
¶bool isConstantPhysReg(unsigned int PhysReg) const
bool isConstantPhysReg(unsigned int PhysReg) constDescription
Returns true if PhysReg is unallocatable and constant throughout the function. Writing to a constant register has no effect.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:613
Parameters
- unsigned int PhysReg
¶bool isLiveIn(unsigned int Reg) const
bool isLiveIn(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:942
Parameters
- unsigned int Reg
¶bool isPhysRegModified(
unsigned int PhysReg,
bool SkipNoReturnDef = false) const
bool isPhysRegModified(
unsigned int PhysReg,
bool SkipNoReturnDef = false) constDescription
Return true if the specified register is modified in this function. This checks that no defining machine operands exist for the register or any of its aliases. Definitions found on functions marked noreturn are ignored, to consider them pass 'true' for optional parameter SkipNoReturnDef. The register is also considered modified when it is set in the UsedPhysRegMask.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:838
Parameters
- unsigned int PhysReg
- bool SkipNoReturnDef = false
¶bool isPhysRegUsed(unsigned int PhysReg) const
bool isPhysRegUsed(unsigned int PhysReg) constDescription
Return true if the specified register is modified or read in this function. This checks that no machine operands exist for the register or any of its aliases. The register is also considered used when it is set in the UsedPhysRegMask.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:844
Parameters
- unsigned int PhysReg
¶bool isReserved(llvm::Register PhysReg) const
bool isReserved(llvm::Register PhysReg) constDescription
isReserved - Returns true when PhysReg is a reserved register. Reserved registers may belong to an allocatable register class, but the target has explicitly requested that they are not used.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:897
Parameters
- llvm::Register PhysReg
¶bool isReservedRegUnit(unsigned int Unit) const
bool isReservedRegUnit(unsigned int Unit) constDescription
Returns true when the given register unit is considered reserved. Register units are considered reserved when for at least one of their root registers, the root register and all super registers are reserved. This currently iterates the register hierarchy and may be slower than expected.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:907
Parameters
- unsigned int Unit
¶bool isSSA() const
bool isSSA() constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:185
¶bool isUpdatedCSRsInitialized() const
bool isUpdatedCSRsInitialized() constDescription
Returns true if the updated CSR list was initialized and false otherwise.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:230
¶void leaveSSA()
void leaveSSA()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:191
¶int livein_begin() const
int livein_begin() constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:934
¶bool livein_empty() const
bool livein_empty() constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:936
¶int livein_end() const
int livein_end() constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:935
¶ArrayRef<std::pair<unsigned int, unsigned int>>
liveins() const
ArrayRef<std::pair<unsigned int, unsigned int>>
liveins() constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:938
¶void markUsesInDebugValueAsUndef(
unsigned int Reg) const
void markUsesInDebugValueAsUndef(
unsigned int Reg) constDescription
markUsesInDebugValueAsUndef - Mark every DBG_VALUE referencing the specified register as undefined which causes the DBG_VALUE to be deleted during LiveDebugVariables analysis.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:819
Parameters
- unsigned int Reg
¶void moveOperands(llvm::MachineOperand* Dst,
llvm::MachineOperand* Src,
unsigned int NumOps)
void moveOperands(llvm::MachineOperand* Dst,
llvm::MachineOperand* Src,
unsigned int NumOps)Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:253
Parameters
- llvm::MachineOperand* Dst
- llvm::MachineOperand* Src
- unsigned int NumOps
¶bool recomputeRegClass(unsigned int Reg)
bool recomputeRegClass(unsigned int Reg)Description
recomputeRegClass - Try to find a legal super-class of Reg's register class that still satisfies the constraints from the instructions using Reg. Returns true if Reg was upgraded. This method can be used after constraints have been removed from a virtual register, for example after removing instructions or splitting the live range.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:716
Parameters
- unsigned int Reg
¶llvm::MachineRegisterInfo::reg_iterator reg_begin(
unsigned int RegNo) const
llvm::MachineRegisterInfo::reg_iterator reg_begin(
unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:281
Parameters
- unsigned int RegNo
¶llvm::MachineRegisterInfo::reg_bundle_iterator
reg_bundle_begin(unsigned int RegNo) const
llvm::MachineRegisterInfo::reg_bundle_iterator
reg_bundle_begin(unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:310
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::
reg_bundle_iterator
reg_bundle_end()
static llvm::MachineRegisterInfo::
reg_bundle_iterator
reg_bundle_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:313
¶llvm::MachineRegisterInfo::
reg_bundle_nodbg_iterator
reg_bundle_nodbg_begin(
unsigned int RegNo) const
llvm::MachineRegisterInfo::
reg_bundle_nodbg_iterator
reg_bundle_nodbg_begin(
unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:363
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::
reg_bundle_nodbg_iterator
reg_bundle_nodbg_end()
static llvm::MachineRegisterInfo::
reg_bundle_nodbg_iterator
reg_bundle_nodbg_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:366
¶inline iterator_range<llvm::MachineRegisterInfo::
reg_bundle_iterator>
reg_bundles(unsigned int Reg) const
inline iterator_range<llvm::MachineRegisterInfo::
reg_bundle_iterator>
reg_bundles(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:317
Parameters
- unsigned int Reg
¶bool reg_empty(unsigned int RegNo) const
bool reg_empty(unsigned int RegNo) constDescription
reg_empty - Return true if there are no instructions using or defining the specified register (it may be live-in).
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:323
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::reg_iterator
reg_end()
static llvm::MachineRegisterInfo::reg_iterator
reg_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:284
¶llvm::MachineRegisterInfo::reg_instr_iterator
reg_instr_begin(unsigned int RegNo) const
llvm::MachineRegisterInfo::reg_instr_iterator
reg_instr_begin(unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:294
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::
reg_instr_iterator
reg_instr_end()
static llvm::MachineRegisterInfo::
reg_instr_iterator
reg_instr_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:297
¶llvm::MachineRegisterInfo::
reg_instr_nodbg_iterator
reg_instr_nodbg_begin(
unsigned int RegNo) const
llvm::MachineRegisterInfo::
reg_instr_nodbg_iterator
reg_instr_nodbg_begin(
unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:346
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::
reg_instr_nodbg_iterator
reg_instr_nodbg_end()
static llvm::MachineRegisterInfo::
reg_instr_nodbg_iterator
reg_instr_nodbg_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:349
¶inline iterator_range<
llvm::MachineRegisterInfo::reg_instr_iterator>
reg_instructions(unsigned int Reg) const
inline iterator_range<
llvm::MachineRegisterInfo::reg_instr_iterator>
reg_instructions(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:302
Parameters
- unsigned int Reg
¶llvm::MachineRegisterInfo::reg_nodbg_iterator
reg_nodbg_begin(llvm::Register RegNo) const
llvm::MachineRegisterInfo::reg_nodbg_iterator
reg_nodbg_begin(llvm::Register RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:329
Parameters
- llvm::Register RegNo
¶inline iterator_range<
llvm::MachineRegisterInfo::
reg_bundle_nodbg_iterator>
reg_nodbg_bundles(unsigned int Reg) const
inline iterator_range<
llvm::MachineRegisterInfo::
reg_bundle_nodbg_iterator>
reg_nodbg_bundles(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:371
Parameters
- unsigned int Reg
¶bool reg_nodbg_empty(llvm::Register RegNo) const
bool reg_nodbg_empty(llvm::Register RegNo) constDescription
reg_nodbg_empty - Return true if the only instructions using or defining Reg are Debug instructions.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:377
Parameters
- llvm::Register RegNo
¶static llvm::MachineRegisterInfo::
reg_nodbg_iterator
reg_nodbg_end()
static llvm::MachineRegisterInfo::
reg_nodbg_iterator
reg_nodbg_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:332
¶inline iterator_range<
llvm::MachineRegisterInfo::
reg_instr_nodbg_iterator>
reg_nodbg_instructions(unsigned int Reg) const
inline iterator_range<
llvm::MachineRegisterInfo::
reg_instr_nodbg_iterator>
reg_nodbg_instructions(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:354
Parameters
- unsigned int Reg
¶inline iterator_range<
llvm::MachineRegisterInfo::reg_nodbg_iterator>
reg_nodbg_operands(unsigned int Reg) const
inline iterator_range<
llvm::MachineRegisterInfo::reg_nodbg_iterator>
reg_nodbg_operands(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:337
Parameters
- unsigned int Reg
¶inline iterator_range<
llvm::MachineRegisterInfo::reg_iterator>
reg_operands(unsigned int Reg) const
inline iterator_range<
llvm::MachineRegisterInfo::reg_iterator>
reg_operands(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:286
Parameters
- unsigned int Reg
¶void removeRegOperandFromUseList(
llvm::MachineOperand* MO)
void removeRegOperandFromUseList(
llvm::MachineOperand* MO)Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:250
Parameters
¶void replaceRegWith(unsigned int FromReg,
unsigned int ToReg)
void replaceRegWith(unsigned int FromReg,
unsigned int ToReg)Description
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. Note that it is usually necessary to first constrain ToReg's register class and register bank to match the FromReg constraints using one of the methods: constrainRegClass(ToReg, getRegClass(FromReg)) constrainRegAttrs(ToReg, FromReg) RegisterBankInfo::constrainGenericRegister(ToReg, *MRI.getRegClass(FromReg), MRI) These functions will return a falsy result if the virtual registers have incompatible constraints. Note that if ToReg is a physical register the function will replace and apply sub registers to ToReg in order to obtain a final/proper physical register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:591
Parameters
- unsigned int FromReg
- unsigned int ToReg
¶bool reservedRegsFrozen() const
bool reservedRegsFrozen() constDescription
reservedRegsFrozen - Returns true after freezeReservedRegs() was called to ensure the set of reserved registers stays constant.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:872
¶void resetDelegate(
llvm::MachineRegisterInfo::Delegate* delegate)
void resetDelegate(
llvm::MachineRegisterInfo::Delegate* delegate)Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:157
Parameters
- llvm::MachineRegisterInfo::Delegate* delegate
¶void setCalleeSavedRegs(
ArrayRef<llvm::MCPhysReg> CSRs)
void setCalleeSavedRegs(
ArrayRef<llvm::MCPhysReg> CSRs)Description
Sets the updated Callee Saved Registers list. Notice that it will override ant previously disabled/saved CSRs.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:244
Parameters
- ArrayRef<llvm::MCPhysReg> CSRs
¶void setDelegate(
llvm::MachineRegisterInfo::Delegate* delegate)
void setDelegate(
llvm::MachineRegisterInfo::Delegate* delegate)Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:166
Parameters
- llvm::MachineRegisterInfo::Delegate* delegate
¶void setRegAllocationHint(unsigned int VReg,
unsigned int Type,
unsigned int PrefReg)
void setRegAllocationHint(unsigned int VReg,
unsigned int Type,
unsigned int PrefReg)Description
setRegAllocationHint - Specify a register allocation hint for the specified virtual register. This is typically used by target, and in case of an earlier hint it will be overwritten.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:762
Parameters
- unsigned int VReg
- unsigned int Type
- unsigned int PrefReg
¶void setRegBank(unsigned int Reg,
const llvm::RegisterBank& RegBank)
void setRegBank(unsigned int Reg,
const llvm::RegisterBank& RegBank)Description
Set the register bank to \p RegBank for \p Reg.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:673
Parameters
- unsigned int Reg
- const llvm::RegisterBank& RegBank
¶void setRegClass(
unsigned int Reg,
const llvm::TargetRegisterClass* RC)
void setRegClass(
unsigned int Reg,
const llvm::TargetRegisterClass* RC)Description
setRegClass - Set the register class of the specified virtual register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:670
Parameters
- unsigned int Reg
- const llvm::TargetRegisterClass* RC
¶void setRegClassOrRegBank(
unsigned int Reg,
const llvm::RegClassOrRegBank& RCOrRB)
void setRegClassOrRegBank(
unsigned int Reg,
const llvm::RegClassOrRegBank& RCOrRB)Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:675
Parameters
- unsigned int Reg
- const llvm::RegClassOrRegBank& RCOrRB
¶void setSimpleHint(unsigned int VReg,
unsigned int PrefReg)
void setSimpleHint(unsigned int VReg,
unsigned int PrefReg)Description
Specify the preferred (target independent) register allocation hint for the specified virtual register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:778
Parameters
- unsigned int VReg
- unsigned int PrefReg
¶void setType(unsigned int VReg, llvm::LLT Ty)
void setType(unsigned int VReg, llvm::LLT Ty)Description
Set the low-level type of \p VReg to \p Ty.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:736
Parameters
- unsigned int VReg
- llvm::LLT Ty
¶bool shouldTrackSubRegLiveness(
llvm::Register VReg) const
bool shouldTrackSubRegLiveness(
llvm::Register VReg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:217
Parameters
- llvm::Register VReg
¶bool shouldTrackSubRegLiveness(
const llvm::TargetRegisterClass& RC) const
bool shouldTrackSubRegLiveness(
const llvm::TargetRegisterClass& RC) constDescription
Returns true if liveness for register class @p RC should be tracked at the subregister level.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:214
Parameters
- const llvm::TargetRegisterClass& RC
¶bool subRegLivenessEnabled() const
bool subRegLivenessEnabled() constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:221
¶bool tracksLiveness() const
bool tracksLiveness() constDescription
tracksLiveness - Returns true when tracking register liveness accurately. (see MachineFUnctionProperties::Property description for details)
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:197
¶void updateDbgUsersToReg(
unsigned int Reg,
ArrayRef<llvm::MachineInstr*> Users) const
void updateDbgUsersToReg(
unsigned int Reg,
ArrayRef<llvm::MachineInstr*> Users) constDescription
updateDbgUsersToReg - Update a collection of DBG_VALUE instructions to refer to the designated register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:823
Parameters
- unsigned int Reg
- ArrayRef<llvm::MachineInstr*> Users
¶llvm::MachineRegisterInfo::use_iterator use_begin(
unsigned int RegNo) const
llvm::MachineRegisterInfo::use_iterator use_begin(
unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:454
Parameters
- unsigned int RegNo
¶llvm::MachineRegisterInfo::use_bundle_iterator
use_bundle_begin(unsigned int RegNo) const
llvm::MachineRegisterInfo::use_bundle_iterator
use_bundle_begin(unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:483
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::
use_bundle_iterator
use_bundle_end()
static llvm::MachineRegisterInfo::
use_bundle_iterator
use_bundle_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:486
¶llvm::MachineRegisterInfo::
use_bundle_nodbg_iterator
use_bundle_nodbg_begin(
unsigned int RegNo) const
llvm::MachineRegisterInfo::
use_bundle_nodbg_iterator
use_bundle_nodbg_begin(
unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:545
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::
use_bundle_nodbg_iterator
use_bundle_nodbg_end()
static llvm::MachineRegisterInfo::
use_bundle_nodbg_iterator
use_bundle_nodbg_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:548
¶inline iterator_range<llvm::MachineRegisterInfo::
use_bundle_iterator>
use_bundles(unsigned int Reg) const
inline iterator_range<llvm::MachineRegisterInfo::
use_bundle_iterator>
use_bundles(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:490
Parameters
- unsigned int Reg
¶bool use_empty(unsigned int RegNo) const
bool use_empty(unsigned int RegNo) constDescription
use_empty - Return true if there are no instructions using the specified register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:496
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::use_iterator
use_end()
static llvm::MachineRegisterInfo::use_iterator
use_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:457
¶llvm::MachineRegisterInfo::use_instr_iterator
use_instr_begin(unsigned int RegNo) const
llvm::MachineRegisterInfo::use_instr_iterator
use_instr_begin(unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:467
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::
use_instr_iterator
use_instr_end()
static llvm::MachineRegisterInfo::
use_instr_iterator
use_instr_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:470
¶llvm::MachineRegisterInfo::
use_instr_nodbg_iterator
use_instr_nodbg_begin(
unsigned int RegNo) const
llvm::MachineRegisterInfo::
use_instr_nodbg_iterator
use_instr_nodbg_begin(
unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:528
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::
use_instr_nodbg_iterator
use_instr_nodbg_end()
static llvm::MachineRegisterInfo::
use_instr_nodbg_iterator
use_instr_nodbg_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:531
¶inline iterator_range<
llvm::MachineRegisterInfo::use_instr_iterator>
use_instructions(unsigned int Reg) const
inline iterator_range<
llvm::MachineRegisterInfo::use_instr_iterator>
use_instructions(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:475
Parameters
- unsigned int Reg
¶llvm::MachineRegisterInfo::use_nodbg_iterator
use_nodbg_begin(unsigned int RegNo) const
llvm::MachineRegisterInfo::use_nodbg_iterator
use_nodbg_begin(unsigned int RegNo) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:511
Parameters
- unsigned int RegNo
¶inline iterator_range<
llvm::MachineRegisterInfo::
use_bundle_nodbg_iterator>
use_nodbg_bundles(unsigned int Reg) const
inline iterator_range<
llvm::MachineRegisterInfo::
use_bundle_nodbg_iterator>
use_nodbg_bundles(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:553
Parameters
- unsigned int Reg
¶bool use_nodbg_empty(unsigned int RegNo) const
bool use_nodbg_empty(unsigned int RegNo) constDescription
use_nodbg_empty - Return true if there are no non-Debug instructions using the specified register.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:559
Parameters
- unsigned int RegNo
¶static llvm::MachineRegisterInfo::
use_nodbg_iterator
use_nodbg_end()
static llvm::MachineRegisterInfo::
use_nodbg_iterator
use_nodbg_end()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:514
¶inline iterator_range<
llvm::MachineRegisterInfo::
use_instr_nodbg_iterator>
use_nodbg_instructions(unsigned int Reg) const
inline iterator_range<
llvm::MachineRegisterInfo::
use_instr_nodbg_iterator>
use_nodbg_instructions(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:536
Parameters
- unsigned int Reg
¶inline iterator_range<
llvm::MachineRegisterInfo::use_nodbg_iterator>
use_nodbg_operands(unsigned int Reg) const
inline iterator_range<
llvm::MachineRegisterInfo::use_nodbg_iterator>
use_nodbg_operands(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:519
Parameters
- unsigned int Reg
¶inline iterator_range<
llvm::MachineRegisterInfo::use_iterator>
use_operands(unsigned int Reg) const
inline iterator_range<
llvm::MachineRegisterInfo::use_iterator>
use_operands(unsigned int Reg) constDeclared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:459
Parameters
- unsigned int Reg
¶void verifyUseList(unsigned int Reg) const
void verifyUseList(unsigned int Reg) constDescription
Verify the sanity of the use list for Reg.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:256
Parameters
- unsigned int Reg
¶void verifyUseLists() const
void verifyUseLists() constDescription
Verify the use list of all registers.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:259