class RegBankSelect::RepairingPlacement
Declaration
class RegBankSelect::RepairingPlacement { /* full declaration omitted */ };
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:313
Method Overview
- public RepairingPlacement(llvm::MachineInstr & MI, unsigned int OpIdx, const llvm::TargetRegisterInfo & TRI, llvm::Pass & P, llvm::RegBankSelect::RepairingPlacement::RepairingKind Kind = RepairingKind::Insert)
- public void addInsertPoint(llvm::MachineBasicBlock & MBB, bool Beginning)
- public void addInsertPoint(llvm::MachineInstr & MI, bool Before)
- public void addInsertPoint(llvm::MachineBasicBlock & Src, llvm::MachineBasicBlock & Dst)
- public void addInsertPoint(llvm::RegBankSelect::InsertPoint & Point)
- public int begin()
- public int begin() const
- public bool canMaterialize() const
- public int end()
- public int end() const
- public llvm::RegBankSelect::RepairingPlacement::RepairingKind getKind() const
- public unsigned int getNumInsertPoints() const
- public unsigned int getOpIdx() const
- public bool hasSplit()
- public void switchTo(llvm::RegBankSelect::RepairingPlacement::RepairingKind NewKind)
Methods
¶RepairingPlacement(
llvm::MachineInstr& MI,
unsigned int OpIdx,
const llvm::TargetRegisterInfo& TRI,
llvm::Pass& P,
llvm::RegBankSelect::RepairingPlacement::
RepairingKind Kind =
RepairingKind::Insert)
RepairingPlacement(
llvm::MachineInstr& MI,
unsigned int OpIdx,
const llvm::TargetRegisterInfo& TRI,
llvm::Pass& P,
llvm::RegBankSelect::RepairingPlacement::
RepairingKind Kind =
RepairingKind::Insert)
Description
Create a repairing placement for the \p OpIdx-th operand of\p MI. \p TRI is used to make some checks on the register aliases if the machine operand is a physical register. \p P is used to to update liveness information and such when materializing the points.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:355
Parameters
- llvm::MachineInstr& MI
- unsigned int OpIdx
- const llvm::TargetRegisterInfo& TRI
- llvm::Pass& P
- llvm::RegBankSelect::RepairingPlacement:: RepairingKind Kind = RepairingKind::Insert
¶void addInsertPoint(llvm::MachineBasicBlock& MBB,
bool Beginning)
void addInsertPoint(llvm::MachineBasicBlock& MBB,
bool Beginning)
Description
@ { Add a MBBInsertionPoint to the list of InsertPoints.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:370
Parameters
- llvm::MachineBasicBlock& MBB
- bool Beginning
¶void addInsertPoint(llvm::MachineInstr& MI,
bool Before)
void addInsertPoint(llvm::MachineInstr& MI,
bool Before)
Description
Add a InstrInsertionPoint to the list of InsertPoints.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:372
Parameters
- llvm::MachineInstr& MI
- bool Before
¶void addInsertPoint(llvm::MachineBasicBlock& Src,
llvm::MachineBasicBlock& Dst)
void addInsertPoint(llvm::MachineBasicBlock& Src,
llvm::MachineBasicBlock& Dst)
Description
Add an EdgeInsertionPoint (\p Src, \p Dst) to the list of InsertPoints.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:374
Parameters
¶void addInsertPoint(
llvm::RegBankSelect::InsertPoint& Point)
void addInsertPoint(
llvm::RegBankSelect::InsertPoint& Point)
Description
Add an InsertPoint to the list of insert points. This method takes the ownership of &\p Point.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:377
Parameters
¶int begin()
int begin()
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:382
¶int begin() const
int begin() const
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:385
¶bool canMaterialize() const
bool canMaterialize() const
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:363
¶int end()
int end()
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:383
¶int end() const
int end() const
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:386
¶llvm::RegBankSelect::RepairingPlacement::
RepairingKind
getKind() const
llvm::RegBankSelect::RepairingPlacement::
RepairingKind
getKind() const
Description
@ {
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:361
¶unsigned int getNumInsertPoints() const
unsigned int getNumInsertPoints() const
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:388
¶unsigned int getOpIdx() const
unsigned int getOpIdx() const
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:362
¶bool hasSplit()
bool hasSplit()
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:364
¶void switchTo(
llvm::RegBankSelect::RepairingPlacement::
RepairingKind NewKind)
void switchTo(
llvm::RegBankSelect::RepairingPlacement::
RepairingKind NewKind)
Description
Change the type of this repairing placement to \p NewKind. It is not possible to switch a repairing placement to the RepairingKind::Insert. There is no fundamental problem with that, but no uses as well, so do not support it for now.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:398
Parameters
- llvm::RegBankSelect::RepairingPlacement:: RepairingKind NewKind