diff options
author | Jeffrey A Law <law@cygnus.com> | 2001-04-18 03:39:19 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2001-04-17 21:39:19 -0600 |
commit | b9c81bcb53beda99725d20443095a0b84220e0f4 (patch) | |
tree | 4b7f52c935d74c0c9289157d32b74193a691ed97 /gcc/jump.c | |
parent | 2f4e671dfa34c623211bba2214b54cf2d663af11 (diff) | |
download | gcc-b9c81bcb53beda99725d20443095a0b84220e0f4.zip gcc-b9c81bcb53beda99725d20443095a0b84220e0f4.tar.gz gcc-b9c81bcb53beda99725d20443095a0b84220e0f4.tar.bz2 |
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
Diffstat (limited to 'gcc/jump.c')
-rw-r--r-- | gcc/jump.c | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -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; } |