LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Friends | List of all members
llvm::IVStrideUse Class Reference

#include <IVUsers.h>

Inheritance diagram for llvm::IVStrideUse:
Inheritance graph
[legend]
Collaboration diagram for llvm::IVStrideUse:
Collaboration graph
[legend]

Public Member Functions

 IVStrideUse (IVUsers *P, Instruction *U, Value *O)
 
InstructiongetUser () const
 getUser - Return the user instruction for this use. More...
 
void setUser (Instruction *NewUser)
 setUser - Assign a new user instruction for this use. More...
 
ValuegetOperandValToReplace () const
 
void setOperandValToReplace (Value *Op)
 
const PostIncLoopSetgetPostIncLoops () const
 
void transformToPostInc (const Loop *L)
 
- Public Member Functions inherited from llvm::CallbackVH
 CallbackVH ()
 
 CallbackVH (Value *P)
 
 operator Value * () const
 
virtual void allUsesReplacedWith (Value *)
 
- Public Member Functions inherited from llvm::ValueHandleBase
 ValueHandleBase (HandleBaseKind Kind)
 
 ValueHandleBase (HandleBaseKind Kind, Value *V)
 
 ValueHandleBase (HandleBaseKind Kind, const ValueHandleBase &RHS)
 
 ~ValueHandleBase ()
 
Valueoperator= (Value *RHS)
 
Valueoperator= (const ValueHandleBase &RHS)
 
Valueoperator-> () const
 
Valueoperator* () const
 
- Public Member Functions inherited from llvm::ilist_node< IVStrideUse >
IVStrideUsegetPrevNode ()
 Get the previous node, or 0 for the list head. More...
 
const IVStrideUsegetPrevNode () const
 Get the previous node, or 0 for the list head. More...
 
IVStrideUsegetNextNode ()
 Get the next node, or 0 for the list tail. More...
 
const IVStrideUsegetNextNode () const
 Get the next node, or 0 for the list tail. More...
 

Friends

class IVUsers
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::ValueHandleBase
static void ValueIsDeleted (Value *V)
 
static void ValueIsRAUWd (Value *Old, Value *New)
 
- Protected Types inherited from llvm::ValueHandleBase
enum  HandleBaseKind { Assert, Callback, Tracking, Weak }
 
- Protected Member Functions inherited from llvm::CallbackVH
 CallbackVH (const CallbackVH &RHS)
 
virtual ~CallbackVH ()
 
void setValPtr (Value *P)
 
- Protected Member Functions inherited from llvm::ValueHandleBase
ValuegetValPtr () const
 
void setValPtrInt (unsigned K)
 
unsigned getValPtrInt () const
 
- Protected Member Functions inherited from llvm::ilist_node< IVStrideUse >
 ilist_node ()
 
- Static Protected Member Functions inherited from llvm::ValueHandleBase
static bool isValid (Value *V)
 

Detailed Description

IVStrideUse - Keep track of one use of a strided induction variable. The Expr member keeps track of the expression, User is the actual user instruction of the operand, and 'OperandValToReplace' is the operand of the User that is the use.

Definition at line 36 of file IVUsers.h.

Constructor & Destructor Documentation

llvm::IVStrideUse::IVStrideUse ( IVUsers P,
Instruction U,
Value O 
)
inline

Definition at line 39 of file IVUsers.h.

Member Function Documentation

Value* llvm::IVStrideUse::getOperandValToReplace ( ) const
inline

getOperandValToReplace - Return the Value of the operand in the user instruction that this IVStrideUse is representing.

Definition at line 55 of file IVUsers.h.

Referenced by llvm::IVUsers::getExpr(), and llvm::IVUsers::getReplacementExpr().

const PostIncLoopSet& llvm::IVStrideUse::getPostIncLoops ( ) const
inline

getPostIncLoops - Return the set of loops for which the expression has been adjusted to use post-inc mode.

Definition at line 67 of file IVUsers.h.

Referenced by llvm::IVUsers::getExpr().

Instruction* llvm::IVStrideUse::getUser ( ) const
inline

getUser - Return the user instruction for this use.

Definition at line 44 of file IVUsers.h.

References llvm::ValueHandleBase::getValPtr().

Referenced by llvm::IVUsers::getExpr().

void llvm::IVStrideUse::setOperandValToReplace ( Value Op)
inline

setOperandValToReplace - Assign a new Value as the operand value to replace.

Definition at line 61 of file IVUsers.h.

void llvm::IVStrideUse::setUser ( Instruction NewUser)
inline

setUser - Assign a new user instruction for this use.

Definition at line 49 of file IVUsers.h.

References llvm::CallbackVH::setValPtr().

void IVStrideUse::transformToPostInc ( const Loop L)

transformToPostInc - Transform the expression to post-inc form for the given loop.

Definition at line 326 of file IVUsers.cpp.

References llvm::SmallPtrSet< PtrType, SmallSize >::insert().

Friends And Related Function Documentation

friend class IVUsers
friend

Definition at line 37 of file IVUsers.h.


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