From: Jeffrey A Law Date: Wed, 18 Apr 2001 03:39:19 +0000 (+0000) Subject: jump.c (mark_all_labels): Canonicalize the tail recursion label attached to CALL_PLAC... X-Git-Tag: prereleases/libstdc++-3.0.95~4875 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b9c81bcb53beda99725d20443095a0b84220e0f4;p=thirdparty%2Fgcc.git jump.c (mark_all_labels): Canonicalize the tail recursion label attached to CALL_PLACEHOLDER insns. * jump.c (mark_all_labels): Canonicalize the tail recursion label attached to CALL_PLACEHOLDER insns. From-SVN: r41400 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bf154e8fda7c..577a11d161d3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Apr 17 21:41:11 2001 Jeffrey A Law (law@cygnus.com) + + * jump.c (mark_all_labels): Canonicalize the tail recursion + label attached to CALL_PLACEHOLDER insns. + 2001-04-17 Kaveh R. Ghazi * output.h (dump_flow_info, free_basic_block_vars, diff --git a/gcc/jump.c b/gcc/jump.c index 779972252acd..242692143b18 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -843,6 +843,17 @@ mark_all_labels (f, cross_jump) mark_all_labels (XEXP (PATTERN (insn), 0), cross_jump); mark_all_labels (XEXP (PATTERN (insn), 1), cross_jump); mark_all_labels (XEXP (PATTERN (insn), 2), cross_jump); + + /* Canonicalize the tail recursion label attached to the + CALL_PLACEHOLDER insn. */ + if (XEXP (PATTERN (insn), 3)) + { + rtx label_ref = gen_rtx_LABEL_REF (VOIDmode, + XEXP (PATTERN (insn), 3)); + mark_jump_label (label_ref, insn, cross_jump, 0); + XEXP (PATTERN (insn), 3) = XEXP (label_ref, 0); + } + continue; }