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

#include "IR/ConstantsContext.h"

Public Types

using TypeClass = ConstantInfo< ConstantExpr >::TypeClass
 

Public Member Functions

 ConstantExprKeyType (unsigned Opcode, ArrayRef< Constant * > Ops, unsigned short SubclassData=0, unsigned short SubclassOptionalData=0, ArrayRef< int > ShuffleMask=std::nullopt, Type *ExplicitTy=nullptr, std::optional< ConstantRange > InRange=std::nullopt)
 
 ConstantExprKeyType (ArrayRef< Constant * > Operands, const ConstantExpr *CE)
 
 ConstantExprKeyType (const ConstantExpr *CE, SmallVectorImpl< Constant * > &Storage)
 
bool operator== (const ConstantExprKeyType &X) const
 
bool operator== (const ConstantExpr *CE) const
 
unsigned getHash () const
 
ConstantExprcreate (TypeClass *Ty) const
 

Static Public Member Functions

static bool rangesEqual (const std::optional< ConstantRange > &A, const std::optional< ConstantRange > &B)
 

Detailed Description

Definition at line 404 of file ConstantsContext.h.

Member Typedef Documentation

◆ TypeClass

Definition at line 508 of file ConstantsContext.h.

Constructor & Destructor Documentation

◆ ConstantExprKeyType() [1/3]

llvm::ConstantExprKeyType::ConstantExprKeyType ( unsigned  Opcode,
ArrayRef< Constant * >  Ops,
unsigned short  SubclassData = 0,
unsigned short  SubclassOptionalData = 0,
ArrayRef< int >  ShuffleMask = std::nullopt,
Type ExplicitTy = nullptr,
std::optional< ConstantRange InRange = std::nullopt 
)
inline

Definition at line 434 of file ConstantsContext.h.

◆ ConstantExprKeyType() [2/3]

llvm::ConstantExprKeyType::ConstantExprKeyType ( ArrayRef< Constant * >  Operands,
const ConstantExpr CE 
)
inline

Definition at line 444 of file ConstantsContext.h.

◆ ConstantExprKeyType() [3/3]

llvm::ConstantExprKeyType::ConstantExprKeyType ( const ConstantExpr CE,
SmallVectorImpl< Constant * > &  Storage 
)
inline

Member Function Documentation

◆ create()

ConstantExpr * llvm::ConstantExprKeyType::create ( TypeClass Ty) const
inline

◆ getHash()

unsigned llvm::ConstantExprKeyType::getHash ( ) const
inline

◆ operator==() [1/2]

bool llvm::ConstantExprKeyType::operator== ( const ConstantExpr CE) const
inline

Definition at line 480 of file ConstantsContext.h.

References E, I, rangesEqual(), and llvm::ArrayRef< T >::size().

◆ operator==() [2/2]

bool llvm::ConstantExprKeyType::operator== ( const ConstantExprKeyType X) const
inline

Definition at line 473 of file ConstantsContext.h.

References rangesEqual(), and X.

◆ rangesEqual()

static bool llvm::ConstantExprKeyType::rangesEqual ( const std::optional< ConstantRange > &  A,
const std::optional< ConstantRange > &  B 
)
inlinestatic

Definition at line 466 of file ConstantsContext.h.

References A, and B.

Referenced by operator==().


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