FLANG
fir::LLVMTypeConverter Class Reference

#include <flang/Optimizer/CodeGen/TypeConverter.h>

Inheritance diagram for fir::LLVMTypeConverter:

Public Member Functions

 LLVMTypeConverter (mlir::ModuleOp module, bool applyTBAA, bool forceUnifiedTBAATree, const mlir::DataLayout &)
mlir::Type offsetType () const
mlir::Type indexType () const
std::optional< llvm::LogicalResult > convertRecordType (fir::RecordType derived, llvm::SmallVectorImpl< mlir::Type > &results, bool isPacked)
bool requiresExtendedDesc (mlir::Type boxElementType) const
mlir::Type convertBoxType (BaseBoxType box, int rank=unknownRank()) const
mlir::Type convertBoxTypeAsStruct (BaseBoxType box, int=unknownRank()) const
mlir::Type convertBoxProcType (BoxProcType boxproc) const
unsigned characterBitsize (fir::CharacterType charTy) const
mlir::Type convertCharType (fir::CharacterType charTy) const
template<typename A>
mlir::Type convertPointerLike (A &ty) const
mlir::Type convertSequenceType (SequenceType seq) const
mlir::Type convertTypeDescType (mlir::MLIRContext *ctx) const
const KindMappinggetKindMap () const
void attachTBAATag (mlir::LLVM::AliasAnalysisOpInterface op, mlir::Type baseFIRType, mlir::Type accessFIRType, mlir::LLVM::GEPOp gep) const
const mlir::DataLayout & getDataLayout () const

Static Public Member Functions

static constexpr int unknownRank ()

Detailed Description

FIR type converter This converts FIR types to LLVM types (for now)

Member Function Documentation

◆ convertBoxType()

mlir::Type fir::LLVMTypeConverter::convertBoxType ( BaseBoxType box,
int rank = unknownRank() ) const

Convert fir.box type to the corresponding llvm struct type instead of a pointer to this struct type.

◆ convertBoxTypeAsStruct()

mlir::Type fir::LLVMTypeConverter::convertBoxTypeAsStruct ( BaseBoxType box,
int rank = unknownRank() ) const

Convert fir.box type to the corresponding llvm struct type instead of a pointer to this struct type.


The documentation for this class was generated from the following files: