pa.h (INSN_SETS_ARE_DELAYED): Delete.
authorJeffrey A Law <law@cygnus.com>
Sat, 18 Sep 1999 07:13:31 +0000 (07:13 +0000)
committerJeff Law <law@gcc.gnu.org>
Sat, 18 Sep 1999 07:13:31 +0000 (01:13 -0600)
        * pa.h (INSN_SETS_ARE_DELAYED): Delete.
        * pa.c (insn_refs_are_delayed): Renamed from
        insn_sets_and_refs_are_delayed.

From-SVN: r29491

gcc/ChangeLog
gcc/config/pa/pa.c
gcc/config/pa/pa.h

index 1f0d6e67bbb716ebed85798e0dfff5b0c254df47..c04276f889a3132dbbfd7845b391f4490d88126a 100644 (file)
@@ -1,3 +1,9 @@
+Sat Sep 18 01:07:21 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.h (INSN_SETS_ARE_DELAYED): Delete.
+       * pa.c (insn_refs_are_delayed): Renamed from
+       insn_sets_and_refs_are_delayed.
+
 Fri Sep 17 15:19:01 1999  Mark Mitchell  <mark@codesourcery.com>
 
        * functiion.h (struct function): Add x_whole_function_mode_p.
index 773c0c7bc0b7106001e25b316c4e3095db7afe83..28a220d0f15bf4f8988c7ee078e5d90da125fb60 100644 (file)
@@ -6510,7 +6510,7 @@ pa_can_combine_p (new, anchor, floater, reversed, dest, src1, src2)
   return 1;
 }
 
-/* Return nonzero if sets and references for INSN are delayed.
+/* Return nonzero if references for INSN are delayed.
 
    Millicode insns are actually function calls with some special
    constraints on arguments and register usage.
@@ -6528,7 +6528,7 @@ pa_can_combine_p (new, anchor, floater, reversed, dest, src1, src2)
    filter out things it will not accept -- SEQUENCE, USE and CLOBBER insns
    in particular.  */
 int
-insn_sets_and_refs_are_delayed (insn)
+insn_refs_are_delayed (insn)
      rtx insn;
 {
   return ((GET_CODE (insn) == INSN 
index 21f67280920cb47c34113cbe338de83775111316..4734057151a7d893f66cdb549d629a5f829d47de 100644 (file)
@@ -1850,17 +1850,20 @@ while (0)
    are expected to clobber their arguments, %r1, %r29, and %r31 and
    nothing else.
 
-   These macros tell reorg that the references to arguments and
-   register clobbers for millicode calls do not appear to happen
-   until after the millicode call.  This allows reorg to put insns
-   which set the argument registers into the delay slot of the millicode
-   call -- thus they act more like traditional CALL_INSNs.
+   This macro tells reorg that the references to arguments and
+   millicode calls do not appear to happen until after the millicode call.
+   This allows reorg to put insns which set the argument registers into the
+   delay slot of the millicode call -- thus they act more like traditional
+   CALL_INSNs.
+
+   Note we can not consider side effects of the insn to be delayed because
+   the branch and link insn will clobber the return pointer.  If we happened
+   to use the return pointer in the delay slot of the call, then we lose.
 
    get_attr_type will try to recognize the given insn, so make sure to
    filter out things it will not accept -- SEQUENCE, USE and CLOBBER insns
    in particular.  */
-#define INSN_SETS_ARE_DELAYED(X) (insn_sets_and_refs_are_delayed (X))
-#define INSN_REFERENCES_ARE_DELAYED(X) (insn_sets_and_refs_are_delayed (X))
+#define INSN_REFERENCES_ARE_DELAYED(X) (insn_refs_are_delayed (X))
 
 \f
 /* Control the assembler format that we output.  */