LLVM API Documentation

Public Member Functions | Protected Attributes
llvm::LoadAndStorePromoter Class Reference

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

#include <SSAUpdater.h>

Collaboration diagram for llvm::LoadAndStorePromoter:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LoadAndStorePromoter (const SmallVectorImpl< Instruction * > &Insts, SSAUpdater &S, StringRef Name=StringRef())
virtual ~LoadAndStorePromoter ()
void run (const SmallVectorImpl< Instruction * > &Insts) const
 This does the promotion.
virtual bool isInstInList (Instruction *I, const SmallVectorImpl< Instruction * > &Insts) const
 Return true if the specified instruction is in the Inst list.
virtual void doExtraRewritesBeforeFinalDeletion () const
 This hook is invoked after all the stores are found and inserted as available values.
virtual void replaceLoadWithValue (LoadInst *LI, Value *V) const
 Clients can choose to implement this to get notified right before a load is RAUW'd another value.
virtual void instructionDeleted (Instruction *I) const
 Called before each instruction is deleted.
virtual void updateDebugInfo (Instruction *I) const
 Called to update debug info associated with the instruction.

Protected Attributes

SSAUpdaterSSA

Detailed Description

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

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.

Definition at line 133 of file SSAUpdater.h.


Constructor & Destructor Documentation

Definition at line 140 of file SSAUpdater.h.


Member Function Documentation

virtual void llvm::LoadAndStorePromoter::doExtraRewritesBeforeFinalDeletion ( ) const [inline, virtual]

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

Definition at line 158 of file SSAUpdater.h.

Referenced by run().

virtual void llvm::LoadAndStorePromoter::instructionDeleted ( Instruction I) const [inline, virtual]

Called before each instruction is deleted.

Definition at line 167 of file SSAUpdater.h.

Referenced by run().

Return true if the specified instruction is in the Inst list.

The Insts list is the one passed into the constructor. Clients should implement this with a more efficient version if possible.

Definition at line 487 of file SSAUpdater.cpp.

References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), and I.

Referenced by run().

virtual void llvm::LoadAndStorePromoter::replaceLoadWithValue ( LoadInst LI,
Value V 
) const [inline, virtual]

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

Definition at line 163 of file SSAUpdater.h.

Referenced by run().

virtual void llvm::LoadAndStorePromoter::updateDebugInfo ( Instruction I) const [inline, virtual]

Called to update debug info associated with the instruction.

Definition at line 171 of file SSAUpdater.h.

Referenced by run().


Member Data Documentation

Definition at line 135 of file SSAUpdater.h.

Referenced by LoadAndStorePromoter(), and run().


The documentation for this class was generated from the following files: