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