LLVM: llvm::RegBankSelect::MBBInsertPoint Class Reference (original) (raw)

Insertion point at the beginning or end of a basic block. More...

#include "[llvm/CodeGen/GlobalISel/RegBankSelect.h](RegBankSelect%5F8h%5Fsource.html)"

Public Member Functions
MBBInsertPoint (MachineBasicBlock &MBB, bool Beginning=true)
bool isSplit () const override
Does this point involve splitting an edge or block?
uint64_t frequency (const Pass &P) const override
Frequency of the insertion point.
bool canMaterialize () const override
Check whether this insertion point can be materialized.
Public Member Functions inherited from llvm::RegBankSelect::InsertPoint
virtual ~InsertPoint ()=default
MachineBasicBlock::iterator getPoint ()
The first call to this method will cause the splitting to happen if need be, then sub sequent calls just return the iterator to that point.
MachineBasicBlock & getInsertMBB ()
The first call to this method will cause the splitting to happen if need be, then sub sequent calls just return the basic block that contains the insertion point.
MachineBasicBlock::iterator insert (MachineInstr &MI)
Insert MI in the just before getPoint()

Insertion point at the beginning or end of a basic block.

Definition at line 237 of file RegBankSelect.h.

canMaterialize()

bool llvm::RegBankSelect::MBBInsertPoint::canMaterialize ( ) const inlineoverridevirtual

frequency()

uint64_t RegBankSelect::MBBInsertPoint::frequency ( const Pass & P) const overridevirtual

isSplit()

bool llvm::RegBankSelect::MBBInsertPoint::isSplit ( ) const inlineoverridevirtual

Does this point involve splitting an edge or block?

As soon as getPoint is called and thus, the point materialized, the point will not require splitting anymore, i.e., this will return false.

Reimplemented from llvm::RegBankSelect::InsertPoint.

Definition at line 267 of file RegBankSelect.h.


The documentation for this class was generated from the following files: