diff options
Diffstat (limited to 'llvm/lib/Transforms/IPO/Inliner.cpp')
-rw-r--r-- | llvm/lib/Transforms/IPO/Inliner.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/IPO/Inliner.cpp b/llvm/lib/Transforms/IPO/Inliner.cpp index 8ed4bda54ad..c82c7dfe4cf 100644 --- a/llvm/lib/Transforms/IPO/Inliner.cpp +++ b/llvm/lib/Transforms/IPO/Inliner.cpp @@ -580,11 +580,13 @@ bool Inliner::runOnSCC(CallGraphSCC &SCC) { continue; } updateEntryCount(CallSiteBlock, Callee); - // The instruction following the call is part of a new basic block - // created during the inlining process. This does not have an entry in - // the BFI. We create an entry by copying the frequency of the original - // block containing the call. - copyBlockFrequency(CallSiteBlock, CallSuccessor->getParent()); + if (!InlineInfo.CallSuccessorBlockDeleted) { + // The instruction following the call is part of a new basic block + // created during the inlining process. This does not have an entry in + // the BFI. We create an entry by copying the frequency of the + // original block containing the call. + copyBlockFrequency(CallSiteBlock, CallSuccessor->getParent()); + } ++NumInlined; |