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 | |
unsigned | getOccurrenceCount () const |
Return the number of candidates for this OutlinedFunction . | |
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 | |
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 217 of file MachineOutliner.h.
|
inline |
Definition at line 265 of file MachineOutliner.h.
References B, llvm::CallingConv::C, Candidates, and getBenefit().
|
delete |
|
inline |
Return the number of instructions that would be saved by outlining this function.
Definition at line 255 of file MachineOutliner.h.
References getNotOutlinedCost(), and getOutliningCost().
Referenced by OutlinedFunction().
|
inline |
Return the size in bytes of the unoutlined sequences.
Definition at line 249 of file MachineOutliner.h.
References getOccurrenceCount(), and SequenceSize.
Referenced by getBenefit().
|
inline |
Return the number of instructions in this sequence.
Definition at line 263 of file MachineOutliner.h.
References Candidates.
|
inline |
Return the number of candidates for this OutlinedFunction
.
Definition at line 237 of file MachineOutliner.h.
References Candidates.
Referenced by getNotOutlinedCost().
|
inline |
Return the number of bytes it would take to outline this function.
Definition at line 241 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 220 of file MachineOutliner.h.
Referenced by llvm::ARMBaseInstrInfo::buildOutlinedFrame(), getNumInstrs(), getOccurrenceCount(), getOutliningCost(), and OutlinedFunction().
unsigned llvm::outliner::OutlinedFunction::FrameConstructionID = 0 |
Target-defined identifier for constructing a frame for this function.
Definition at line 234 of file MachineOutliner.h.
Referenced by llvm::AArch64InstrInfo::buildOutlinedFrame(), llvm::ARMBaseInstrInfo::buildOutlinedFrame(), and llvm::X86InstrInfo::buildOutlinedFrame().
unsigned llvm::outliner::OutlinedFunction::FrameOverhead = 0 |
Target-defined overhead of constructing a frame for this function.
Definition at line 231 of file MachineOutliner.h.
Referenced by 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 224 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 228 of file MachineOutliner.h.
Referenced by getNotOutlinedCost(), and getOutliningCost().