[PATCH] D32666: [PartialInlining] Add support in partial inliner to use cost analysis in inliner

Davide Italiano via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 28 17:07:22 PDT 2017


davide added inline comments.


================
Comment at: lib/Transforms/IPO/PartialInlining.cpp:111
+    AU.addRequired<ProfileSummaryInfoWrapperPass>();
+    AU.addRequired<TargetTransformInfoWrapperPass>();
   }
----------------
Why don't we preserve TTI? (not that it matters for performances, but)


================
Comment at: lib/Transforms/IPO/PartialInlining.cpp:302-306
+  if (IC.isAlways()) {
+    ORE.emit(OptimizationRemarkAnalysis(DEBUG_TYPE, "AlwaysInline", Call)
+             << NV("Callee", Callee)
+             << " should always be fully inlined, not partially");
+    return false;
----------------
Can you add a test that triggers this?


================
Comment at: lib/Transforms/IPO/PartialInlining.cpp:309-323
+  if (IC.isNever()) {
+    ORE.emit(OptimizationRemarkMissed(DEBUG_TYPE, "NeverInline", Call)
+             << NV("Callee", Callee) << " not partially inlined into "
+             << NV("Caller", Caller)
+             << " because it should never be inlined (cost=never)");
+    return false;
+  }
----------------
and these as well, maybe


https://reviews.llvm.org/D32666





More information about the llvm-commits mailing list