[ThinLTO] Refactor some common code into getGlobalValueInfo method (NFC)
Refactor common code that queries the ModuleSummaryIndex for a value's
GlobalValueInfo struct into getGlobalValueInfo helper methods, which
will also be used by D18763.
llvm-svn: 265370
diff --git a/llvm/lib/IR/ModuleSummaryIndex.cpp b/llvm/lib/IR/ModuleSummaryIndex.cpp
index 5effc65..340ecca 100644
--- a/llvm/lib/IR/ModuleSummaryIndex.cpp
+++ b/llvm/lib/IR/ModuleSummaryIndex.cpp
@@ -68,3 +68,15 @@
++MI;
}
}
+
+GlobalValueInfo *
+ModuleSummaryIndex::getGlobalValueInfo(uint64_t ValueGUID,
+ bool PerModuleIndex) const {
+ auto InfoList = findGlobalValueInfoList(ValueGUID);
+ assert(InfoList != end() && "GlobalValue not found in index");
+ assert(!PerModuleIndex ||
+ InfoList->second.size() == 1 &&
+ "Expected a single entry per global value in per-module index");
+ auto &Info = InfoList->second[0];
+ return Info.get();
+}