FLANG
MLIRToLLVMPassPipelineConfig Struct Reference

Configuriation for the MLIR to LLVM pass pipeline. More...

#include <flang/Tools/CrossToolHelpers.h>

Inheritance diagram for MLIRToLLVMPassPipelineConfig:
FlangEPCallBacks

Public Member Functions

 MLIRToLLVMPassPipelineConfig (llvm::OptimizationLevel level)
 MLIRToLLVMPassPipelineConfig (llvm::OptimizationLevel level, const Fortran::frontend::CodeGenOptions &opts, const Fortran::common::MathOptionsBase &mathOpts)
Public Member Functions inherited from FlangEPCallBacks
void registerFIROptEarlyEPCallbacks (const std::function< void(mlir::PassManager &, llvm::OptimizationLevel)> &C)
void registerFIRInlinerCallback (const std::function< void(mlir::PassManager &, llvm::OptimizationLevel)> &C)
void registerFIROptLastEPCallbacks (const std::function< void(mlir::PassManager &, llvm::OptimizationLevel)> &C)
void invokeFIROptEarlyEPCallbacks (mlir::PassManager &pm, llvm::OptimizationLevel optLevel)
void invokeFIRInlinerCallback (mlir::PassManager &pm, llvm::OptimizationLevel optLevel)
void invokeFIROptLastEPCallbacks (mlir::PassManager &pm, llvm::OptimizationLevel optLevel)

Public Attributes

llvm::OptimizationLevel OptLevel
 optimisation level
bool StackArrays = false
 convert memory allocations to alloca.
bool Underscoring = true
 add underscores to function names.
bool LoopVersioning = false
 Run the version loop pass.
bool AliasAnalysis = false
 Add TBAA tags to generated LLVMIR.
llvm::codegenoptions::DebugInfoKind DebugInfo
 Debug info generation.
llvm::FramePointerKind FramePointerKind
 Add frame pointer to functions.
unsigned VScaleMin = 0
 SVE vector range minimum.
unsigned VScaleMax = 0
 SVE vector range maximum.
bool NoInfsFPMath = false
 Set no-infs-fp-math attribute for functions.
bool NoNaNsFPMath = false
 Set no-nans-fp-math attribute for functions.
bool ApproxFuncFPMath = false
 Set afn flag for instructions.
bool NoSignedZerosFPMath
 Set no-signed-zeros-fp-math attribute for functions.
bool UnsafeFPMath = false
 Set unsafe-fp-math attribute for functions.
std::string Reciprocals = ""
std::string PreferVectorWidth = ""
bool NSWOnLoopVarInc = true
 Add nsw flag to loop variable increments.
bool EnableOpenMP = false
 Enable OpenMP lowering.
bool EnableOpenMPSimd = false
 Enable OpenMP simd-only mode.
std::string InstrumentFunctionEntry
std::string InstrumentFunctionExit
Fortran::frontend::CodeGenOptions::ComplexRangeKind ComplexRange
 Method for calculating complex number division.

Detailed Description

Configuriation for the MLIR to LLVM pass pipeline.

Member Data Documentation

◆ ComplexRange

Fortran::frontend::CodeGenOptions::ComplexRangeKind MLIRToLLVMPassPipelineConfig::ComplexRange
Initial value:
=
Fortran::frontend::CodeGenOptions::ComplexRangeKind::
CX_Full

Method for calculating complex number division.

◆ DebugInfo

llvm::codegenoptions::DebugInfoKind MLIRToLLVMPassPipelineConfig::DebugInfo
Initial value:
=
llvm::codegenoptions::NoDebugInfo

Debug info generation.

◆ FramePointerKind

llvm::FramePointerKind MLIRToLLVMPassPipelineConfig::FramePointerKind
Initial value:
=
llvm::FramePointerKind::None

Add frame pointer to functions.

◆ InstrumentFunctionEntry

std::string MLIRToLLVMPassPipelineConfig::InstrumentFunctionEntry
Initial value:
=
""

Name of the instrument-function that is called on each function-entry

◆ InstrumentFunctionExit

std::string MLIRToLLVMPassPipelineConfig::InstrumentFunctionExit
Initial value:
=
""

Name of the instrument-function that is called on each function-exit

◆ NoSignedZerosFPMath

bool MLIRToLLVMPassPipelineConfig::NoSignedZerosFPMath
Initial value:
=
false

Set no-signed-zeros-fp-math attribute for functions.

◆ PreferVectorWidth

std::string MLIRToLLVMPassPipelineConfig::PreferVectorWidth = ""

Set prefer-vector-width attribute for functions.

◆ Reciprocals

std::string MLIRToLLVMPassPipelineConfig::Reciprocals = ""

Set reciprocal-estimate attribute for functions.


The documentation for this struct was generated from the following file: