]> granicus.if.org Git - clang/commitdiff
Provide reason messages for unviable inlining
authorYevgeny Rouban <yevgeny.rouban@azul.com>
Fri, 1 Feb 2019 10:44:43 +0000 (10:44 +0000)
committerYevgeny Rouban <yevgeny.rouban@azul.com>
Fri, 1 Feb 2019 10:44:43 +0000 (10:44 +0000)
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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@352849 91177308-0d34-0410-b5e6-96231b3b80d8

test/Frontend/optimization-remark-with-hotness.c

index 150b7324da5e3a48cd93cc9af058b670a1711376..5f4c83b46c853cf1ef8b25dea2f2fe3a7f6f2fc0 100644 (file)
@@ -66,7 +66,7 @@ void bar(int x) {
 
 int main(int argc, const char *argv[]) {
   for (int i = 0; i < 30; i++)
-    // expected-remark@+1 {{bar not inlined into main because it should never be inlined (cost=never): always inliner (hotness:}}
+    // expected-remark@+1 {{bar not inlined into main because it should never be inlined (cost=never): no alwaysinline attribute (hotness:}}
     bar(argc);
   return sum;
 }