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

--- Comment #7 from Pat Haugen <pthaugen at gcc dot gnu.org> ---
(In reply to Martin Liška from comment #6)
> 
> There's patch I've been testing:
> 
> diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
> index d1238a4..7456fec 100644
> --- a/gcc/ipa-icf.c
> +++ b/gcc/ipa-icf.c
> @@ -869,6 +869,12 @@ sem_function::compare_phi_node (basic_block bb1, 
> basic_block bb2)
>         phi1 = gsi_stmt (si1);
>         phi2 = gsi_stmt (si2);
> 
> +      tree phi_result1 = gimple_phi_result (phi1);
> +      tree phi_result2 = gimple_phi_result (phi2);
> +
> +      if (!m_checker->compare_operand (phi_result1, phi_result2))
> +     return return_false_with_msg ("PHI results are different");
> +
>         size1 = gimple_phi_num_args (phi1);
>         size2 = gimple_phi_num_args (phi2);

I noticed you committed this as r216662 so gave it a try. 254.gap passes now
but 447.dealII still segfaults and has the same code as described in Comment 4.

Reply via email to