mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-10 22:46:25 +00:00
[ThinLTO] Address review comments from PGO indirect call promotion (NFC)
Address a couple of post-commit review comments from r275707. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275867 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d7c16ef558
commit
5e89a802f2
@ -147,18 +147,19 @@ public:
|
||||
// The starting ValueId is just after the number of values in the
|
||||
// ValueEnumerator, so that they can be emitted in the VST.
|
||||
GlobalValueId = VE.getValues().size();
|
||||
if (Index)
|
||||
for (const auto &GUIDSummaryLists : *Index)
|
||||
// Examine all summaries for this GUID.
|
||||
for (auto &Summary : GUIDSummaryLists.second)
|
||||
if (auto FS = dyn_cast<FunctionSummary>(Summary.get()))
|
||||
// For each call in the function summary, see if the call
|
||||
// is to a GUID (which means it is for an indirect call,
|
||||
// otherwise we would have a Value for it). If so, synthesize
|
||||
// a value id.
|
||||
for (auto &CallEdge : FS->calls())
|
||||
if (CallEdge.first.isGUID())
|
||||
assignValueId(CallEdge.first.getGUID());
|
||||
if (!Index)
|
||||
return;
|
||||
for (const auto &GUIDSummaryLists : *Index)
|
||||
// Examine all summaries for this GUID.
|
||||
for (auto &Summary : GUIDSummaryLists.second)
|
||||
if (auto FS = dyn_cast<FunctionSummary>(Summary.get()))
|
||||
// For each call in the function summary, see if the call
|
||||
// is to a GUID (which means it is for an indirect call,
|
||||
// otherwise we would have a Value for it). If so, synthesize
|
||||
// a value id.
|
||||
for (auto &CallEdge : FS->calls())
|
||||
if (CallEdge.first.isGUID())
|
||||
assignValueId(CallEdge.first.getGUID());
|
||||
}
|
||||
|
||||
private:
|
||||
@ -293,7 +294,10 @@ private:
|
||||
}
|
||||
unsigned getValueId(GlobalValue::GUID ValGUID) {
|
||||
const auto &VMI = GUIDToValueIdMap.find(ValGUID);
|
||||
assert(VMI != GUIDToValueIdMap.end());
|
||||
// Expect that any GUID value had a value Id assigned by an
|
||||
// earlier call to assignValueId.
|
||||
assert(VMI != GUIDToValueIdMap.end() &&
|
||||
"GUID does not have assigned value Id");
|
||||
return VMI->second;
|
||||
}
|
||||
// Helper to get the valueId for the type of value recorded in VI.
|
||||
|
Loading…
x
Reference in New Issue
Block a user