LLVM 18.0.0git
|
IVStrideUse - Keep track of one use of a strided induction variable. More...
#include "llvm/Analysis/IVUsers.h"
Public Member Functions | |
IVStrideUse (IVUsers *P, 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. | |
Value * | getOperandValToReplace () const |
getOperandValToReplace - Return the Value of the operand in the user instruction that this IVStrideUse is representing. | |
void | setOperandValToReplace (Value *Op) |
setOperandValToReplace - Assign a new Value as the operand value to replace. | |
const PostIncLoopSet & | getPostIncLoops () const |
getPostIncLoops - Return the set of loops for which the expression has been adjusted to use post-inc mode. | |
void | transformToPostInc (const Loop *L) |
transformToPostInc - Transform the expression to post-inc form for the given loop. | |
![]() | |
CallbackVH () | |
CallbackVH (Value *P) | |
CallbackVH (const Value *P) | |
operator Value * () const | |
virtual void | deleted () |
Callback for Value destruction. | |
virtual void | allUsesReplacedWith (Value *) |
Callback for Value RAUW. | |
![]() | |
ValueHandleBase (HandleBaseKind Kind) | |
ValueHandleBase (HandleBaseKind Kind, Value *V) | |
~ValueHandleBase () | |
Value * | operator= (Value *RHS) |
Value * | operator= (const ValueHandleBase &RHS) |
Value * | operator-> () const |
Value & | operator* () const |
![]() | |
self_iterator | getIterator () |
const_self_iterator | getIterator () const |
reverse_self_iterator | getReverseIterator () |
const_reverse_self_iterator | getReverseIterator () const |
bool | isSentinel () const |
Check whether this is the sentinel node. | |
Friends | |
class | IVUsers |
Additional Inherited Members | |
![]() | |
static void | ValueIsDeleted (Value *V) |
static void | ValueIsRAUWd (Value *Old, Value *New) |
![]() | |
enum | HandleBaseKind { Assert , Callback , Weak , WeakTracking } |
This indicates what sub class the handle actually is. More... | |
![]() | |
using | self_iterator = ilist_iterator< OptionsT, false, false > |
using | const_self_iterator = ilist_iterator< OptionsT, false, true > |
using | reverse_self_iterator = ilist_iterator< OptionsT, true, false > |
using | const_reverse_self_iterator = ilist_iterator< OptionsT, true, true > |
![]() | |
~CallbackVH ()=default | |
CallbackVH (const CallbackVH &)=default | |
CallbackVH & | operator= (const CallbackVH &)=default |
void | setValPtr (Value *P) |
![]() | |
ValueHandleBase (const ValueHandleBase &RHS) | |
ValueHandleBase (HandleBaseKind Kind, const ValueHandleBase &RHS) | |
Value * | getValPtr () const |
void | RemoveFromUseList () |
Remove this ValueHandle from its current use list. | |
void | clearValPtr () |
Clear the underlying pointer without clearing the use list. | |
![]() | |
ilist_node_impl ()=default | |
![]() | |
static bool | isValid (Value *V) |
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.
|
inline |
|
inline |
getOperandValToReplace - Return the Value of the operand in the user instruction that this IVStrideUse is representing.
Definition at line 53 of file IVUsers.h.
Referenced by llvm::IVUsers::getReplacementExpr().
|
inline |
getPostIncLoops - Return the set of loops for which the expression has been adjusted to use post-inc mode.
Definition at line 65 of file IVUsers.h.
Referenced by llvm::IVUsers::getExpr().
|
inline |
getUser - Return the user instruction for this use.
Definition at line 42 of file IVUsers.h.
References llvm::ValueHandleBase::getValPtr().
|
inline |
|
inline |
setUser - Assign a new user instruction for this use.
Definition at line 47 of file IVUsers.h.
References llvm::CallbackVH::setValPtr().
transformToPostInc - Transform the expression to post-inc form for the given loop.
Definition at line 367 of file IVUsers.cpp.
References llvm::SmallPtrSetImpl< PtrType >::insert().