Tracks swifterror values as virtual registers during code generation.

Synopsis

Declared in <llvm/CodeGen/SwiftErrorValueTracking.h>

class SwiftErrorValueTracking;

Description

Implements a limited mem2reg‐like analysis to promote uses of function arguments and allocas marked with swifterror from memory into virtual registers.

Member Functions

Name

Description

createEntriesInEntryBlock

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

getFunctionArg

Get the (unique) function argument that was marked swifterror.

getOrCreateVReg

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

getOrCreateVRegDefAt

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

getOrCreateVRegUseAt

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

preassignVRegs

Preassign virtual registers to swifterror defs and uses in an IR range.

propagateVRegs

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

setCurrentVReg

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

setFunction

Initialize data structures for specified new function.

Created with MrDocs