LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::SCEVCouldNotCompute Struct Reference

An object of this class is returned by queries that could not be answered. More...

#include "llvm/Analysis/ScalarEvolution.h"

Inheritance diagram for llvm::SCEVCouldNotCompute:
Inheritance graph
[legend]

Public Member Functions

 SCEVCouldNotCompute ()
 
- Public Member Functions inherited from llvm::SCEV
 SCEV (const FoldingSetNodeIDRef ID, SCEVTypes SCEVTy, unsigned short ExpressionSize)
 
 SCEV (const SCEV &)=delete
 
SCEVoperator= (const SCEV &)=delete
 
SCEVTypes getSCEVType () const
 
TypegetType () const
 Return the LLVM type of this SCEV expression.
 
ArrayRef< const SCEV * > operands () const
 Return operands of this SCEV expression.
 
bool isZero () const
 Return true if the expression is a constant zero.
 
bool isOne () const
 Return true if the expression is a constant one.
 
bool isAllOnesValue () const
 Return true if the expression is a constant all-ones value.
 
bool isNonConstantNegative () const
 Return true if the specified scev is negated, but not a constant.
 
unsigned short getExpressionSize () const
 
void print (raw_ostream &OS) const
 Print out the internal representation of this scalar to the specified stream.
 
void dump () const
 This method is used for debugging.
 
- Public Member Functions inherited from llvm::FoldingSetBase::Node
 Node ()=default
 
void * getNextInBucket () const
 
void SetNextInBucket (void *N)
 

Static Public Member Functions

static bool classof (const SCEV *S)
 Methods for support type inquiry through isa, cast, and dyn_cast:
 

Additional Inherited Members

- Public Types inherited from llvm::SCEV
enum  NoWrapFlags {
  FlagAnyWrap = 0 , FlagNW = (1 << 0) , FlagNUW = (1 << 1) , FlagNSW = (1 << 2) ,
  NoWrapMask = (1 << 3) - 1
}
 NoWrapFlags are bitfield indices into SubclassData. More...
 
- Protected Attributes inherited from llvm::SCEV
const unsigned short ExpressionSize
 
unsigned short SubclassData = 0
 This field is initialized to zero and may be used in subclasses to store miscellaneous information.
 

Detailed Description

An object of this class is returned by queries that could not be answered.

For example, if you ask for the number of iterations of a linked-list traversal loop, you will get one of these. None of the standard SCEV operations are valid on this class, it is just a marker.

Definition at line 209 of file ScalarEvolution.h.

Constructor & Destructor Documentation

◆ SCEVCouldNotCompute()

SCEVCouldNotCompute::SCEVCouldNotCompute ( )

Definition at line 472 of file ScalarEvolution.cpp.

Member Function Documentation

◆ classof()

bool SCEVCouldNotCompute::classof ( const SCEV S)
static

Methods for support type inquiry through isa, cast, and dyn_cast:

Definition at line 475 of file ScalarEvolution.cpp.

References llvm::SCEV::getSCEVType(), and llvm::scCouldNotCompute.


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