LLVM  8.0.1
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
 Represents the size of a sequence in bytes. More...
 
unsigned FrameOverhead
 Target-defined overhead of constructing a frame for this function. More...
 
unsigned FrameConstructionID
 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 164 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 212 of file MachineOutliner.h.

References B, and C.

◆ OutlinedFunction() [2/2]

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

Definition at line 221 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 202 of file MachineOutliner.h.

◆ getNotOutlinedCost()

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

Return the size in bytes of the unoutlined sequences.

Definition at line 196 of file MachineOutliner.h.

◆ getNumInstrs()

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

Return the number of instructions in this sequence.

Definition at line 210 of file MachineOutliner.h.

◆ getOccurrenceCount()

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

Return the number of candidates for this OutlinedFunction.

Definition at line 184 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 188 of file MachineOutliner.h.

References C.

Member Data Documentation

◆ Candidates

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

Definition at line 167 of file MachineOutliner.h.

◆ FrameConstructionID

unsigned llvm::outliner::OutlinedFunction::FrameConstructionID

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

Definition at line 181 of file MachineOutliner.h.

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

◆ FrameOverhead

unsigned llvm::outliner::OutlinedFunction::FrameOverhead

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

Definition at line 178 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 171 of file MachineOutliner.h.

◆ SequenceSize

unsigned llvm::outliner::OutlinedFunction::SequenceSize

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


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