Tracks swifterror values as virtual registers during code generation.
Declared in <llvm/CodeGen/SwiftErrorValueTracking.h>
class SwiftErrorValueTracking;
Implements a limited mem2reg-like analysis to promote uses of function arguments and allocas marked with swifterror from memory into virtual registers.
| 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. |