llvm::MachineSSAUpdater

Helper class for SSA formation on virtual registers defined in multiple blocks.

Synopsis

Declared in <llvm/CodeGen/MachineSSAUpdater.h>

class MachineSSAUpdater;

Description

This is used when code duplication or another unstructured transformation wants to rewrite a set of uses of one vreg with uses of a set of vregs.

Member Functions

NameDescription
MachineSSAUpdater [constructor]Constructors
~MachineSSAUpdater [destructor]Destroy the MachineSSA updater.
operator= [deleted]Deleted copy assignment; MachineSSAUpdater cannot be copy-assigned.
AddAvailableValue Indicate that a rewritten value is available at the end of the specified block with the specified value.
GetValueAtEndOfBlock Construct SSA form, materializing a value that is live at the end of the specified block.
GetValueInMiddleOfBlock Construct SSA form, materializing a value live in the middle of a block.
HasValueForBlock Return true if the MachineSSAUpdater already has a value for the specified block.
Initialize Reset this object to get ready for a new set of SSA updates.
RewriteUse Rewrite a use of the symbolic value.

Friends

NameDescription
llvm::SSAUpdaterTraitsTraits used by SSAUpdaterImpl to adapt an SSA updater implementation.