LLVM  10.0.0svn
Public Member Functions | Public Attributes | List of all members
llvm::outliner::OutlinedFunction Struct Reference

The information necessary to create an outlined function for some class of candidate. More...

#include "llvm/CodeGen/MachineOutliner.h"

Collaboration diagram for llvm::outliner::OutlinedFunction:
Collaboration graph
[legend]

Public Member Functions

unsigned getOccurrenceCount () const
 Return the number of candidates for this OutlinedFunction. More...
 
unsigned getOutliningCost () const
 Return the number of bytes it would take to outline this function. More...
 
unsigned getNotOutlinedCost () const
 Return the size in bytes of the unoutlined sequences. More...
 
unsigned getBenefit () const
 Return the number of instructions that would be saved by outlining this function. More...
 
unsigned getNumInstrs () const
 Return the number of instructions in this sequence. More...
 
 OutlinedFunction (std::vector< Candidate > &Candidates, unsigned SequenceSize, unsigned FrameOverhead, unsigned FrameConstructionID)
 
 OutlinedFunction ()
 

Public Attributes

std::vector< CandidateCandidates
 
MachineFunctionMF = nullptr
 The actual outlined function created. More...
 
unsigned SequenceSize = 0
 Represents the size of a sequence in bytes. More...
 
unsigned FrameOverhead = 0
 Target-defined overhead of constructing a frame for this function. More...
 
unsigned FrameConstructionID = 0
 Target-defined identifier for constructing a frame for this function. More...
 

Detailed Description

The information necessary to create an outlined function for some class of candidate.

Definition at line 163 of file MachineOutliner.h.

Constructor & Destructor Documentation

◆ OutlinedFunction() [1/2]

llvm::outliner::OutlinedFunction::OutlinedFunction ( std::vector< Candidate > &  Candidates,
unsigned  SequenceSize,
unsigned  FrameOverhead,
unsigned  FrameConstructionID 
)
inline

Definition at line 211 of file MachineOutliner.h.

References B, and C.

◆ OutlinedFunction() [2/2]

llvm::outliner::OutlinedFunction::OutlinedFunction ( )
inline

Definition at line 220 of file MachineOutliner.h.

Member Function Documentation

◆ getBenefit()

unsigned llvm::outliner::OutlinedFunction::getBenefit ( ) const
inline

Return the number of instructions that would be saved by outlining this function.

Definition at line 201 of file MachineOutliner.h.

◆ getNotOutlinedCost()

unsigned llvm::outliner::OutlinedFunction::getNotOutlinedCost ( ) const
inline

Return the size in bytes of the unoutlined sequences.

Definition at line 195 of file MachineOutliner.h.

◆ getNumInstrs()

unsigned llvm::outliner::OutlinedFunction::getNumInstrs ( ) const
inline

Return the number of instructions in this sequence.

Definition at line 209 of file MachineOutliner.h.

◆ getOccurrenceCount()

unsigned llvm::outliner::OutlinedFunction::getOccurrenceCount ( ) const
inline

Return the number of candidates for this OutlinedFunction.

Definition at line 183 of file MachineOutliner.h.

◆ getOutliningCost()

unsigned llvm::outliner::OutlinedFunction::getOutliningCost ( ) const
inline

Return the number of bytes it would take to outline this function.

Definition at line 187 of file MachineOutliner.h.

References C.

Member Data Documentation

◆ Candidates

std::vector<Candidate> llvm::outliner::OutlinedFunction::Candidates

Definition at line 166 of file MachineOutliner.h.

◆ FrameConstructionID

unsigned llvm::outliner::OutlinedFunction::FrameConstructionID = 0

Target-defined identifier for constructing a frame for this function.

Definition at line 180 of file MachineOutliner.h.

Referenced by llvm::AArch64InstrInfo::buildOutlinedFrame(), and llvm::X86InstrInfo::buildOutlinedFrame().

◆ FrameOverhead

unsigned llvm::outliner::OutlinedFunction::FrameOverhead = 0

Target-defined overhead of constructing a frame for this function.

Definition at line 177 of file MachineOutliner.h.

◆ MF

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 170 of file MachineOutliner.h.

◆ SequenceSize

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 174 of file MachineOutliner.h.


The documentation for this struct was generated from the following file: