Hi Jan,

> this patch fixed ICE that was introduced by Richard Standiford's change to 
> reorder
> can and want_inline predicates to reduce amount of work done to verify 
> inlining limits.
> This bypasses check that the function is optimized that makes inliner to ICE 
> because
> function summary is missing.
>
> This patch breaks out the expensive limits checking from can predicate to new 
> one
> which makes code bit more convoluted but I hope to clean things up next 
> stage1.
[...]
>       * g++.dg/torture/pr81360.C: New testcase

the new testcase comes out UNRESOLVED everywhere:

pr81360.C   -O0   scan-ipa-dump icf "Equal symbols: 0"
+UNRESOLVED: g++.dg/torture/pr81360.C   -O1   scan-ipa-dump icf "Equal symbols: 
0"
+UNRESOLVED: g++.dg/torture/pr81360.C   -O2   scan-ipa-dump icf "Equal symbols: 
0"
+UNRESOLVED: g++.dg/torture/pr81360.C   -O2 -flto   scan-ipa-dump icf "Equal 
symbols: 0"
+UNRESOLVED: g++.dg/torture/pr81360.C   -O2 -flto -flto-partition=none   
scan-ipa-dump icf "Equal symbols: 0"
+UNRESOLVED: g++.dg/torture/pr81360.C   -O3 -g   scan-ipa-dump icf "Equal 
symbols: 0"
+UNRESOLVED: g++.dg/torture/pr81360.C   -Os   scan-ipa-dump icf "Equal symbols: 
0"

with

g++.dg/torture/pr81360.C   -O0  : dump file does not exist

in the log.  The following patch fixes that, tested with the appropriate
runtest invocation.

I guess this is obvious?

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


2018-01-30  Rainer Orth  <r...@cebitec.uni-bielefeld.de>

        * g++.dg/torture/pr81360.C: Add -fdump-ipa-icf to dg-options.

diff --git a/gcc/testsuite/g++.dg/torture/pr81360.C b/gcc/testsuite/g++.dg/torture/pr81360.C
--- a/gcc/testsuite/g++.dg/torture/pr81360.C
+++ b/gcc/testsuite/g++.dg/torture/pr81360.C
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fno-early-inlining"  } */
+/* { dg-options "-O2 -fno-early-inlining -fdump-ipa-icf"  } */
 
 template <int dim> class B;
 template <int, int dim> class TriaObjectAccessor;

Reply via email to