Helper class for SSA formation on a set of values defined in multiple blocks.
Declared in <llvm/Transforms/Utils/SSAUpdater.h>
class SSAUpdater;
This is used when code duplication or another unstructured transformation wants to rewrite a set of uses of one value with uses of a set of values.
| Name | Description |
|---|---|
SSAUpdater [constructor] | Constructors |
~SSAUpdater [destructor] | Destroy the SSA updater. |
operator= [deleted] | Deleted copy assignment; SSAUpdater cannot be copy-assigned. |
AddAvailableValue | Indicate that a rewritten value is available in the specified block with the specified value. |
FindValueForBlock | Return the value for the specified block if the SSAUpdater has one, otherwise return nullptr. |
GetValueAtEndOfBlock | Construct SSA form, materializing a value that is live at the end of the specified block. |
GetValueInMiddleOfBlock | Construct SSA form, materializing a value that is live in the middle of the specified block. |
HasValueForBlock | Return true if the SSAUpdater already has a value for the specified block. |
Initialize | Reset this object to get ready for a new set of SSA updates with type 'Ty'. |
RewriteUse | Rewrite a use of the symbolic value. |
RewriteUseAfterInsertions | Rewrite a use like RewriteUse but handling in-block definitions. |
UpdateDebugValues | UpdateDebugValues overloads |
| Name | Description |
|---|---|
llvm::SSAUpdaterTraits | Traits used by SSAUpdaterImpl to adapt an SSA updater implementation. |