LLVM 20.0.0git
|
The information necessary to create an outlined function for some class of candidate. More...
#include "llvm/CodeGen/MachineOutliner.h"
Public Member Functions | |
virtual unsigned | getOccurrenceCount () const |
Return the number of candidates for this OutlinedFunction . | |
virtual unsigned | getOutliningCost () const |
Return the number of bytes it would take to outline this function. | |
unsigned | getNotOutlinedCost () const |
Return the size in bytes of the unoutlined sequences. | |
unsigned | getBenefit () const |
Return the number of instructions that would be saved by outlining this function. | |
unsigned | getNumInstrs () const |
Return the number of instructions in this sequence. | |
OutlinedFunction (std::vector< Candidate > &Candidates, unsigned SequenceSize, unsigned FrameOverhead, unsigned FrameConstructionID) | |
OutlinedFunction ()=delete | |
virtual | ~OutlinedFunction ()=default |
Public Attributes | |
std::vector< Candidate > | Candidates |
MachineFunction * | MF = nullptr |
The actual outlined function created. | |
unsigned | SequenceSize = 0 |
Represents the size of a sequence in bytes. | |
unsigned | FrameOverhead = 0 |
Target-defined overhead of constructing a frame for this function. | |
unsigned | FrameConstructionID = 0 |
Target-defined identifier for constructing a frame for this function. | |
The information necessary to create an outlined function for some class of candidate.
Definition at line 218 of file MachineOutliner.h.
|
inline |
Definition at line 266 of file MachineOutliner.h.
References B, llvm::CallingConv::C, Candidates, and getBenefit().
|
delete |
|
virtualdefault |
|
inline |
Return the number of instructions that would be saved by outlining this function.
Definition at line 256 of file MachineOutliner.h.
References getNotOutlinedCost(), and getOutliningCost().
Referenced by OutlinedFunction().
|
inline |
Return the size in bytes of the unoutlined sequences.
Definition at line 250 of file MachineOutliner.h.
References getOccurrenceCount(), and SequenceSize.
Referenced by getBenefit().
|
inline |
Return the number of instructions in this sequence.
Definition at line 264 of file MachineOutliner.h.
References Candidates.
|
inlinevirtual |
Return the number of candidates for this OutlinedFunction
.
Reimplemented in llvm::outliner::GlobalOutlinedFunction.
Definition at line 238 of file MachineOutliner.h.
References Candidates.
Referenced by getNotOutlinedCost().
|
inlinevirtual |
Return the number of bytes it would take to outline this function.
Reimplemented in llvm::outliner::GlobalOutlinedFunction.
Definition at line 242 of file MachineOutliner.h.
References llvm::CallingConv::C, Candidates, FrameOverhead, and SequenceSize.
Referenced by getBenefit().
std::vector<Candidate> llvm::outliner::OutlinedFunction::Candidates |
Definition at line 221 of file MachineOutliner.h.
Referenced by llvm::ARMBaseInstrInfo::buildOutlinedFrame(), getNumInstrs(), getOccurrenceCount(), llvm::outliner::GlobalOutlinedFunction::getOccurrenceCount(), getOutliningCost(), llvm::outliner::GlobalOutlinedFunction::getOutliningCost(), and OutlinedFunction().
unsigned llvm::outliner::OutlinedFunction::FrameConstructionID = 0 |
Target-defined identifier for constructing a frame for this function.
Definition at line 235 of file MachineOutliner.h.
Referenced by llvm::AArch64InstrInfo::buildOutlinedFrame(), llvm::ARMBaseInstrInfo::buildOutlinedFrame(), llvm::RISCVInstrInfo::buildOutlinedFrame(), and llvm::X86InstrInfo::buildOutlinedFrame().
unsigned llvm::outliner::OutlinedFunction::FrameOverhead = 0 |
Target-defined overhead of constructing a frame for this function.
Definition at line 232 of file MachineOutliner.h.
Referenced by getOutliningCost(), and llvm::outliner::GlobalOutlinedFunction::getOutliningCost().
MachineFunction* llvm::outliner::OutlinedFunction::MF = nullptr |
The actual outlined function created.
This is initialized after we go through and create the actual function.
Definition at line 225 of file MachineOutliner.h.
unsigned llvm::outliner::OutlinedFunction::SequenceSize = 0 |
Represents the size of a sequence in bytes.
(Some instructions vary widely in size, so just counting the instructions isn't very useful.)
Definition at line 229 of file MachineOutliner.h.
Referenced by getNotOutlinedCost(), getOutliningCost(), and llvm::outliner::GlobalOutlinedFunction::getOutliningCost().