Helper class for SSA formation on a set of values defined in multiple blocks.
Declared in <llvm/Transforms/Utils/SSAUpdaterBulk.h>
class SSAUpdaterBulk;
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. The update is done only when RewriteAllUses is called, all other methods are used for book-keeping. That helps to share some common computations between updates of different uses (which is not the case when traditional SSAUpdater is used).
| Name | Description |
|---|---|
SSAUpdaterBulk [constructor] | Constructors |
~SSAUpdaterBulk [destructor] | Destroy the SSA updater. |
operator= [deleted] | Deleted copy assignment; SSAUpdaterBulk cannot be copy-assigned. |
AddAvailableValue | Indicate that a rewritten value is available in the specified block with the specified value. |
AddUse | Record a use of the symbolic value. This use will be updated with a rewritten value when RewriteAllUses is called. |
AddVariable | Add a new variable to the SSA rewriter. |
RewriteAllUses | Perform all the necessary updates, including new PHI-nodes insertion and the requested uses update. |
RewriteAndOptimizeAllUses | Rewrite all uses and simplify the inserted PHI nodes. |