[lld] r293965 - add the ability to call InitTargetOptionsFromCodeGenFlags from multiple objects

Bob Haarman via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 2 15:49:16 PST 2017


Author: inglorion
Date: Thu Feb  2 17:49:16 2017
New Revision: 293965

URL: http://llvm.org/viewvc/llvm-project?rev=293965&view=rev
Log:
add the ability to call InitTargetOptionsFromCodeGenFlags from multiple objects

Summary: llvm/CodeGen/CommandFlags.h a utility function InitTargetOptionsFromCodeGenFlags which is used to set target options from flags based on the command line. The command line flags are stored in globals defined in the same file, and including the file in multiple places causes the globals to be defined multiple times, leading to linker errors. This change adds a single place in lld where these globals are defined and exports only the utility function. This makes it possible to call InitTargetOptionsFromCodeGenFlags from multiple places in lld, which a follow-up change will do.

Reviewers: davide, ruiu

Reviewed By: davide, ruiu

Subscribers: mgorny

Differential Revision: https://reviews.llvm.org/D29058


Modified:
    lld/trunk/ELF/LTO.cpp
    lld/trunk/lib/Core/CMakeLists.txt

Modified: lld/trunk/ELF/LTO.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/LTO.cpp?rev=293965&r1=293964&r2=293965&view=diff
==============================================================================
--- lld/trunk/ELF/LTO.cpp (original)
+++ lld/trunk/ELF/LTO.cpp Thu Feb  2 17:49:16 2017
@@ -12,11 +12,11 @@
 #include "Error.h"
 #include "InputFiles.h"
 #include "Symbols.h"
+#include "lld/Core/TargetOptionsCommandFlags.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/SmallString.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/ADT/Twine.h"
-#include "llvm/CodeGen/CommandFlags.h"
 #include "llvm/IR/DiagnosticPrinter.h"
 #include "llvm/LTO/Config.h"
 #include "llvm/LTO/LTO.h"

Modified: lld/trunk/lib/Core/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Core/CMakeLists.txt?rev=293965&r1=293964&r2=293965&view=diff
==============================================================================
--- lld/trunk/lib/Core/CMakeLists.txt (original)
+++ lld/trunk/lib/Core/CMakeLists.txt Thu Feb  2 17:49:16 2017
@@ -7,6 +7,7 @@ add_lld_library(lldCore
   Reproduce.cpp
   Resolver.cpp
   SymbolTable.cpp
+  TargetOptionsCommandFlags.cpp
   Writer.cpp
 
   ADDITIONAL_HEADER_DIRS




More information about the llvm-commits mailing list