FLANG
Public Member Functions | Static Public Member Functions | List of all members
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: