My Project
Public Member Functions | Public Attributes | List of all members
mlir::detail::ResizableStorage Struct Reference

#include <OperationSupport.h>

Public Member Functions

 ResizableStorage (OpOperand *opBegin, unsigned numOperands)
 
 ~ResizableStorage ()
 
void cleanupStorage ()
 Cleanup any allocated storage. More...
 
void setDynamicStorage (OpOperand *opBegin)
 Sets the storage pointer to a new dynamically allocated block. More...
 
OpOperandgetPointer ()
 Returns the current storage pointer. More...
 
bool isStorageDynamic () const
 

Public Attributes

llvm::PointerIntPair< OpOperand *, 1, bool > firstOpAndIsDynamic
 
unsigned capacity
 

Detailed Description

A utility class holding the information necessary to dynamically resize operands.

Constructor & Destructor Documentation

◆ ResizableStorage()

mlir::detail::ResizableStorage::ResizableStorage ( OpOperand opBegin,
unsigned  numOperands 
)
inline

◆ ~ResizableStorage()

mlir::detail::ResizableStorage::~ResizableStorage ( )
inline

Member Function Documentation

◆ cleanupStorage()

void mlir::detail::ResizableStorage::cleanupStorage ( )
inline

Cleanup any allocated storage.

◆ getPointer()

OpOperand* mlir::detail::ResizableStorage::getPointer ( )
inline

Returns the current storage pointer.

◆ isStorageDynamic()

bool mlir::detail::ResizableStorage::isStorageDynamic ( ) const
inline

Returns if the current storage of operands is in the trailing objects is in a dynamically allocated memory block.

◆ setDynamicStorage()

void mlir::detail::ResizableStorage::setDynamicStorage ( OpOperand opBegin)
inline

Sets the storage pointer to a new dynamically allocated block.

Cleanup the old storage if necessary.

Member Data Documentation

◆ capacity

unsigned mlir::detail::ResizableStorage::capacity

◆ firstOpAndIsDynamic

llvm::PointerIntPair<OpOperand *, 1, bool> mlir::detail::ResizableStorage::firstOpAndIsDynamic

A pointer to the first operand element. This is either to the trailing objects storage, or a dynamically allocated block of memory.


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