class SCEVUnknown
Declaration
class SCEVUnknown : public SCEV, private CallbackVH { /* full declaration omitted */ };
Description
This means that we are dealing with an entirely unknown SCEV value, and only represent it as its LLVM Value. This is the "bottom" value for the analysis.
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:571
Inherits from: SCEV, CallbackVH
Member Variables
- private llvm::ScalarEvolution* SE
- The parent ScalarEvolution value. This is used to update the parent's maps when the value associated with a SCEVUnknown is deleted or RAUW'd.
- private llvm::SCEVUnknown* Next
- The next pointer in the linked list of all SCEVUnknown instances owned by a ScalarEvolution.
Inherited from SCEV:
Method Overview
- private SCEVUnknown(const llvm::FoldingSetNodeIDRef ID, llvm::Value * V, llvm::ScalarEvolution * se, llvm::SCEVUnknown * next)
- private void allUsesReplacedWith(llvm::Value * New)
- public static bool classof(const llvm::SCEV * S)
- private void deleted()
- public llvm::Type * getType() const
- public llvm::Value * getValue() const
- public bool isAlignOf(llvm::Type *& AllocTy) const
- public bool isOffsetOf(llvm::Type *& STy, llvm::Constant *& FieldNo) const
- public bool isSizeOf(llvm::Type *& AllocTy) const
Inherited from SCEV:
- public dump
- public getExpressionSize
- public getSCEVType
- public getType
- public isAllOnesValue
- public isNonConstantNegative
- public isOne
- public isZero
- public print
Inherited from FoldingSetBase::Node:
Methods
¶SCEVUnknown(const llvm::FoldingSetNodeIDRef ID,
llvm::Value* V,
llvm::ScalarEvolution* se,
llvm::SCEVUnknown* next)
SCEVUnknown(const llvm::FoldingSetNodeIDRef ID,
llvm::Value* V,
llvm::ScalarEvolution* se,
llvm::SCEVUnknown* next)
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:583
Parameters
- const llvm::FoldingSetNodeIDRef ID
- llvm::Value* V
- llvm::ScalarEvolution* se
- llvm::SCEVUnknown* next
¶void allUsesReplacedWith(llvm::Value* New)
void allUsesReplacedWith(llvm::Value* New)
Description
Callback for Value RAUW. Called when this->getValPtr()->replaceAllUsesWith(new_value) is called, _before_ any of the uses have actually been replaced. If WeakTrackingVH were implemented as a CallbackVH, it would use this method to call setValPtr(new_value). AssertingVH would do nothing in this method.
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:589
Parameters
- llvm::Value* New
¶static bool classof(const llvm::SCEV* S)
static bool classof(const llvm::SCEV* S)
Description
Methods for support type inquiry through isa, cast, and dyn_cast:
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:609
Parameters
- const llvm::SCEV* S
¶void deleted()
void deleted()
Description
Callback for Value destruction. Called when this->getValPtr() is destroyed, inside ~Value(), so you may call any non-virtual Value method on getValPtr(), but no subclass methods. If WeakTrackingVH were implemented as a CallbackVH, it would use this method to call setValPtr(NULL). AssertingVH would use this method to cause an assertion failure. All implementations must remove the reference from this object to the Value that's being destroyed.
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:588
¶llvm::Type* getType() const
llvm::Type* getType() const
Description
@ }
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:606
¶llvm::Value* getValue() const
llvm::Value* getValue() const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:592
¶bool isAlignOf(llvm::Type*& AllocTy) const
bool isAlignOf(llvm::Type*& AllocTy) const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:602
Parameters
- llvm::Type*& AllocTy
¶bool isOffsetOf(llvm::Type*& STy,
llvm::Constant*& FieldNo) const
bool isOffsetOf(llvm::Type*& STy,
llvm::Constant*& FieldNo) const
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:603
Parameters
- llvm::Type*& STy
- llvm::Constant*& FieldNo
¶bool isSizeOf(llvm::Type*& AllocTy) const
bool isSizeOf(llvm::Type*& AllocTy) const
Description
@ { Test whether this is a special constant representing a type size, alignment, or field offset in a target-independent manner, and hasn't happened to have been folded with other operations into something unrecognizable. This is mainly only useful for pretty-printing and other situations where it isn't absolutely required for these to succeed.
Declared at: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:601
Parameters
- llvm::Type*& AllocTy