|
LLVM 24.0.0git
|
An individual sequence of instructions to be replaced with a call to an outlined function. More...
#include "llvm/CodeGen/MachineOutliner.h"
Public Member Functions | |
| unsigned | getLength () const |
| Return the number of instructions in this Candidate. | |
| unsigned | getStartIdx () const |
| Return the start index of this candidate. | |
| unsigned | getEndIdx () const |
| Return the end index of this candidate. | |
| void | setCallInfo (unsigned CID, unsigned CO) |
| Set the CallConstructionID and CallOverhead of this candidate to CID and CO respectively. | |
| unsigned | getCallOverhead () const |
| Returns the call overhead of this candidate if it is in the list. | |
| MachineBasicBlock::iterator | begin () |
| MachineBasicBlock::iterator | end () |
| MachineInstr & | front () |
| MachineInstr & | back () |
| MachineFunction * | getMF () const |
| MachineBasicBlock * | getMBB () const |
| bool | isAvailableAcrossAndOutOfSeq (Register Reg, const TargetRegisterInfo &TRI) |
| bool | isAnyUnavailableAcrossOrOutOfSeq (std::initializer_list< Register > Regs, const TargetRegisterInfo &TRI) |
| bool | isAvailableInsideSeq (Register Reg, const TargetRegisterInfo &TRI) |
| Candidate (unsigned StartIdx, unsigned Len, MachineBasicBlock::iterator &FirstInst, MachineBasicBlock::iterator &LastInst, MachineBasicBlock *MBB, unsigned Flags) | |
| Candidate ()=delete | |
| bool | operator< (const Candidate &RHS) const |
Used to ensure that Candidates are outlined in an order that preserves the start and end indices of other Candidates. | |
Public Attributes | |
| unsigned | CallConstructionID = 0 |
| Identifier denoting the instructions to emit to call an outlined function from this point. | |
| unsigned | Flags = 0x0 |
| Target-specific flags for this Candidate's MBB. | |
| unsigned | Benefit = 0 |
| The number of instructions that would be saved by outlining every candidate of this type. | |
An individual sequence of instructions to be replaced with a call to an outlined function.
Definition at line 38 of file MachineOutliner.h.
|
inline |
|
delete |
|
inline |
Definition at line 141 of file MachineOutliner.h.
Referenced by llvm::ARMBaseInstrInfo::getOutliningCandidateInfo(), and llvm::RISCVInstrInfo::getOutliningCandidateInfo().
|
inline |
Definition at line 137 of file MachineOutliner.h.
|
inline |
Definition at line 138 of file MachineOutliner.h.
|
inline |
Definition at line 140 of file MachineOutliner.h.
|
inline |
Returns the call overhead of this candidate if it is in the list.
Definition at line 135 of file MachineOutliner.h.
|
inline |
Return the end index of this candidate.
Definition at line 125 of file MachineOutliner.h.
|
inline |
Return the number of instructions in this Candidate.
Definition at line 119 of file MachineOutliner.h.
|
inline |
Definition at line 143 of file MachineOutliner.h.
|
inline |
Definition at line 142 of file MachineOutliner.h.
Referenced by llvm::RISCVInstrInfo::getOutliningCandidateInfo(), llvm::TargetInstrInfo::mergeOutliningCandidateAttributes(), outliningCandidatesSigningKeyConsensus(), outliningCandidatesSigningScopeConsensus(), and outliningCandidatesV8_3OpsConsensus().
|
inline |
Return the start index of this candidate.
Definition at line 122 of file MachineOutliner.h.
Referenced by operator<().
|
inline |
Regs. Definition at line 166 of file MachineOutliner.h.
References llvm::any_of(), Reg, and TRI.
|
inline |
Reg is available from the end of the block to the beginning of the sequence.This query considers the following range:
in_seq_1 in_seq_2 ... in_seq_n not_in_seq_1 ... <end of block>
Definition at line 157 of file MachineOutliner.h.
|
inline |
Reg is available within the sequence itself.This query considers the following range:
in_seq_1 in_seq_2 ... in_seq_n
Definition at line 183 of file MachineOutliner.h.
Used to ensure that Candidates are outlined in an order that preserves the start and end indices of other Candidates.
Definition at line 208 of file MachineOutliner.h.
References Candidate(), getStartIdx(), and RHS.
Set the CallConstructionID and CallOverhead of this candidate to CID and CO respectively.
Definition at line 129 of file MachineOutliner.h.
References CallConstructionID.
| unsigned llvm::outliner::Candidate::Benefit = 0 |
The number of instructions that would be saved by outlining every candidate of this type.
This is a fixed value which is not updated during the candidate pruning process. It is only used for deciding which candidate to keep if two candidates overlap. The true benefit is stored in the OutlinedFunction for some given candidate.
Definition at line 196 of file MachineOutliner.h.
| unsigned llvm::outliner::Candidate::CallConstructionID = 0 |
Identifier denoting the instructions to emit to call an outlined function from this point.
Defined by the target.
Definition at line 113 of file MachineOutliner.h.
Referenced by setCallInfo().
| unsigned llvm::outliner::Candidate::Flags = 0x0 |
Target-specific flags for this Candidate's MBB.
Definition at line 116 of file MachineOutliner.h.
Referenced by Candidate().