LLVM 23.0.0git
llvm::SCEVUseT< SCEVPtrT > Struct Template Reference

#include "llvm/Analysis/ScalarEvolution.h"

Inheritance diagram for llvm::SCEVUseT< SCEVPtrT >:
[legend]

Public Types

using Base = PointerIntPair<SCEVPtrT, 2>

Public Member Functions

 SCEVUseT ()
 SCEVUseT (SCEVPtrT S)
 SCEVUseT (SCEVPtrT S, unsigned Flags)
template<typename OtherPtrT, typename = std::enable_if_t< std::is_convertible_v<OtherPtrT, SCEVPtrT>>>
 SCEVUseT (const SCEVUseT< OtherPtrT > &Other)
 operator SCEVPtrT () const
SCEVPtrT operator-> () const
void * getRawPointer () const
bool isCanonical () const
 Returns true of the SCEVUse is canonical, i.e.
const SCEVgetCanonical () const
 Return the canonical SCEV for this SCEVUse.
unsigned getFlags () const
bool operator== (const SCEVUseT &RHS) const
bool operator== (const SCEV *RHS) 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.
const SCEVgetCanonical () const
Public Member Functions inherited from llvm::PointerIntPair< const SCEV *, 2 >
constexpr PointerIntPair ()=default
const SCEVgetPointer () const
unsigned getInt () const
void setPointer (const SCEV *PtrVal) &
void setInt (unsigned IntVal) &
void initWithPointer (const SCEV *PtrVal) &
void setPointerAndInt (const SCEV *PtrVal, unsigned IntVal) &
const SCEV *constgetAddrOfPointer () const
void * getOpaqueValue () const
void setFromOpaqueValue (void *Val) &
bool operator== (const PointerIntPair &RHS) const
bool operator!= (const PointerIntPair &RHS) const
bool operator< (const PointerIntPair &RHS) const
bool operator> (const PointerIntPair &RHS) const
bool operator<= (const PointerIntPair &RHS) const
bool operator>= (const PointerIntPair &RHS) const

Additional Inherited Members

Static Public Member Functions inherited from llvm::PointerIntPair< const SCEV *, 2 >
static PointerIntPair getFromOpaqueValue (void *V)

Detailed Description

template<typename SCEVPtrT = const SCEV *>
struct llvm::SCEVUseT< SCEVPtrT >

Definition at line 72 of file ScalarEvolution.h.

Member Typedef Documentation

◆ Base

template<typename SCEVPtrT = const SCEV *>
using llvm::SCEVUseT< SCEVPtrT >::Base = PointerIntPair<SCEVPtrT, 2>

Definition at line 73 of file ScalarEvolution.h.

Constructor & Destructor Documentation

◆ SCEVUseT() [1/4]

template<typename SCEVPtrT = const SCEV *>
llvm::SCEVUseT< SCEVPtrT >::SCEVUseT ( )
inline

Definition at line 75 of file ScalarEvolution.h.

◆ SCEVUseT() [2/4]

template<typename SCEVPtrT = const SCEV *>
llvm::SCEVUseT< SCEVPtrT >::SCEVUseT ( SCEVPtrT S)
inline

Definition at line 76 of file ScalarEvolution.h.

◆ SCEVUseT() [3/4]

template<typename SCEVPtrT = const SCEV *>
llvm::SCEVUseT< SCEVPtrT >::SCEVUseT ( SCEVPtrT S,
unsigned Flags )
inline

Definition at line 77 of file ScalarEvolution.h.

◆ SCEVUseT() [4/4]

template<typename SCEVPtrT = const SCEV *>
template<typename OtherPtrT, typename = std::enable_if_t< std::is_convertible_v<OtherPtrT, SCEVPtrT>>>
llvm::SCEVUseT< SCEVPtrT >::SCEVUseT ( const SCEVUseT< OtherPtrT > & Other)
inline

Definition at line 80 of file ScalarEvolution.h.

Member Function Documentation

◆ dump()

template<typename SCEVPtrT>
LLVM_DUMP_METHOD void llvm::SCEVUseT< SCEVPtrT >::dump ( ) const

This method is used for debugging.

Definition at line 2709 of file ScalarEvolution.h.

References llvm::dbgs(), LLVM_DUMP_METHOD, and llvm::print().

◆ getCanonical() [1/2]

template<typename SCEVPtrT = const SCEV *>
const SCEV * llvm::SCEVUseT< SCEVPtrT >::getCanonical ( ) const

Return the canonical SCEV for this SCEVUse.

Referenced by llvm::SCEVUseT< const SCEV * >::isCanonical().

◆ getCanonical() [2/2]

const SCEV * llvm::SCEVUseT< constSCEV * >::getCanonical ( ) const
inline

Definition at line 2693 of file ScalarEvolution.h.

◆ getFlags()

template<typename SCEVPtrT = const SCEV *>
unsigned llvm::SCEVUseT< SCEVPtrT >::getFlags ( ) const
inline

Definition at line 95 of file ScalarEvolution.h.

◆ getRawPointer()

template<typename SCEVPtrT = const SCEV *>
void * llvm::SCEVUseT< SCEVPtrT >::getRawPointer ( ) const
inline

◆ isCanonical()

template<typename SCEVPtrT = const SCEV *>
bool llvm::SCEVUseT< SCEVPtrT >::isCanonical ( ) const
inline

Returns true of the SCEVUse is canonical, i.e.

no SCEVUse flags set in any operands.

Definition at line 90 of file ScalarEvolution.h.

◆ operator SCEVPtrT()

template<typename SCEVPtrT = const SCEV *>
llvm::SCEVUseT< SCEVPtrT >::operator SCEVPtrT ( ) const
inline

Definition at line 83 of file ScalarEvolution.h.

◆ operator->()

template<typename SCEVPtrT = const SCEV *>
SCEVPtrT llvm::SCEVUseT< SCEVPtrT >::operator-> ( ) const
inline

Definition at line 84 of file ScalarEvolution.h.

◆ operator==() [1/2]

template<typename SCEVPtrT = const SCEV *>
bool llvm::SCEVUseT< SCEVPtrT >::operator== ( const SCEV * RHS) const
inline

Definition at line 101 of file ScalarEvolution.h.

◆ operator==() [2/2]

template<typename SCEVPtrT = const SCEV *>
bool llvm::SCEVUseT< SCEVPtrT >::operator== ( const SCEVUseT< SCEVPtrT > & RHS) const
inline

Definition at line 97 of file ScalarEvolution.h.

◆ print()

template<typename SCEVPtrT>
void llvm::SCEVUseT< SCEVPtrT >::print ( raw_ostream & OS) const

Print out the internal representation of this scalar to the specified stream.

This should really only be used for debugging purposes.

Definition at line 2698 of file ScalarEvolution.h.

References llvm::SCEV::FlagNSW, llvm::SCEV::FlagNUW, llvm::PointerIntPair< SCEVPtrT, 2 >::getInt(), and llvm::PointerIntPair< SCEVPtrT, 2 >::getPointer().


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