From 71ecaa19ff0a6f63b1e0c9fa6d28f5fa84b8072d Mon Sep 17 00:00:00 2001 From: Xinliang David Li Date: Wed, 16 Aug 2017 17:18:01 +0000 Subject: [PGO] Fix ThinLTO crash Differential Revsion: http://reviews.llvm.org/D36640 llvm-svn: 311023 --- llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp') diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index fc58718..e3b43b3 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -3626,6 +3626,12 @@ void IndexBitcodeWriter::writeCombinedGlobalValueSummary() { CallValueId = getValueId(GUID); if (!CallValueId) continue; + // The mapping from OriginalId to GUID may return a GUID + // that corresponds to a static varible. Filter it out here. + auto *GVSum = Index.getGlobalValueSummary(GUID, false); + if (GVSum && + GVSum->getSummaryKind() == GlobalValueSummary::GlobalVarKind) + continue; } NameVals.push_back(*CallValueId); if (HasProfileData) -- cgit v1.1