LLVM 22.0.0git
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 SubclassOptionalData=0, ArrayRef< int > ShuffleMask={}, 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 387 of file ConstantsContext.h.

Member Typedef Documentation

◆ TypeClass

Constructor & Destructor Documentation

◆ ConstantExprKeyType() [1/3]

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

Definition at line 416 of file ConstantsContext.h.

Referenced by operator==().

◆ ConstantExprKeyType() [2/3]

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

Definition at line 425 of file ConstantsContext.h.

References getOpcode(), and Operands.

◆ 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

Definition at line 478 of file ConstantsContext.h.

References llvm::hash_combine(), and llvm::hash_combine_range().

◆ operator==() [1/2]

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

Definition at line 459 of file ConstantsContext.h.

References E(), I, and rangesEqual().

◆ operator==() [2/2]

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

Definition at line 452 of file ConstantsContext.h.

References ConstantExprKeyType(), rangesEqual(), and X.

◆ rangesEqual()

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

Definition at line 445 of file ConstantsContext.h.

References A(), and B().

Referenced by operator==(), and operator==().


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