mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
[LTO] Constify the Module Hook function (NFC)
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
This commit is contained in:
parent
8a69174992
commit
91a6c36524
@ -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.
|
||||
|
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user