|
LLVM
4.0.0
|
Insertion point before or after an instruction. More...
#include <RegBankSelect.h>
Public Member Functions | |
| InstrInsertPoint (MachineInstr &Instr, bool Before=true) | |
Create an insertion point before (Before=true) or after Instr. More... | |
| bool | isSplit () const override |
| 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. More... | |
| uint64_t | frequency (const Pass &P) const override |
| Frequency of the insertion point. More... | |
| bool | canMaterialize () const override |
| Check whether this insertion point can be materialized. More... | |
Public Member Functions inherited from llvm::RegBankSelect::InsertPoint | |
| virtual | ~InsertPoint () |
| 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. More... | |
| 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. More... | |
| MachineBasicBlock::iterator | insert (MachineInstr &MI) |
Insert MI in the just before ::getPoint() More... | |
Additional Inherited Members | |
Protected Attributes inherited from llvm::RegBankSelect::InsertPoint | |
| bool | WasMaterialized = false |
| Tell if the insert point has already been materialized. More... | |
Insertion point before or after an instruction.
Definition at line 195 of file RegBankSelect.h.
| RegBankSelect::InstrInsertPoint::InstrInsertPoint | ( | MachineInstr & | Instr, |
| bool | Before = true |
||
| ) |
Create an insertion point before (Before=true) or after Instr.
Definition at line 752 of file RegBankSelect.cpp.
References assert(), llvm::ilist_node_with_parent< NodeTy, ParentTy, Options >::getNextNode(), and llvm::MachineInstr::isPHI().
|
inlineoverridevirtual |
Check whether this insertion point can be materialized.
As soon as ::getPoint is called and thus, the point materialized calling this method does not make sense.
Reimplemented from llvm::RegBankSelect::InsertPoint.
Definition at line 222 of file RegBankSelect.h.
Frequency of the insertion point.
P is used to access the various analysis that will help to get that information, like MachineBlockFrequencyInfo. If P does not contain enough enough to return the actual frequency, this returns 1.
Reimplemented from llvm::RegBankSelect::InsertPoint.
Definition at line 794 of file RegBankSelect.cpp.
References llvm::Pass::getAnalysisIfAvailable(), and llvm::MachineBlockFrequencyInfo::getBlockFreq().
|
overridevirtual |
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 785 of file RegBankSelect.cpp.
1.8.6