class InsertPointAnalysis

Declaration

class InsertPointAnalysis { /* full declaration omitted */ };

Description

Determines the latest safe point in a block in which we can insert a split, spill or other instruction related with CurLI.

Declared at: llvm/lib/CodeGen/SplitKit.h:51

Member Variables

private const llvm::LiveIntervals& LIS
private SmallVector<std::pair<SlotIndex, SlotIndex>, 8> LastInsertPoint
Last legal insert point in each basic block in the current function. The first entry is the first terminator, the second entry is the last valid point to insert a split or spill for a variable that is live into a landing pad or inlineasm_br successor.

Method Overview

  • public InsertPointAnalysis(const llvm::LiveIntervals & lis, unsigned int BBNum)
  • private llvm::SlotIndex computeLastInsertPoint(const llvm::LiveInterval & CurLI, const llvm::MachineBasicBlock & MBB)
  • public llvm::SlotIndex getFirstInsertPoint(llvm::MachineBasicBlock & MBB)
  • public llvm::SlotIndex getLastInsertPoint(const llvm::LiveInterval & CurLI, const llvm::MachineBasicBlock & MBB)
  • public MachineBasicBlock::iterator getLastInsertPointIter(const llvm::LiveInterval & CurLI, llvm::MachineBasicBlock & MBB)

Methods

InsertPointAnalysis(
    const llvm::LiveIntervals& lis,
    unsigned int BBNum)

Declared at: llvm/lib/CodeGen/SplitKit.h:65

Parameters

const llvm::LiveIntervals& lis
unsigned int BBNum

llvm::SlotIndex computeLastInsertPoint(
    const llvm::LiveInterval& CurLI,
    const llvm::MachineBasicBlock& MBB)

Declared at: llvm/lib/CodeGen/SplitKit.h:61

Parameters

const llvm::LiveInterval& CurLI
const llvm::MachineBasicBlock& MBB

llvm::SlotIndex getFirstInsertPoint(
    llvm::MachineBasicBlock& MBB)

Description

Return the base index of the first insert point in \pMBB.

Declared at: llvm/lib/CodeGen/SplitKit.h:83

Parameters

llvm::MachineBasicBlock& MBB

llvm::SlotIndex getLastInsertPoint(
    const llvm::LiveInterval& CurLI,
    const llvm::MachineBasicBlock& MBB)

Description

Return the base index of the last valid insert point for \pCurLIin \pMBB.

Declared at: llvm/lib/CodeGen/SplitKit.h:68

Parameters

const llvm::LiveInterval& CurLI
const llvm::MachineBasicBlock& MBB

MachineBasicBlock::iterator
getLastInsertPointIter(
    const llvm::LiveInterval& CurLI,
    llvm::MachineBasicBlock& MBB)

Description

Returns the last insert point as an iterator for \pCurLIin \pMBB.

Declared at: llvm/lib/CodeGen/SplitKit.h:79

Parameters

const llvm::LiveInterval& CurLI
llvm::MachineBasicBlock& MBB