MLIR 22.0.0git
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.

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.

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.
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.

References signedness, and width.

Referenced by construct().

Member Function Documentation

◆ construct()

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()

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

Definition at line 36 of file TypeDetail.h.

◆ 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(), IntegerTypeStorage(), and operator==().

◆ width

unsigned mlir::detail::IntegerTypeStorage::width

Definition at line 52 of file TypeDetail.h.

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


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