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
> ...