[Bug rtl-optimization/96015] [10/11 Regression] gcc-10.1.0 miscompiles Python on hppa
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jul 3 09:23:42 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96015
--- Comment #30 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Not clear what the right fix is... The hot spot in relax_delay_slots:
/* If this is a jump insn, see if it now jumps to a jump, jumps to
the next insn, or jumps to a label that is not the last of a
group of consecutive labels. */
if (is_a <rtx_jump_insn *> (insn)
&& (condjump_p (insn) || condjump_in_parallel_p (insn))
&& !ANY_RETURN_P (target_label = JUMP_LABEL (insn)))
{
rtx_jump_insn *jump_insn = as_a <rtx_jump_insn *> (insn);
target_label
= skip_consecutive_labels (follow_jumps (target_label, jump_insn,
&crossing));
if (ANY_RETURN_P (target_label))
target_label = find_end_label (target_label);
if (target_label
&& next_active_insn (as_a<rtx_insn *> (target_label)) == next
&& ! condjump_in_parallel_p (jump_insn)
&& ! (next && switch_text_sections_between_p (jump_insn, next)))
{
delete_jump (jump_insn);
continue;
}
IIRC Jeff already dealt with this kind of issues in the past, so maybe he knows
what the best way out would be?
More information about the Gcc-bugs
mailing list