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;
36extern llvm::OptimizationLevel defaultOptLevel;
38extern llvm::codegenoptions::DebugInfoKind noDebugInfo;
41extern llvm::cl::opt<bool> disableCfgConversion;
42extern llvm::cl::opt<bool> disableFirAvc;
43extern llvm::cl::opt<bool> disableFirMao;
45extern llvm::cl::opt<bool> disableFirAliasTags;
46extern llvm::cl::opt<bool> useOldAliasTags;
49extern llvm::cl::opt<bool> disableCodeGenRewrite;
50extern llvm::cl::opt<bool> disableTargetRewrite;
51extern llvm::cl::opt<bool> disableDebugInfo;
52extern llvm::cl::opt<bool> disableFirToLlvmIr;
53extern llvm::cl::opt<bool> disableLlvmIrToLlvm;
54extern llvm::cl::opt<bool> disableBoxedProcedureRewrite;
56extern llvm::cl::opt<bool> disableExternalNameConversion;
57extern llvm::cl::opt<bool> enableConstantArgumentGlobalisation;
58extern llvm::cl::opt<bool> disableCompilerGeneratedNamesConversion;