[LTO] Constify the Module Hook function (NFC)
authorMehdi Amini <mehdi.amini@apple.com>
Mon, 22 Aug 2016 16:17:40 +0000 (16:17 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Mon, 22 Aug 2016 16:17:40 +0000 (16:17 +0000)
It use to be non-const for the sole purpose of custom handling of
commons symbol. This is moved now in the regular LTO handling now
and such we can constify the callback.

llvm-svn: 279438

llvm/include/llvm/LTO/Config.h
llvm/lib/LTO/LTOBackend.cpp

index e3d1fb2..ef65731 100644 (file)
@@ -87,8 +87,8 @@ struct Config {
 
   /// A module hook may be used by a linker to perform actions during the LTO
   /// pipeline. For example, a linker may use this function to implement
-  /// -save-temps, or to add its own resolved symbols to the module. If this
-  /// function returns false, any further processing for that task is aborted.
+  /// -save-temps. If this function returns false, any further processing for
+  /// that task is aborted.
   ///
   /// Module hooks must be thread safe with respect to the linker's internal
   /// data structures. A module hook will never be called concurrently from
@@ -96,7 +96,7 @@ struct Config {
   ///
   /// Note that in out-of-process backend scenarios, none of the hooks will be
   /// called for ThinLTO tasks.
-  typedef std::function<bool(unsigned Task, Module &)> ModuleHookFn;
+  typedef std::function<bool(unsigned Task, const Module &)> ModuleHookFn;
 
   /// This module hook is called after linking (regular LTO) or loading
   /// (ThinLTO) the module, before modifying it.
index a89364e..732f35a 100644 (file)
@@ -47,7 +47,7 @@ Error Config::addSaveTemps(std::string OutputFileName,
   auto setHook = [&](std::string PathSuffix, ModuleHookFn &Hook) {
     // Keep track of the hook provided by the linker, which also needs to run.
     ModuleHookFn LinkerHook = Hook;
-    Hook = [=](unsigned Task, Module &M) {
+    Hook = [=](unsigned Task, const Module &M) {
       // If the linker's hook returned false, we need to pass that result
       // through.
       if (LinkerHook && !LinkerHook(Task, M))