llvm::IVStrideUse Class Reference

#include <IVUsers.h>

List of all members.

Public Member Functions

 IVStrideUse (IVUsers *P, const SCEV *S, const SCEV *Off, Instruction *U, Value *O)
Instruction * getUser () const
 getUser - Return the user instruction for this use.
void setUser (Instruction *NewUser)
 setUser - Assign a new user instruction for this use.
IVUsers * getParent () const
const SCEVgetStride () const
 getStride - Return the expression for the stride for the use.
void setStride (const SCEV *Val)
 setStride - Assign a new stride to this use.
const SCEVgetOffset () const
void setOffset (const SCEV *Val)
 setOffset - Assign a new offset to this use.
Value * getOperandValToReplace () const
void setOperandValToReplace (Value *Op)
bool isUseOfPostIncrementedValue () const
void setIsUseOfPostIncrementedValue (bool Val)


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.

Member Function Documentation

const SCEV* llvm::IVStrideUse::getOffset (  )  const [inline]

getOffset - Return the offset to add to a theoretical induction variable that starts at zero and counts up by the stride to compute the value for the use. This always has the same type as the stride.

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

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

IVUsers* llvm::IVStrideUse::getParent (  )  const [inline]

getParent - Return a pointer to the IVUsers that owns this IVStrideUse.

bool llvm::IVStrideUse::isUseOfPostIncrementedValue (  )  const [inline]

isUseOfPostIncrementedValue - True if this should use the post-incremented version of this IV, not the preincremented version. This can only be set in special cases, such as the terminating setcc instruction for a loop or uses dominated by the loop.

void llvm::IVStrideUse::setIsUseOfPostIncrementedValue ( bool  Val  )  [inline]

setIsUseOfPostIncrmentedValue - set the flag that indicates whether this is a post-increment use.

void llvm::IVStrideUse::setOperandValToReplace ( Value *  Op  )  [inline]

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


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

Generated on Fri Mar 19 01:41:24 2010 by  doxygen 1.5.8