class SCEV

Declaration

class SCEV : public Node { /* full declaration omitted */ };

Description

This class represents an analyzed expression in the program. These are opaque objects that the client is not allowed to do much with directly.

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:75

Inherits from: FoldingSetBase::Node

Member Variables

private llvm::FoldingSetNodeIDRef FastID
A reference to an Interned FoldingSetNodeID for this node. The ScalarEvolution's BumpPtrAllocator holds the data.
private const llvm::SCEVTypes SCEVType
protected const unsigned short ExpressionSize
protected unsigned short SubclassData = 0
This field is initialized to zero and may be used in subclasses to store miscellaneous information.

Method Overview

Inherited from FoldingSetBase::Node:

Methods

SCEV(const llvm::FoldingSetNodeIDRef ID,
     llvm::SCEVTypes SCEVTy,
     unsigned short ExpressionSize)

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:138

Parameters

const llvm::FoldingSetNodeIDRef ID
llvm::SCEVTypes SCEVTy
unsigned short ExpressionSize

SCEV(const llvm::SCEV&)

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:141

Parameters

const llvm::SCEV&

void dump() const

Description

This method is used for debugging.

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:179

unsigned short getExpressionSize() const

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:170

llvm::SCEVTypes getSCEVType() const

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:144

llvm::Type* getType() const

Description

Return the LLVM type of this SCEV expression.

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:147

bool isAllOnesValue() const

Description

Return true if the expression is a constant all-ones value.

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:156

bool isNonConstantNegative() const

Description

Return true if the specified scev is negated, but not a constant.

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:159

bool isOne() const

Description

Return true if the expression is a constant one.

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:153

bool isZero() const

Description

Return true if the expression is a constant zero.

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:150

void print(llvm::raw_ostream& OS) const

Description

Print out the internal representation of this scalar to the specified stream. This should really only be used for debugging purposes.

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:176

Parameters

llvm::raw_ostream& OS