This class represents an analyzed expression in the program. These are opaque objects that the client is not allowed to do much with directly.
Synopsis
Declared in <llvm/Analysis/ScalarEvolution.h>
class SCEV
: public FoldingSetNode
Base Classes
Name |
Description |
Convenience alias for the base node type stored in a folding set. |
Type Aliases
Name |
Description |
SCEV no‐wrap flags; alias of SCEVNoWrapFlags. |
Member Functions
Name |
Description |
|
Deleted copy constructor. |
|
Construct a SCEV of kind |
|
Deleted copy assignment. |
Compute and set the canonical SCEV, by constructing a SCEV with the same operands, but all SCEVUse flags dropped. |
|
This method is used for debugging. |
|
Return the canonical SCEV. |
|
Return the estimated size of this SCEV's expression tree. |
|
Return the SCEV opcode of this expression. |
|
Return the LLVM type of this SCEV expression. |
|
Return true if the expression is a constant all‐ones value. |
|
Return true if the specified scev is negated, but not a constant. |
|
Return true if the expression is a constant one. |
|
Return true if the expression is a constant zero. |
|
Return operands of this SCEV expression. |
|
Print this SCEV to |
Static Data Members
Name |
Description |
No wrap guarantee. |
|
No signed wrap. |
|
No unsigned wrap. |
|
No self‐wrap. |
|
Mask of all no‐wrap flag bits. |
Protected Data Members
Name |
Description |
Pointer to the canonical version of the SCEV, i.e. one where all operands have no SCEVUse flags. |
|
Estimated complexity of this node's expression tree size. |
|
This field is initialized to zero and may be used in subclasses to store miscellaneous information. |
|
Immutable type of the SCEV. |
Friends
Name |
Description |
FoldingSetTrait specialization for SCEV using interned FastID. |
Non-Member Functions
Name |
Description |
Return true if any node in |
|
Returns true if |
|
Returns true if |
|
Denormalize |
|
Calculate Start and End points of memory access using exact backedge taken count |
|
Overload of getStartAndEndForAccess taking the element size as a SCEV. |
|
Overload for isDereferenceableAndAlignedInLoop taking the pointer and access size directly as SCEVs. |
|
Returns true if we can prove that |
|
Returns true if we can prove that |
|
Returns true if we can prove that |
|
Returns true if we can prove that |
|
Normalize |
|
Normalize |
|
Return the SCEV corresponding to a pointer with the symbolic stride replaced with constant one, assuming the SCEV predicate associated with |
|
Use SCEVTraversal to visit all nodes in the given expression tree. |
|
Match a SCEV, capturing it if we match. |
|
Match if we have a specific specified SCEV. |
|
Match SCEV |
Derived Classes
Name |
Description |
This is the base class for unary cast operator classes. |
|
SCEV expression wrapping a constant integer value. |
|
Sentinel SCEV returned when a query cannot be answered. |
|
This node is a base class providing common functionality for n'ary operators. |
|
This class represents a binary unsigned division operation. |
|
SCEV expression for a value that ScalarEvolution cannot analyze further. |
|
This class represents the value of vscale, as used when defining the length of a scalable vector or returned by the llvm.vscale() intrinsic. |
Created with MrDocs