FLANG
Classes | Public Types | Public Attributes | List of all members
Fortran::frontend::CodeGenOptions Class Reference

#include <flang/Frontend/CodeGenOptions.h>

Inheritance diagram for Fortran::frontend::CodeGenOptions:
Fortran::frontend::CodeGenOptionsBase

Classes

struct  OptRemark
 Optimization remark with an optional regular expression pattern. More...
 

Public Types

enum class  RemarkKind { RK_Missing , RK_Enabled , RK_Disabled , RK_WithPattern }
 

Public Attributes

std::vector< std::string > LLVMPassPlugins
 The paths to the pass plugins that were registered using -fpass-plugin.
 
std::vector< std::string > OffloadObjects
 
std::vector< std::string > BuiltinBCLibs
 
std::optional< std::string > SaveTempsDir
 The directory where temp files are stored if specified by -save-temps.
 
std::optional< std::string > RecordCommandLine
 The string containing the commandline for the llvm.commandline metadata.
 
std::string OptRecordFile
 
std::string OptRecordPasses
 
std::string OptRecordFormat
 The format used for serializing remarks (default: YAML)
 
std::vector< std::string > DependentLibs
 Options to add to the linker for the object file.
 
llvm::CodeObjectVersionKind CodeObjectVersion
 Code object version for AMDGPU.
 
OptRemark OptimizationRemark
 
OptRemark OptimizationRemarkMissed
 
OptRemark OptimizationRemarkAnalysis
 
std::string CodeModel
 The code model to use (-mcmodel).
 
uint64_t LargeDataThreshold
 

Detailed Description

Tracks various options which control how the code is optimized and passed to the LLVM backend.

Member Data Documentation

◆ BuiltinBCLibs

std::vector<std::string> Fortran::frontend::CodeGenOptions::BuiltinBCLibs

List of filenames passed in using the -mlink-builtin-bitcode. These are bc libraries that should be linked in and internalized;

◆ CodeObjectVersion

llvm::CodeObjectVersionKind Fortran::frontend::CodeGenOptions::CodeObjectVersion
Initial value:
=
llvm::CodeObjectVersionKind::COV_5

Code object version for AMDGPU.

◆ LargeDataThreshold

uint64_t Fortran::frontend::CodeGenOptions::LargeDataThreshold

The code model-specific large data threshold to use (-mlarge-data-threshold).

◆ OffloadObjects

std::vector<std::string> Fortran::frontend::CodeGenOptions::OffloadObjects

List of filenames passed in using the -fembed-offload-object option. These are offloading binaries containing device images and metadata.

◆ OptimizationRemark

OptRemark Fortran::frontend::CodeGenOptions::OptimizationRemark

Selected optimizations for which we should enable optimization remarks. Transformation passes whose name matches the contained (optional) regular expression (and support this feature), will emit a diagnostic whenever they perform a transformation.

◆ OptimizationRemarkAnalysis

OptRemark Fortran::frontend::CodeGenOptions::OptimizationRemarkAnalysis

Selected optimizations for which we should enable optimization analyses. Transformation passes whose name matches the contained (optional) regular expression (and support this feature), will emit a diagnostic whenever they want to explain why they decided to apply or not apply a given transformation.

◆ OptimizationRemarkMissed

OptRemark Fortran::frontend::CodeGenOptions::OptimizationRemarkMissed

Selected optimizations for which we should enable missed optimization remarks. Transformation passes whose name matches the contained (optional) regular expression (and support this feature), will emit a diagnostic whenever they tried but failed to perform a transformation.

◆ OptRecordFile

std::string Fortran::frontend::CodeGenOptions::OptRecordFile

The name of the file to which the backend should save YAML optimization records.

◆ OptRecordPasses

std::string Fortran::frontend::CodeGenOptions::OptRecordPasses

The regex that filters the passes that should be saved to the optimization records.


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