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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |law at gcc dot gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Tom de Vries from comment #1)

> diff --git a/gcc/tree-ssa-threadbackward.c b/gcc/tree-ssa-threadbackward.c
> index 81dc05dc831..259ddc9c929 100644
> --- a/gcc/tree-ssa-threadbackward.c
> +++ b/gcc/tree-ssa-threadbackward.c
> @@ -261,6 +261,13 @@ thread_jumps::profitable_jump_thread_path (basic_block
> bbi, tree name,
>                gsi_next_nondebug (&gsi))
>             {
>               gimple *stmt = gsi_stmt (gsi);
> +             if (is_gimple_call (stmt)
> +                 && gimple_call_internal_p (stmt)
> +                 && gimple_call_internal_unique_p (stmt))

  gimple_call_internal_p (stmt, IFN_UNIQUE)

(not sure why we have this extra gimple_call_internal_unique_p predicate)

> +               {
> +                 m_path.pop ();
> +                 return NULL;
> +               }
>               /* Do not count empty statements and labels.  */
>               if (gimple_code (stmt) != GIMPLE_NOP
>                   && !(gimple_code (stmt) == GIMPLE_ASSIGN
> ...

Reply via email to