class SwiftErrorValueTracking

Declaration

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

Declared at: llvm/include/llvm/CodeGen/SwiftErrorValueTracking.h:36

Method Overview

  • public bool createEntriesInEntryBlock(llvm::DebugLoc DbgLoc)
  • public const llvm::Value * getFunctionArg() const
  • public llvm::Register getOrCreateVReg(const llvm::MachineBasicBlock *, const llvm::Value *)
  • public llvm::Register getOrCreateVRegDefAt(const llvm::Instruction *, const llvm::MachineBasicBlock *, const llvm::Value *)
  • public llvm::Register getOrCreateVRegUseAt(const llvm::Instruction *, const llvm::MachineBasicBlock *, const llvm::Value *)
  • public void preassignVRegs(llvm::MachineBasicBlock * MBB, BasicBlock::const_iterator Begin, BasicBlock::const_iterator End)
  • public void propagateVRegs()
  • public void setCurrentVReg(const llvm::MachineBasicBlock * MBB, const llvm::Value *, llvm::Register)
  • public void setFunction(llvm::MachineFunction & MF)

Methods

bool createEntriesInEntryBlock(
    llvm::DebugLoc DbgLoc)

Description

Create initial definitions of swifterror values in the entry block of the current function.

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

Parameters

llvm::DebugLoc DbgLoc

const llvm::Value* getFunctionArg() const

Description

Get the (unique) function argument that was marked swifterror, or nullptr if this function has no swifterror args.

Declared at: llvm/include/llvm/CodeGen/SwiftErrorValueTracking.h:74

llvm::Register getOrCreateVReg(
    const llvm::MachineBasicBlock*,
    const llvm::Value*)

Description

Get or create the swifterror value virtual register in VRegDefMap for this basic block.

Declared at: llvm/include/llvm/CodeGen/SwiftErrorValueTracking.h:80

Parameters

const llvm::MachineBasicBlock*
const llvm::Value*

llvm::Register getOrCreateVRegDefAt(
    const llvm::Instruction*,
    const llvm::MachineBasicBlock*,
    const llvm::Value*)

Description

Get or create the swifterror value virtual register for a def of a swifterror by an instruction.

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

Parameters

const llvm::Instruction*
const llvm::MachineBasicBlock*
const llvm::Value*

llvm::Register getOrCreateVRegUseAt(
    const llvm::Instruction*,
    const llvm::MachineBasicBlock*,
    const llvm::Value*)

Description

Get or create the swifterror value virtual register for a use of a swifterror by an instruction.

Declared at: llvm/include/llvm/CodeGen/SwiftErrorValueTracking.h:93

Parameters

const llvm::Instruction*
const llvm::MachineBasicBlock*
const llvm::Value*

void preassignVRegs(
    llvm::MachineBasicBlock* MBB,
    BasicBlock::const_iterator Begin,
    BasicBlock::const_iterator End)

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

Parameters

llvm::MachineBasicBlock* MBB
BasicBlock::const_iterator Begin
BasicBlock::const_iterator End

void propagateVRegs()

Description

Propagate assigned swifterror vregs through a function, synthesizing PHI nodes when needed to maintain consistency.

Declared at: llvm/include/llvm/CodeGen/SwiftErrorValueTracking.h:102

void setCurrentVReg(
    const llvm::MachineBasicBlock* MBB,
    const llvm::Value*,
    llvm::Register)

Description

Set the swifterror virtual register in the VRegDefMap for this basic block.

Declared at: llvm/include/llvm/CodeGen/SwiftErrorValueTracking.h:84

Parameters

const llvm::MachineBasicBlock* MBB
const llvm::Value*
llvm::Register

void setFunction(llvm::MachineFunction& MF)

Description

Initialize data structures for specified new function.

Declared at: llvm/include/llvm/CodeGen/SwiftErrorValueTracking.h:70

Parameters

llvm::MachineFunction& MF