struct Candidate

Declaration

struct Candidate { /* full declaration omitted */ };

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:37

Member Variables

public unsigned int FunctionIdx = 0
The index of this \p Candidate's \p OutlinedFunction in the list of\p OutlinedFunctions.
public unsigned int CallConstructionID = 0
Identifier denoting the instructions to emit to call an outlined function from this point. Defined by the target.
public llvm::LiveRegUnits LRU
public llvm::LiveRegUnits UsedInSequence
public unsigned int Flags = 0
Target-specific flags for this Candidate's MBB.
public bool LRUWasSet = false
True if initLRU has been called on this Candidate.
public unsigned int Benefit = 0
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.

Method Overview

  • public Candidate(unsigned int StartIdx, unsigned int Len, int & FirstInst, int & LastInst, llvm::MachineBasicBlock * MBB, unsigned int FunctionIdx, unsigned int Flags)
  • public Candidate()
  • public int & back()
  • public int & front()
  • public unsigned int getCallOverhead() const
  • public unsigned int getEndIdx() const
  • public unsigned int getLength() const
  • public llvm::MachineBasicBlock * getMBB() const
  • public llvm::MachineFunction * getMF() const
  • public unsigned int getStartIdx() const
  • public void initLRU(const llvm::TargetRegisterInfo & TRI)
  • public void setCallInfo(unsigned int CID, unsigned int CO)

Methods

Candidate(unsigned int StartIdx,
          unsigned int Len,
          int& FirstInst,
          int& LastInst,
          llvm::MachineBasicBlock* MBB,
          unsigned int FunctionIdx,
          unsigned int Flags)

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:120

Parameters

unsigned int StartIdx
unsigned int Len
int& FirstInst
int& LastInst
llvm::MachineBasicBlock* MBB
unsigned int FunctionIdx
unsigned int Flags

Candidate()

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:126

int& back()

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:107

int& front()

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:106

unsigned int getCallOverhead() const

Description

Returns the call overhead of this candidate if it is in the list.

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:104

unsigned int getEndIdx() const

Description

Return the end index of this candidate.

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:94

unsigned int getLength() const

Description

Return the number of instructions in this Candidate.

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:88

llvm::MachineBasicBlock* getMBB() const

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:109

llvm::MachineFunction* getMF() const

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:108

unsigned int getStartIdx() const

Description

Return the start index of this candidate.

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:91

void initLRU(const llvm::TargetRegisterInfo& TRI)

Description

Compute the registers that are live across this Candidate. Used by targets that need this information for cost model calculation. If a target does not need this information, then this should not be called.

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:138

Parameters

const llvm::TargetRegisterInfo& TRI

void setCallInfo(unsigned int CID,
                 unsigned int CO)

Description

Set the CallConstructionID and CallOverhead of this candidate to CID and CO respectively.

Declared at: llvm/include/llvm/CodeGen/MachineOutliner.h:98

Parameters

unsigned int CID
unsigned int CO