LLVM: llvm::RegBankSelect::RepairingPlacement Class Reference (original) (raw)
Struct used to represent the placement of a repairing point for a given operand. More...
#include "[llvm/CodeGen/GlobalISel/RegBankSelect.h](RegBankSelect%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| enum | RepairingKind { None, Insert, Reassign, Impossible } |
| Define the kind of action this repairing needs. More... | |
| Convenient types for a list of insertion points. | |
| using | InsertionPoints = SmallVector<std::unique_ptr<InsertPoint>, 2> |
| using | insertpt_iterator = InsertionPoints::iterator |
| using | const_insertpt_iterator = InsertionPoints::const_iterator |
| Public Member Functions | |
|---|---|
| RepairingPlacement (MachineInstr &MI, unsigned OpIdx, const TargetRegisterInfo &TRI, Pass &P, RepairingKind Kind=RepairingKind::Insert) | |
| Create a repairing placement for the OpIdx-th operand of MI. | |
| void | switchTo (RepairingKind NewKind) |
| Change the type of this repairing placement to NewKind. | |
| Getters. | |
| RepairingKind | getKind () const |
| unsigned | getOpIdx () const |
| bool | canMaterialize () const |
| bool | hasSplit () |
| Overloaded methods to add an insertion point. | |
| Add a MBBInsertionPoint to the list of InsertPoints. | |
| void | addInsertPoint (MachineBasicBlock &MBB, bool Beginning) |
| void | addInsertPoint (MachineInstr &MI, bool Before) |
| Add a InstrInsertionPoint to the list of InsertPoints. | |
| void | addInsertPoint (MachineBasicBlock &Src, MachineBasicBlock &Dst) |
| Add an EdgeInsertionPoint (Src, Dst) to the list of InsertPoints. | |
| void | addInsertPoint (InsertPoint &Point) |
| Add an InsertPoint to the list of insert points. | |
| Accessors related to the insertion points. | |
| insertpt_iterator | begin () |
| insertpt_iterator | end () |
| const_insertpt_iterator | begin () const |
| const_insertpt_iterator | end () const |
| unsigned | getNumInsertPoints () const |
Struct used to represent the placement of a repairing point for a given operand.
Definition at line 314 of file RegBankSelect.h.
◆ const_insertpt_iterator
◆ InsertionPoints
◆ insertpt_iterator
◆ RepairingKind
Define the kind of action this repairing needs.
| Enumerator | |
|---|---|
| None | Nothing to repair, just drop this action. |
| Insert | Reparing code needs to happen before InsertPoints. |
| Reassign | (Re)assign the register bank of the operand. |
| Impossible | Mark this repairing placement as impossible. |
Definition at line 317 of file RegBankSelect.h.
◆ addInsertPoint() [1/4]
◆ addInsertPoint() [2/4]
◆ addInsertPoint() [3/4]
◆ addInsertPoint() [4/4]
| void RegBankSelect::RepairingPlacement::addInsertPoint | ( | MachineInstr & | MI, |
|---|---|---|---|
| bool | Before ) |
◆ begin() [1/2]
| insertpt_iterator llvm::RegBankSelect::RepairingPlacement::begin ( ) | inline |
|---|
◆ begin() [2/2]
| const_insertpt_iterator llvm::RegBankSelect::RepairingPlacement::begin ( ) const | inline |
|---|
◆ canMaterialize()
| bool llvm::RegBankSelect::RepairingPlacement::canMaterialize ( ) const | inline |
|---|
◆ end() [1/2]
| insertpt_iterator llvm::RegBankSelect::RepairingPlacement::end ( ) | inline |
|---|
◆ end() [2/2]
| const_insertpt_iterator llvm::RegBankSelect::RepairingPlacement::end ( ) const | inline |
|---|
◆ getKind()
| RepairingKind llvm::RegBankSelect::RepairingPlacement::getKind ( ) const | inline |
|---|
◆ getNumInsertPoints()
| unsigned llvm::RegBankSelect::RepairingPlacement::getNumInsertPoints ( ) const | inline |
|---|
◆ getOpIdx()
| unsigned llvm::RegBankSelect::RepairingPlacement::getOpIdx ( ) const | inline |
|---|
◆ hasSplit()
| bool llvm::RegBankSelect::RepairingPlacement::hasSplit ( ) | inline |
|---|
◆ switchTo()
| void llvm::RegBankSelect::RepairingPlacement::switchTo ( RepairingKind NewKind) | inline |
|---|
The documentation for this class was generated from the following files:
- include/llvm/CodeGen/GlobalISel/RegBankSelect.h
- lib/CodeGen/GlobalISel/RegBankSelect.cpp