12#ifndef FORTRAN_OPTIMIZER_PASSES_COMMANDLINEOPTS_H
13#define FORTRAN_OPTIMIZER_PASSES_COMMANDLINEOPTS_H
15#include "llvm/Frontend/Debug/Options.h"
16#include "llvm/Passes/OptimizationLevel.h"
17#include "llvm/Support/CommandLine.h"
21extern llvm::cl::opt<bool> dynamicArrayStackToHeapAllocation;
25extern llvm::cl::opt<std::size_t> arrayStackAllocationThreshold;
33extern llvm::cl::opt<bool> ignoreMissingTypeDescriptors;
46extern llvm::cl::opt<bool> skipExternalRttiDefinition;
49extern llvm::OptimizationLevel defaultOptLevel;
51extern llvm::codegenoptions::DebugInfoKind noDebugInfo;
54extern llvm::cl::opt<bool> disableCfgConversion;
55extern llvm::cl::opt<bool> disableFirAvc;
56extern llvm::cl::opt<bool> disableFirMao;
58extern llvm::cl::opt<bool> disableFirAliasTags;
59extern llvm::cl::opt<bool> useOldAliasTags;
62extern llvm::cl::opt<bool> disableCodeGenRewrite;
63extern llvm::cl::opt<bool> disableTargetRewrite;
64extern llvm::cl::opt<bool> disableDebugInfo;
65extern llvm::cl::opt<bool> disableFirToLlvmIr;
66extern llvm::cl::opt<bool> disableLlvmIrToLlvm;
67extern llvm::cl::opt<bool> disableBoxedProcedureRewrite;
69extern llvm::cl::opt<bool> disableExternalNameConversion;
70extern llvm::cl::opt<bool> enableConstantArgumentGlobalisation;
71extern llvm::cl::opt<bool> disableCompilerGeneratedNamesConversion;