Helper class for promoting a collection of loads and stores into SSA Form using the SSAUpdater.

Synopsis

Declared in <llvm/Transforms/Utils/SSAUpdater.h>

class LoadAndStorePromoter;

Description

This handles complexities that SSAUpdater doesn't, such as multiple loads and stores in one block.

Clients of this class are expected to subclass this and implement the virtual methods.

Member Functions

Name

Description

LoadAndStorePromoter [constructor]

Construct a promoter for the given loads and stores.

~LoadAndStorePromoter [destructor] [virtual]

Destroy the load/store promoter.

doExtraRewritesBeforeFinalDeletion [virtual]

This hook is invoked after all the stores are found and inserted as available values.

getValueToUseForAlloca [virtual]

Return the value to use at the alloca's position in the code.

instructionDeleted [virtual]

Called before each instruction is deleted.

replaceLoadWithValue [virtual]

Clients can choose to implement this to get notified right before a load is RAUW'd another value.

run

This does the promotion.

shouldDelete [virtual]

Return false if a sub‐class wants to keep one of the loads/stores after the SSA construction.

updateDebugInfo [virtual]

Called to update debug info associated with the instruction.

Protected Data Members

Name

Description

SSA

SSA updater used to form SSA values for promoted loads and stores.

Created with MrDocs