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

Name

Description

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

Name

Description

llvm::SSAUpdaterTraits

Traits used by SSAUpdaterImpl to adapt an SSA updater implementation.

Created with MrDocs