LLVM API Documentation

llvm::ValueNumbering Struct Reference

#include <ValueNumbering.h>

List of all members.

Public Member Functions

virtual ~ValueNumbering ()
virtual void getEqualNumberNodes (Value *V1, std::vector< Value * > &RetVals) const=0
virtual void deleteValue (Value *V)
virtual void copyValue (Value *From, Value *To)
void replaceWithNewValue (Value *Old, Value *New)


Detailed Description

Definition at line 31 of file ValueNumbering.h.


Constructor & Destructor Documentation

ValueNumbering::~ValueNumbering (  )  [virtual]

ValueNumbering destructor: DO NOT move this to the header file for ValueNumbering or else clients of the ValueNumbering class may not depend on the ValueNumbering.o file in the current .a file, causing alias analysis support to not be included in the tool correctly!

Definition at line 32 of file ValueNumbering.cpp.


Member Function Documentation

virtual void llvm::ValueNumbering::getEqualNumberNodes ( Value V1,
std::vector< Value * > &  RetVals 
) const [pure virtual]

getEqualNumberNodes - Return nodes with the same value number as the specified Value. This fills in the argument vector with any equal values.

virtual void llvm::ValueNumbering::deleteValue ( Value V  )  [inline, virtual]

deleteValue - This method should be called whenever an LLVM Value is deleted from the program, for example when an instruction is found to be redundant and is eliminated.

Definition at line 49 of file ValueNumbering.h.

Referenced by replaceWithNewValue().

virtual void llvm::ValueNumbering::copyValue ( Value From,
Value To 
) [inline, virtual]

copyValue - This method should be used whenever a preexisting value in the program is copied or cloned, introducing a new value. Note that analysis implementations should tolerate clients that use this method to introduce the same value multiple times: if the analysis already knows about a value, it should ignore the request.

Definition at line 57 of file ValueNumbering.h.

Referenced by replaceWithNewValue().

void llvm::ValueNumbering::replaceWithNewValue ( Value Old,
Value New 
) [inline]

replaceWithNewValue - This method is the obvious combination of the two above, and it provided as a helper to simplify client code.

Definition at line 62 of file ValueNumbering.h.

References copyValue(), and deleteValue().


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