[PATCH] D31336: [ThinLTO] Correct counting of functions in inliner stats

Teresa Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 24 09:23:03 PDT 2017


tejohnson created this revision.
Herald added a subscriber: Prazek.

Declarations need to be filtered out when counting functions.


https://reviews.llvm.org/D31336

Files:
  lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp
  test/Transforms/Inline/inline_stats.ll


Index: test/Transforms/Inline/inline_stats.ll
===================================================================
--- test/Transforms/Inline/inline_stats.ll
+++ test/Transforms/Inline/inline_stats.ll
@@ -36,9 +36,12 @@
     ret void
 }
 
+declare void @external_decl()
+
 define void @external1() alwaysinline !thinlto_src_module !0 {
     call fastcc void @internal2()
     call fastcc void @external2();
+    call void @external_decl();
     ret void
 }
 
Index: lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp
===================================================================
--- lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp
+++ lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp
@@ -62,6 +62,8 @@
 void ImportedFunctionsInliningStatistics::setModuleInfo(const Module &M) {
   ModuleName = M.getName();
   for (const auto &F : M.functions()) {
+    if (F.isDeclaration())
+      continue;
     AllFunctions++;
     ImportedFunctions += int(F.getMetadata("thinlto_src_module") != nullptr);
   }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31336.92958.patch
Type: text/x-patch
Size: 1038 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170324/52d304f2/attachment.bin>


More information about the llvm-commits mailing list