MLIR
20.0.0git
|
Helper class to produce LLVM dialect operations extracting or inserting values to a struct. More...
#include "mlir/Conversion/LLVMCommon/StructBuilder.h"
Public Member Functions | |
StructBuilder (Value v) | |
Construct a helper for the given value. More... | |
operator Value () | |
Static Public Member Functions | |
static StructBuilder | undef (OpBuilder &builder, Location loc, Type descriptorType) |
Builds IR creating an undef value of the descriptor type. More... | |
Protected Member Functions | |
Value | extractPtr (OpBuilder &builder, Location loc, unsigned pos) const |
Builds IR to extract a value from the struct at position pos. More... | |
void | setPtr (OpBuilder &builder, Location loc, unsigned pos, Value ptr) |
Builds IR to set a value in the struct at position pos. More... | |
Protected Attributes | |
Value | value |
Type | structType |
Helper class to produce LLVM dialect operations extracting or inserting values to a struct.
Definition at line 26 of file StructBuilder.h.
|
explicit |
Construct a helper for the given value.
Definition at line 20 of file StructBuilder.cpp.
References mlir::LLVM::isCompatibleType(), structType, and value.
Builds IR to extract a value from the struct at position pos.
Definition at line 25 of file StructBuilder.cpp.
References mlir::OpBuilder::create(), and value.
Referenced by mlir::MemRefDescriptor::alignedPtr(), mlir::MemRefDescriptor::allocatedPtr(), mlir::UnrankedMemRefDescriptor::memRefDescPtr(), and mlir::UnrankedMemRefDescriptor::rank().
|
inline |
Definition at line 34 of file StructBuilder.h.
References value.
Builds IR to set a value in the struct at position pos.
Definition at line 30 of file StructBuilder.cpp.
References mlir::OpBuilder::create(), and value.
Referenced by mlir::MemRefDescriptor::setAlignedPtr(), mlir::MemRefDescriptor::setAllocatedPtr(), mlir::UnrankedMemRefDescriptor::setMemRefDescPtr(), and mlir::UnrankedMemRefDescriptor::setRank().
|
static |
Builds IR creating an undef
value of the descriptor type.
|
protected |
Definition at line 40 of file StructBuilder.h.
Referenced by StructBuilder().
|
protected |
Definition at line 38 of file StructBuilder.h.
Referenced by extractPtr(), mlir::MemRefDescriptor::getElementPtrType(), mlir::MemRefDescriptor::MemRefDescriptor(), mlir::MemRefDescriptor::offset(), operator Value(), mlir::MemRefDescriptor::setOffset(), setPtr(), mlir::MemRefDescriptor::setSize(), mlir::MemRefDescriptor::setStride(), mlir::MemRefDescriptor::size(), mlir::MemRefDescriptor::stride(), and StructBuilder().