MLIR  19.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
mlir::detail::IntegerTypeStorage Struct Reference

Integer Type Storage and Uniquing. More...

#include "IR/TypeDetail.h"

+ Inheritance diagram for mlir::detail::IntegerTypeStorage:

Public Types

using KeyTy = std::tuple< unsigned, IntegerType::SignednessSemantics >
 The hash key used for uniquing. More...
 

Public Member Functions

 IntegerTypeStorage (unsigned width, IntegerType::SignednessSemantics signedness)
 
bool operator== (const KeyTy &key) const
 
KeyTy getAsKey () const
 
- Public Member Functions inherited from mlir::TypeStorage
const AbstractTypegetAbstractType ()
 Return the abstract type descriptor for this type. More...
 

Static Public Member Functions

static llvm::hash_code hashKey (const KeyTy &key)
 
static IntegerTypeStorageconstruct (TypeStorageAllocator &allocator, KeyTy key)
 

Public Attributes

unsigned width: 30
 
IntegerType::SignednessSemantics signedness: 2
 

Additional Inherited Members

- Protected Member Functions inherited from mlir::TypeStorage
 TypeStorage ()
 This constructor is used by derived classes as part of the TypeUniquer. More...
 
- Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage
 BaseStorage ()=default
 

Detailed Description

Integer Type Storage and Uniquing.

Definition at line 28 of file TypeDetail.h.

Member Typedef Documentation

◆ KeyTy

using mlir::detail::IntegerTypeStorage::KeyTy = std::tuple<unsigned, IntegerType::SignednessSemantics>

The hash key used for uniquing.

Definition at line 34 of file TypeDetail.h.

Constructor & Destructor Documentation

◆ IntegerTypeStorage()

mlir::detail::IntegerTypeStorage::IntegerTypeStorage ( unsigned  width,
IntegerType::SignednessSemantics  signedness 
)
inline

Definition at line 29 of file TypeDetail.h.

Referenced by construct().

Member Function Documentation

◆ construct()

static IntegerTypeStorage* mlir::detail::IntegerTypeStorage::construct ( TypeStorageAllocator allocator,
KeyTy  key 
)
inlinestatic

◆ getAsKey()

KeyTy mlir::detail::IntegerTypeStorage::getAsKey ( ) const
inline

Definition at line 50 of file TypeDetail.h.

References signedness, and width.

◆ hashKey()

static llvm::hash_code mlir::detail::IntegerTypeStorage::hashKey ( const KeyTy key)
inlinestatic

Definition at line 36 of file TypeDetail.h.

References mlir::polynomial::hash_value().

◆ operator==()

bool mlir::detail::IntegerTypeStorage::operator== ( const KeyTy key) const
inline

Definition at line 40 of file TypeDetail.h.

References signedness, and width.

Member Data Documentation

◆ signedness

IntegerType::SignednessSemantics mlir::detail::IntegerTypeStorage::signedness

Definition at line 53 of file TypeDetail.h.

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

◆ width

unsigned mlir::detail::IntegerTypeStorage::width

Definition at line 52 of file TypeDetail.h.

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


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