15#ifndef FORTRAN_FRONTEND_CODEGENOPTIONS_H
16#define FORTRAN_FRONTEND_CODEGENOPTIONS_H
18#include "llvm/Frontend/Debug/Options.h"
19#include "llvm/Frontend/Driver/CodeGenOptions.h"
20#include "llvm/Support/CodeGen.h"
21#include "llvm/Support/Regex.h"
22#include "llvm/Target/TargetOptions.h"
23#include "llvm/Transforms/Instrumentation/AddressSanitizerOptions.h"
30namespace Fortran::frontend {
37#define CODEGENOPT(Name, Bits, Default) unsigned Name : Bits;
38#define ENUM_CODEGENOPT(Name, Type, Bits, Default)
39#include "flang/Frontend/CodeGenOptions.def"
42#define CODEGENOPT(Name, Bits, Default)
43#define ENUM_CODEGENOPT(Name, Type, Bits, Default) unsigned Name : Bits;
44#include "flang/Frontend/CodeGenOptions.def"
86 enum class RemarkKind {
97 llvm::CodeObjectVersionKind::COV_5;
101 RemarkKind Kind = RemarkKind::RK_Missing;
103 std::shared_ptr<llvm::Regex> Regex;
147#define CODEGENOPT(Name, Bits, Default)
148#define ENUM_CODEGENOPT(Name, Type, Bits, Default) \
149 Type get##Name() const { return static_cast<Type>(Name); } \
150 void set##Name(Type Value) { Name = static_cast<unsigned>(Value); }
151#include "flang/Frontend/CodeGenOptions.def"
156std::optional<llvm::CodeModel::Model> getCodeModel(llvm::StringRef
string);
Definition: CodeGenOptions.h:34
Definition: CodeGenOptions.h:49
std::string OptRecordPasses
Definition: CodeGenOptions.h:75
std::vector< std::string > DependentLibs
Options to add to the linker for the object file.
Definition: CodeGenOptions.h:81
OptRemark OptimizationRemark
Definition: CodeGenOptions.h:124
llvm::CodeObjectVersionKind CodeObjectVersion
Code object version for AMDGPU.
Definition: CodeGenOptions.h:96
OptRemark OptimizationRemarkAnalysis
Definition: CodeGenOptions.h:137
std::vector< std::string > LLVMPassPlugins
The paths to the pass plugins that were registered using -fpass-plugin.
Definition: CodeGenOptions.h:53
std::string OptRecordFormat
The format used for serializing remarks (default: YAML)
Definition: CodeGenOptions.h:78
std::optional< std::string > SaveTempsDir
The directory where temp files are stored if specified by -save-temps.
Definition: CodeGenOptions.h:64
std::string CodeModel
The code model to use (-mcmodel).
Definition: CodeGenOptions.h:140
std::vector< std::string > OffloadObjects
Definition: CodeGenOptions.h:57
std::optional< std::string > RecordCommandLine
The string containing the commandline for the llvm.commandline metadata.
Definition: CodeGenOptions.h:67
std::string OptRecordFile
Definition: CodeGenOptions.h:71
std::vector< std::string > BuiltinBCLibs
Definition: CodeGenOptions.h:61
uint64_t LargeDataThreshold
Definition: CodeGenOptions.h:144
OptRemark OptimizationRemarkMissed
Definition: CodeGenOptions.h:130