[ctxprof] Move `MoveSymbolGUID` to address dependency issues (#134334)
See PR #134192
diff --git a/llvm/lib/Transforms/IPO/FunctionImport.cpp b/llvm/lib/Transforms/IPO/FunctionImport.cpp
index d93bd44..f1dce5d 100644
--- a/llvm/lib/Transforms/IPO/FunctionImport.cpp
+++ b/llvm/lib/Transforms/IPO/FunctionImport.cpp
@@ -182,14 +182,7 @@
"their own module."),
cl::Hidden, cl::init(false));
-cl::list<GlobalValue::GUID> MoveSymbolGUID(
- "thinlto-move-symbols",
- cl::desc(
- "Move the symbols with the given name. This will delete these symbols "
- "wherever they are originally defined, and make sure their "
- "linkage is External where they are imported. It is meant to be "
- "used with the name of contextual profiling roots."),
- cl::Hidden);
+extern cl::list<GlobalValue::GUID> MoveSymbolGUID;
namespace llvm {
extern cl::opt<bool> EnableMemProfContextDisambiguation;
diff --git a/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp b/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
index 81e461e..3bbe875 100644
--- a/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
+++ b/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
@@ -24,7 +24,14 @@
"This requires that the source filename has a unique name / "
"path to avoid name collisions."));
-extern cl::list<GlobalValue::GUID> MoveSymbolGUID;
+cl::list<GlobalValue::GUID> MoveSymbolGUID(
+ "thinlto-move-symbols",
+ cl::desc(
+ "Move the symbols with the given name. This will delete these symbols "
+ "wherever they are originally defined, and make sure their "
+ "linkage is External where they are imported. It is meant to be "
+ "used with the name of contextual profiling roots."),
+ cl::Hidden);
FunctionImportGlobalProcessing::FunctionImportGlobalProcessing(
Module &M, const ModuleSummaryIndex &Index,