//===-- MCTargetOptionsCommandFlags.h --------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file contains machine code-specific flags that are shared between // different command line tools. // //===----------------------------------------------------------------------===// #ifndef LLVM_MC_MCTARGETOPTIONSCOMMANDFLAGS_H #define LLVM_MC_MCTARGETOPTIONSCOMMANDFLAGS_H #include "llvm/Support/CommandLine.h" #include "llvm/MC/MCTargetOptions.h" using namespace llvm; cl::opt AsmInstrumentation( "asm-instrumentation", cl::desc("Instrumentation of inline assembly and " "assembly source files"), cl::init(MCTargetOptions::AsmInstrumentationNone), cl::values(clEnumValN(MCTargetOptions::AsmInstrumentationNone, "none", "no instrumentation at all"), clEnumValN(MCTargetOptions::AsmInstrumentationAddress, "address", "instrument instructions with memory arguments"), clEnumValEnd)); cl::opt RelaxAll("mc-relax-all", cl::desc("When used with filetype=obj, " "relax all fixups in the emitted object file")); cl::opt EnableDwarfDirectory( "enable-dwarf-directory", cl::Hidden, cl::desc("Use .file directives with an explicit directory.")); cl::opt NoExecStack("mc-no-exec-stack", cl::desc("File doesn't need an exec stack")); cl::opt SaveTempLabels("L", cl::desc("Don't discard temporary labels")); cl::opt ShowMCEncoding("show-mc-encoding", cl::Hidden, cl::desc("Show encoding in .s output")); cl::opt ShowMCInst("show-mc-inst", cl::Hidden, cl::desc("Show instruction structure in .s output")); static inline MCTargetOptions InitMCTargetOptionsFromFlags() { MCTargetOptions Options; Options.SanitizeAddress = (AsmInstrumentation == MCTargetOptions::AsmInstrumentationAddress); Options.MCRelaxAll = RelaxAll; Options.MCUseDwarfDirectory = EnableDwarfDirectory; Options.MCNoExecStack = NoExecStack; Options.MCSaveTempLabels = SaveTempLabels; Options.ShowMCEncoding = ShowMCEncoding; Options.ShowMCInst = ShowMCInst; return Options; } #endif