[llvm] r319086 - Rename MCTargetOptionsCommandFlags.h to .def as it is not a normal/modular header as much as it is for stamping out some global/static variables

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 30 14:29:48 PST 2017


This is... pretty objectionable, IMO. This file is not a .def file. It is
not a pile of macros. It is C++ code. I really don't like this change.
Surely we have a better way to mark headers as non-modular.

On Mon, Nov 27, 2017 at 11:55 AM, David Blaikie via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: dblaikie
> Date: Mon Nov 27 11:55:16 2017
> New Revision: 319086
>
> URL: http://llvm.org/viewvc/llvm-project?rev=319086&view=rev
> Log:
> Rename MCTargetOptionsCommandFlags.h to .def as it is not a normal/modular
> header as much as it is for stamping out some global/static variables
>
> Added:
>     llvm/trunk/include/llvm/MC/MCTargetOptionsCommandFlags.def
>       - copied, changed from r319085, llvm/trunk/include/llvm/MC/
> MCTargetOptionsCommandFlags.h
> Removed:
>     llvm/trunk/include/llvm/MC/MCTargetOptionsCommandFlags.h
> Modified:
>     llvm/trunk/include/llvm/CodeGen/CommandFlags.def
>     llvm/trunk/tools/dsymutil/DwarfLinker.cpp
>     llvm/trunk/tools/llvm-dwp/llvm-dwp.cpp
>     llvm/trunk/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
>     llvm/trunk/tools/llvm-mc/llvm-mc.cpp
>     llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
>
> Modified: llvm/trunk/include/llvm/CodeGen/CommandFlags.def
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/
> llvm/CodeGen/CommandFlags.def?rev=319086&r1=319085&r2=319086&view=diff
> ============================================================
> ==================
> --- llvm/trunk/include/llvm/CodeGen/CommandFlags.def (original)
> +++ llvm/trunk/include/llvm/CodeGen/CommandFlags.def Mon Nov 27 11:55:16
> 2017
> @@ -17,7 +17,7 @@
>  #include "llvm/IR/Instructions.h"
>  #include "llvm/IR/Intrinsics.h"
>  #include "llvm/IR/Module.h"
> -#include "llvm/MC/MCTargetOptionsCommandFlags.h"
> +#include "llvm/MC/MCTargetOptionsCommandFlags.def"
>  #include "llvm/MC/SubtargetFeature.h"
>  #include "llvm/Support/CodeGen.h"
>  #include "llvm/Support/CommandLine.h"
>
> Copied: llvm/trunk/include/llvm/MC/MCTargetOptionsCommandFlags.def (from
> r319085, llvm/trunk/include/llvm/MC/MCTargetOptionsCommandFlags.h)
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/
> MCTargetOptionsCommandFlags.def?p2=llvm/trunk/include/llvm/MC/
> MCTargetOptionsCommandFlags.def&p1=llvm/trunk/include/llvm/MC/
> MCTargetOptionsCommandFlags.h&r1=319085&r2=319086&rev=319086&view=diff
> ============================================================
> ==================
> --- llvm/trunk/include/llvm/MC/MCTargetOptionsCommandFlags.h (original)
> +++ llvm/trunk/include/llvm/MC/MCTargetOptionsCommandFlags.def Mon Nov 27
> 11:55:16 2017
> @@ -19,7 +19,7 @@
>  #include "llvm/Support/CommandLine.h"
>  using namespace llvm;
>
> -cl::opt<MCTargetOptions::AsmInstrumentation> AsmInstrumentation(
> +static cl::opt<MCTargetOptions::AsmInstrumentation> AsmInstrumentation(
>      "asm-instrumentation", cl::desc("Instrumentation of inline assembly
> and "
>                                      "assembly source files"),
>      cl::init(MCTargetOptions::AsmInstrumentationNone),
> @@ -28,40 +28,40 @@ cl::opt<MCTargetOptions::AsmInstrumentat
>                 clEnumValN(MCTargetOptions::AsmInstrumentationAddress,
> "address",
>                            "instrument instructions with memory
> arguments")));
>
> -cl::opt<bool> RelaxAll("mc-relax-all",
> +static cl::opt<bool> RelaxAll("mc-relax-all",
>                         cl::desc("When used with filetype=obj, "
>                                  "relax all fixups in the emitted object
> file"));
>
> -cl::opt<bool> IncrementalLinkerCompatible(
> +static cl::opt<bool> IncrementalLinkerCompatible(
>      "incremental-linker-compatible",
>      cl::desc(
>          "When used with filetype=obj, "
>          "emit an object file which can be used with an incremental
> linker"));
>
> -cl::opt<bool> PIECopyRelocations("pie-copy-relocations", cl::desc("PIE
> Copy Relocations"));
> +static cl::opt<bool> PIECopyRelocations("pie-copy-relocations",
> cl::desc("PIE Copy Relocations"));
>
> -cl::opt<int> DwarfVersion("dwarf-version", cl::desc("Dwarf version"),
> +static cl::opt<int> DwarfVersion("dwarf-version", cl::desc("Dwarf
> version"),
>                            cl::init(0));
>
> -cl::opt<bool> ShowMCInst("asm-show-inst",
> +static cl::opt<bool> ShowMCInst("asm-show-inst",
>                           cl::desc("Emit internal instruction
> representation to "
>                                    "assembly file"));
>
> -cl::opt<bool> FatalWarnings("fatal-warnings",
> +static cl::opt<bool> FatalWarnings("fatal-warnings",
>                              cl::desc("Treat warnings as errors"));
>
> -cl::opt<bool> NoWarn("no-warn", cl::desc("Suppress all warnings"));
> -cl::alias NoWarnW("W", cl::desc("Alias for --no-warn"),
> cl::aliasopt(NoWarn));
> +static cl::opt<bool> NoWarn("no-warn", cl::desc("Suppress all warnings"));
> +static cl::alias NoWarnW("W", cl::desc("Alias for --no-warn"),
> cl::aliasopt(NoWarn));
>
> -cl::opt<bool> NoDeprecatedWarn("no-deprecated-warn",
> +static cl::opt<bool> NoDeprecatedWarn("no-deprecated-warn",
>                                 cl::desc("Suppress all deprecated
> warnings"));
>
> -cl::opt<std::string>
> +static cl::opt<std::string>
>  ABIName("target-abi", cl::Hidden,
>          cl::desc("The name of the ABI to be targeted from the backend."),
>          cl::init(""));
>
> -static inline MCTargetOptions InitMCTargetOptionsFromFlags() {
> +static MCTargetOptions InitMCTargetOptionsFromFlags() {
>    MCTargetOptions Options;
>    Options.SanitizeAddress =
>        (AsmInstrumentation == MCTargetOptions::AsmInstrumentationAddress);
>
> Removed: llvm/trunk/include/llvm/MC/MCTargetOptionsCommandFlags.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/
> MCTargetOptionsCommandFlags.h?rev=319085&view=auto
> ============================================================
> ==================
> --- llvm/trunk/include/llvm/MC/MCTargetOptionsCommandFlags.h (original)
> +++ llvm/trunk/include/llvm/MC/MCTargetOptionsCommandFlags.h (removed)
> @@ -1,80 +0,0 @@
> -//===-- 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/MC/MCTargetOptions.h"
> -#include "llvm/Support/CommandLine.h"
> -using namespace llvm;
> -
> -cl::opt<MCTargetOptions::AsmInstrumentation> 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")));
> -
> -cl::opt<bool> RelaxAll("mc-relax-all",
> -                       cl::desc("When used with filetype=obj, "
> -                                "relax all fixups in the emitted object
> file"));
> -
> -cl::opt<bool> IncrementalLinkerCompatible(
> -    "incremental-linker-compatible",
> -    cl::desc(
> -        "When used with filetype=obj, "
> -        "emit an object file which can be used with an incremental
> linker"));
> -
> -cl::opt<bool> PIECopyRelocations("pie-copy-relocations", cl::desc("PIE
> Copy Relocations"));
> -
> -cl::opt<int> DwarfVersion("dwarf-version", cl::desc("Dwarf version"),
> -                          cl::init(0));
> -
> -cl::opt<bool> ShowMCInst("asm-show-inst",
> -                         cl::desc("Emit internal instruction
> representation to "
> -                                  "assembly file"));
> -
> -cl::opt<bool> FatalWarnings("fatal-warnings",
> -                            cl::desc("Treat warnings as errors"));
> -
> -cl::opt<bool> NoWarn("no-warn", cl::desc("Suppress all warnings"));
> -cl::alias NoWarnW("W", cl::desc("Alias for --no-warn"),
> cl::aliasopt(NoWarn));
> -
> -cl::opt<bool> NoDeprecatedWarn("no-deprecated-warn",
> -                               cl::desc("Suppress all deprecated
> warnings"));
> -
> -cl::opt<std::string>
> -ABIName("target-abi", cl::Hidden,
> -        cl::desc("The name of the ABI to be targeted from the backend."),
> -        cl::init(""));
> -
> -static inline MCTargetOptions InitMCTargetOptionsFromFlags() {
> -  MCTargetOptions Options;
> -  Options.SanitizeAddress =
> -      (AsmInstrumentation == MCTargetOptions::AsmInstrumentationAddress);
> -  Options.MCRelaxAll = RelaxAll;
> -  Options.MCIncrementalLinkerCompatible = IncrementalLinkerCompatible;
> -  Options.MCPIECopyRelocations = PIECopyRelocations;
> -  Options.DwarfVersion = DwarfVersion;
> -  Options.ShowMCInst = ShowMCInst;
> -  Options.ABIName = ABIName;
> -  Options.MCFatalWarnings = FatalWarnings;
> -  Options.MCNoWarn = NoWarn;
> -  Options.MCNoDeprecatedWarn = NoDeprecatedWarn;
> -  return Options;
> -}
> -
> -#endif
>
> Modified: llvm/trunk/tools/dsymutil/DwarfLinker.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/
> dsymutil/DwarfLinker.cpp?rev=319086&r1=319085&r2=319086&view=diff
> ============================================================
> ==================
> --- llvm/trunk/tools/dsymutil/DwarfLinker.cpp (original)
> +++ llvm/trunk/tools/dsymutil/DwarfLinker.cpp Mon Nov 27 11:55:16 2017
> @@ -55,7 +55,7 @@
>  #include "llvm/MC/MCStreamer.h"
>  #include "llvm/MC/MCSubtargetInfo.h"
>  #include "llvm/MC/MCTargetOptions.h"
> -#include "llvm/MC/MCTargetOptionsCommandFlags.h"
> +#include "llvm/MC/MCTargetOptionsCommandFlags.def"
>  #include "llvm/Object/MachO.h"
>  #include "llvm/Object/ObjectFile.h"
>  #include "llvm/Object/SymbolicFile.h"
>
> Modified: llvm/trunk/tools/llvm-dwp/llvm-dwp.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-
> dwp/llvm-dwp.cpp?rev=319086&r1=319085&r2=319086&view=diff
> ============================================================
> ==================
> --- llvm/trunk/tools/llvm-dwp/llvm-dwp.cpp (original)
> +++ llvm/trunk/tools/llvm-dwp/llvm-dwp.cpp Mon Nov 27 11:55:16 2017
> @@ -29,7 +29,7 @@
>  #include "llvm/MC/MCRegisterInfo.h"
>  #include "llvm/MC/MCSectionELF.h"
>  #include "llvm/MC/MCStreamer.h"
> -#include "llvm/MC/MCTargetOptionsCommandFlags.h"
> +#include "llvm/MC/MCTargetOptionsCommandFlags.def"
>  #include "llvm/Object/Decompressor.h"
>  #include "llvm/Object/ObjectFile.h"
>  #include "llvm/Support/Compression.h"
>
> Modified: llvm/trunk/tools/llvm-mc-assemble-fuzzer/llvm-mc-
> assemble-fuzzer.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-
> mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp?rev=
> 319086&r1=319085&r2=319086&view=diff
> ============================================================
> ==================
> --- llvm/trunk/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
> (original)
> +++ llvm/trunk/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
> Mon Nov 27 11:55:16 2017
> @@ -24,7 +24,7 @@
>  #include "llvm/MC/MCSectionMachO.h"
>  #include "llvm/MC/MCStreamer.h"
>  #include "llvm/MC/MCSubtargetInfo.h"
> -#include "llvm/MC/MCTargetOptionsCommandFlags.h"
> +#include "llvm/MC/MCTargetOptionsCommandFlags.def"
>  #include "llvm/Support/MemoryBuffer.h"
>  #include "llvm/Support/CommandLine.h"
>  #include "llvm/Support/FileUtilities.h"
>
> Modified: llvm/trunk/tools/llvm-mc/llvm-mc.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-
> mc/llvm-mc.cpp?rev=319086&r1=319085&r2=319086&view=diff
> ============================================================
> ==================
> --- llvm/trunk/tools/llvm-mc/llvm-mc.cpp (original)
> +++ llvm/trunk/tools/llvm-mc/llvm-mc.cpp Mon Nov 27 11:55:16 2017
> @@ -26,7 +26,7 @@
>  #include "llvm/MC/MCSectionMachO.h"
>  #include "llvm/MC/MCStreamer.h"
>  #include "llvm/MC/MCSubtargetInfo.h"
> -#include "llvm/MC/MCTargetOptionsCommandFlags.h"
> +#include "llvm/MC/MCTargetOptionsCommandFlags.def"
>  #include "llvm/Support/CommandLine.h"
>  #include "llvm/Support/Compression.h"
>  #include "llvm/Support/FileUtilities.h"
>
> Modified: llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/
> DebugInfo/DWARF/DwarfGenerator.cpp?rev=319086&
> r1=319085&r2=319086&view=diff
> ============================================================
> ==================
> --- llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.cpp (original)
> +++ llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.cpp Mon Nov 27
> 11:55:16 2017
> @@ -27,7 +27,7 @@
>  #include "llvm/MC/MCRegisterInfo.h"
>  #include "llvm/MC/MCStreamer.h"
>  #include "llvm/MC/MCSubtargetInfo.h"
> -#include "llvm/MC/MCTargetOptionsCommandFlags.h"
> +#include "llvm/MC/MCTargetOptionsCommandFlags.def"
>  #include "llvm/PassAnalysisSupport.h"
>  #include "llvm/Support/LEB128.h"
>  #include "llvm/Support/TargetRegistry.h"
> @@ -155,8 +155,8 @@ llvm::Error dwarfgen::Generator::init(Tr
>    MC.reset(new MCContext(MAI.get(), MRI.get(), MOFI.get()));
>    MOFI->InitMCObjectFileInfo(TheTriple, /*PIC*/ false, *MC);
>
> -  MCTargetOptions Options;
> -  MAB = TheTarget->createMCAsmBackend(*MRI, TripleName, "", Options);
> +  MCTargetOptions MCOptions = InitMCTargetOptionsFromFlags();
> +  MAB = TheTarget->createMCAsmBackend(*MRI, TripleName, "", MCOptions);
>    if (!MAB)
>      return make_error<StringError>("no asm backend for target " +
> TripleName,
>                                     inconvertibleErrorCode());
> @@ -179,7 +179,6 @@ llvm::Error dwarfgen::Generator::init(Tr
>
>    Stream = make_unique<raw_svector_ostream>(FileBytes);
>
> -  MCTargetOptions MCOptions = InitMCTargetOptionsFromFlags();
>    MS = TheTarget->createMCObjectStreamer(
>        TheTriple, *MC, std::unique_ptr<MCAsmBackend>(MAB), *Stream,
>        std::unique_ptr<MCCodeEmitter>(MCE), *MSTI, MCOptions.MCRelaxAll,
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171130/7cd8a05c/attachment.html>


More information about the llvm-commits mailing list