jump.c (mark_all_labels): Canonicalize the tail recursion label attached to CALL_PLAC...
authorJeffrey A Law <law@cygnus.com>
Wed, 18 Apr 2001 03:39:19 +0000 (03:39 +0000)
committerJeff Law <law@gcc.gnu.org>
Wed, 18 Apr 2001 03:39:19 +0000 (21:39 -0600)
        * jump.c (mark_all_labels): Canonicalize the tail recursion
        label attached to CALL_PLACEHOLDER insns.

From-SVN: r41400

gcc/ChangeLog
gcc/jump.c

index bf154e8fda7cb5e4c4efdd6d39cb24dc34783828..577a11d161d3f9f771fee918254a2a3dafb09f2a 100644 (file)
@@ -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  <ghazi@caip.rutgers.edu>
 
        * output.h (dump_flow_info, free_basic_block_vars,
index 779972252acde17d26b5ec682c2aa9dac7f3823f..242692143b18ddb643db439dbd9842276b515728 100644 (file)
@@ -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;
          }