[ThinLTO] Remove too aggressive assertion in building function call graph.

The assertion was introduced in r317853 but there are cases when a call
isn't handled either as direct or indirect. In this case we add a
reference graph edge but not a call graph edge.

Reviewers: tejohnson

Reviewed By: tejohnson

Subscribers: mehdi_amini, inglorion, eraman, hiraditya, efriedma, llvm-commits

Differential Revision: https://reviews.llvm.org/D40056



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@318540 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Volodymyr Sapsai
2017-11-17 18:28:05 +00:00
parent 39107fc224
commit 3c60df7cce
2 changed files with 17 additions and 4 deletions
+3 -2
View File
@@ -280,8 +280,9 @@ computeFunctionSummary(ModuleSummaryIndex &Index, const Module &M,
// Skip inline assembly calls.
if (CI && CI->isInlineAsm())
continue;
assert(CalledValue && !isa<Constant>(CalledValue) &&
"Expected indirect call");
// Skip direct calls.
if (!CalledValue || isa<Constant>(CalledValue))
continue;
uint32_t NumVals, NumCandidates;
uint64_t TotalCount;