r352849 - Provide reason messages for unviable inlining

Yevgeny Rouban via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 1 02:44:43 PST 2019


Author: yrouban
Date: Fri Feb  1 02:44:43 2019
New Revision: 352849

URL: http://llvm.org/viewvc/llvm-project?rev=352849&view=rev
Log:
Provide reason messages for unviable inlining

InlineCost's isInlineViable() is changed to return InlineResult
instead of bool. This provides messages for failure reasons and
allows to get more specific messages for cases where callsites
are not viable for inlining.

Reviewed By: xbolva00, anemet

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

Modified:
    cfe/trunk/test/Frontend/optimization-remark-with-hotness.c

Modified: cfe/trunk/test/Frontend/optimization-remark-with-hotness.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Frontend/optimization-remark-with-hotness.c?rev=352849&r1=352848&r2=352849&view=diff
==============================================================================
--- cfe/trunk/test/Frontend/optimization-remark-with-hotness.c (original)
+++ cfe/trunk/test/Frontend/optimization-remark-with-hotness.c Fri Feb  1 02:44:43 2019
@@ -66,7 +66,7 @@ void bar(int x) {
 
 int main(int argc, const char *argv[]) {
   for (int i = 0; i < 30; i++)
-    // expected-remark at +1 {{bar not inlined into main because it should never be inlined (cost=never): always inliner (hotness:}}
+    // expected-remark at +1 {{bar not inlined into main because it should never be inlined (cost=never): no alwaysinline attribute (hotness:}}
     bar(argc);
   return sum;
 }




More information about the cfe-commits mailing list