|
| FIROpConversion (const LLVMTypeConverter &typeConverter, const fir::FIRToLLVMPassOptions &options, mlir::PatternBenefit benefit=1) |
|
void | rewrite (mlir::Operation *op, mlir::ArrayRef< mlir::Value > operands, mlir::ConversionPatternRewriter &rewriter) const final |
| Wrappers around the RewritePattern methods that pass the derived op type.
|
|
void | rewrite (mlir::Operation *op, mlir::ArrayRef< mlir::ValueRange > operands, mlir::ConversionPatternRewriter &rewriter) const final |
|
llvm::LogicalResult | match (mlir::Operation *op) const final |
|
llvm::LogicalResult | matchAndRewrite (mlir::Operation *op, mlir::ArrayRef< mlir::Value > operands, mlir::ConversionPatternRewriter &rewriter) const final |
|
llvm::LogicalResult | matchAndRewrite (mlir::Operation *op, mlir::ArrayRef< mlir::ValueRange > operands, mlir::ConversionPatternRewriter &rewriter) const final |
|
virtual llvm::LogicalResult | match (SourceOp op) const |
|
virtual void | rewrite (SourceOp op, OpAdaptor adaptor, mlir::ConversionPatternRewriter &rewriter) const |
|
virtual void | rewrite (SourceOp op, OneToNOpAdaptor adaptor, mlir::ConversionPatternRewriter &rewriter) const |
|
virtual llvm::LogicalResult | matchAndRewrite (SourceOp op, OpAdaptor adaptor, mlir::ConversionPatternRewriter &rewriter) const |
|
virtual llvm::LogicalResult | matchAndRewrite (SourceOp op, OneToNOpAdaptor adaptor, mlir::ConversionPatternRewriter &rewriter) const |
|
| ConvertFIRToLLVMPattern (llvm::StringRef rootOpName, mlir::MLIRContext *context, const fir::LLVMTypeConverter &typeConverter, const fir::FIRToLLVMPassOptions &options, mlir::PatternBenefit benefit=1) |
|
|
mlir::Type | convertType (mlir::Type ty) const |
|
mlir::Type | convertObjectType (mlir::Type firType) const |
|
mlir::LLVM::ConstantOp | genI32Constant (mlir::Location loc, mlir::ConversionPatternRewriter &rewriter, int value) const |
|
mlir::LLVM::ConstantOp | genConstantOffset (mlir::Location loc, mlir::ConversionPatternRewriter &rewriter, int offset) const |
|
mlir::Value | integerCast (mlir::Location loc, mlir::ConversionPatternRewriter &rewriter, mlir::Type ty, mlir::Value val, bool fold=false) const |
|
TypePair | getBoxTypePair (mlir::Type firBoxTy) const |
|
mlir::Value | getValueFromBox (mlir::Location loc, TypePair boxTy, mlir::Value box, mlir::Type resultTy, mlir::ConversionPatternRewriter &rewriter, int boxValue) const |
| Construct code sequence to extract the specific value from a fir.box .
|
|
llvm::SmallVector< mlir::Value, 3 > | getDimsFromBox (mlir::Location loc, llvm::ArrayRef< mlir::Type > retTys, TypePair boxTy, mlir::Value box, mlir::Value dim, mlir::ConversionPatternRewriter &rewriter) const |
|
llvm::SmallVector< mlir::Value, 3 > | getDimsFromBox (mlir::Location loc, llvm::ArrayRef< mlir::Type > retTys, TypePair boxTy, mlir::Value box, int dim, mlir::ConversionPatternRewriter &rewriter) const |
|
mlir::Value | loadDimFieldFromBox (mlir::Location loc, TypePair boxTy, mlir::Value box, mlir::Value dim, int off, mlir::Type ty, mlir::ConversionPatternRewriter &rewriter) const |
|
mlir::Value | getDimFieldFromBox (mlir::Location loc, TypePair boxTy, mlir::Value box, int dim, int off, mlir::Type ty, mlir::ConversionPatternRewriter &rewriter) const |
|
mlir::Value | getStrideFromBox (mlir::Location loc, TypePair boxTy, mlir::Value box, unsigned dim, mlir::ConversionPatternRewriter &rewriter) const |
|
mlir::Value | getBaseAddrFromBox (mlir::Location loc, TypePair boxTy, mlir::Value box, mlir::ConversionPatternRewriter &rewriter) const |
| Read base address from a fir.box. Returned address has type ty.
|
|
mlir::Value | getElementSizeFromBox (mlir::Location loc, mlir::Type resultTy, TypePair boxTy, mlir::Value box, mlir::ConversionPatternRewriter &rewriter) const |
|
mlir::Value | getRankFromBox (mlir::Location loc, TypePair boxTy, mlir::Value box, mlir::ConversionPatternRewriter &rewriter) const |
| Read base address from a fir.box. Returned address has type ty.
|
|
mlir::Value | getExtraFromBox (mlir::Location loc, TypePair boxTy, mlir::Value box, mlir::ConversionPatternRewriter &rewriter) const |
| Read the extra field from a fir.box.
|
|
mlir::Type | getBoxEleTy (mlir::Type type, llvm::ArrayRef< std::int64_t > indexes) const |
|
mlir::Type | getLlvmObjectTypeFromBoxType (mlir::Type boxType) const |
|
mlir::Value | loadTypeDescAddress (mlir::Location loc, TypePair boxTy, mlir::Value box, mlir::ConversionPatternRewriter &rewriter) const |
| Read the address of the type descriptor from a box.
|
|
mlir::Value | genBoxAttributeCheck (mlir::Location loc, TypePair boxTy, mlir::Value box, mlir::ConversionPatternRewriter &rewriter, unsigned maskValue) const |
|
mlir::Value | computeBoxSize (mlir::Location, TypePair boxTy, mlir::Value box, mlir::ConversionPatternRewriter &rewriter) const |
|
template<typename... ARGS> |
mlir::LLVM::GEPOp | genGEP (mlir::Location loc, mlir::Type ty, mlir::ConversionPatternRewriter &rewriter, mlir::Value base, ARGS... args) const |
|
mlir::Block * | getBlockForAllocaInsert (mlir::Operation *op, mlir::Region *parentRegion) const |
|
mlir::Value | genAllocaAndAddrCastWithType (mlir::Location loc, mlir::Type llvmObjectTy, unsigned alignment, mlir::ConversionPatternRewriter &rewriter) const |
|
const fir::LLVMTypeConverter & | lowerTy () const |
|
void | attachTBAATag (mlir::LLVM::AliasAnalysisOpInterface op, mlir::Type baseFIRType, mlir::Type accessFIRType, mlir::LLVM::GEPOp gep) const |
|
unsigned | getAllocaAddressSpace (mlir::ConversionPatternRewriter &rewriter) const |
|
unsigned | getProgramAddressSpace (mlir::ConversionPatternRewriter &rewriter) const |
|
const fir::FIRToLLVMPassOptions & | options |
|