FLANG
|
#include <flang/Optimizer/CodeGen/TypeConverter.h>
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 KindMapping & | getKindMap () 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 () |
FIR type converter This converts FIR types to LLVM types (for now)
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.
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.