https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93315

            Bug ID: 93315
           Summary: ICE in jit testsuite since "Missed function
                    specialization + partial devirtualization" (v8)
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dmalcolm at gcc dot gnu.org
                CC: marxin at gcc dot gnu.org
  Target Milestone: ---

f1ba88b1b20cb579b3b7ce6ce65470205742be7e
"Missed function specialization + partial devirtualization" (v8)
broke most of the jit testsuite.

> @@ -169,7 +261,10 @@ ipa_profile_generate_summary (void)
>    basic_block bb;
>  
>    hash_table<histogram_hash> hashtable (10);
> -  
> +
> +  gcc_checking_assert (!call_sums);
> +  call_sums = new ipa_profile_call_summaries (symtab);
> +

Unfortunately, this assertion is failing for most of the testcases in
jit.dg, reducing the number of PASS results in jit.sum from 10473 down
to 3254 in my builds.

The jit code expects to be able to invoke the compiler code more than
once within the same process, purging all state.

It looks like this "call_sums" state needs deleting and resetting to
NULL after the compiler has run (or else we'll likely get an ICE due to
using old symtab/call summaries in subsequent in-process runs of the
compiler).

Candidate patch:
  https://gcc.gnu.org/ml/gcc-patches/2020-01/msg00807.html

Reply via email to