* m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Jan 1998 22:02:13 +0000 (22:02 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Jan 1998 22:02:13 +0000 (22:02 +0000)
        some comments regarding use of dead_or_set_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17514 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/m32r/m32r.md
gcc/config/mips/mips.md
gcc/config/mn10200/mn10200.md
gcc/config/mn10300/mn10300.md
gcc/config/pyr/pyr.md

index 07b42ad..404bb0d 100644 (file)
@@ -1,3 +1,8 @@
+Tue Jan 27 23:01:55 1998  Mike Stump  (mrs@wrs.com)
+
+       * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
+       some comments regarding use of dead_or_set_p.
+
 Tue Jan 27 22:14:48 1998  Todd Vierling <tv@pobox.com>
 
        * fixincludes: Tweak fix for struct exception in math.h
index 94427d3..fc1b4cc 100644 (file)
@@ -1,4 +1,4 @@
-;; Machine description of the M32R/D cpu for GNU C compiler
+;; Machine description of the Mitsubishi M32R cpu for GNU C compiler
 ;; Copyright (C) 1996, 1997 Free Software Foundation, Inc.
 
 ;; This file is part of GNU CC.
 
 (define_insn "*movsi_insn"
   [(set (match_operand:SI 0 "move_dest_operand" "=r,r,r,r,r,r,r,m")
-;; FIXME: Do we need a const_double constraint here for large unsigned values?
+;; ??? Do we need a const_double constraint here for large unsigned values?
        (match_operand:SI 1 "move_src_operand" "r,I,J,MQ,L,N,m,r"))]
   "register_operand (operands[0], SImode) || register_operand (operands[1], SImode)"
   "@
   int shift;
 
   /* In all cases we will emit two instructions.  However we try to
-     use 2 byte instructions whereever possible.  We can assume the
+     use 2 byte instructions wherever possible.  We can assume the
      constant isn't loadable with any of ldi, ld24, or seth.  */
 
   /* See if we can load a 24 bit unsigned value and invert it.  */
 ;; [then seth + ld/st would work for any object in the area].  Doing this
 ;; would require special handling of _SDA_BASE_ (its value would be
 ;; (.sdata + 32K) & 0xffff0000) and reloc computations would be different
-;; [I think].  What to do about this is defered until later and for now we
+;; [I think].  What to do about this is deferred until later and for now we
 ;; require .sdata to be in the first 16M.
 
 (define_expand "movsi_sda"
    (set_attr "length" "4,*")])
 \f
 ;; Sign extension instructions.
-;; FIXME: See v850.md.
+;; ??? See v850.md.
 
 ;; These patterns originally accepted general_operands, however, slightly
 ;; better code is generated by only accepting register_operands, and then
 ;;
 ;; On the m32r it is more efficient to use the bxxz instructions and
 ;; thus merge the compare and branch into one instruction, so they are
-;; prefered.
+;; preferred.
 
 (define_expand "cmpsi"
   [(set (reg:CC 17)
   [(set (mem:SI (plus:SI (match_operand:SI 0 "register_operand" "r")
                         (const_int 4)))
         (match_operand:SI 1 "register_operand" "r"))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (insn, operands[0])"
   "st %1,@+%0"
   [(set_attr "type" "store")
index f90d75b..948c733 100644 (file)
@@ -9771,6 +9771,8 @@ move\\t%0,%z4\\n\\
   "TARGET_MIPS16
    && GET_CODE (operands[0]) == REG
    && REGNO (operands[0]) == 24
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
    && dead_or_set_p (insn, operands[0])
    && GET_CODE (operands[1]) == REG
    && M16_REG_P (REGNO (operands[1]))"
@@ -9796,6 +9798,8 @@ move\\t%0,%z4\\n\\
   "TARGET_MIPS16 && TARGET_64BIT
    && GET_CODE (operands[0]) == REG
    && REGNO (operands[0]) == 24
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
    && dead_or_set_p (insn, operands[0])
    && GET_CODE (operands[1]) == REG
    && M16_REG_P (REGNO (operands[1]))"
@@ -9827,6 +9831,8 @@ move\\t%0,%z4\\n\\
    && REGNO (operands[1]) == 24
    && GET_CODE (operands[0]) == REG
    && M16_REG_P (REGNO (operands[0]))
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
    && dead_or_set_p (insn, operands[0])"
   "*
 {
@@ -9852,6 +9858,8 @@ move\\t%0,%z4\\n\\
    && REGNO (operands[1]) == 24
    && GET_CODE (operands[0]) == REG
    && M16_REG_P (REGNO (operands[0]))
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
    && dead_or_set_p (insn, operands[0])"
   "*
 {
index 90f7f80..47528ae 100644 (file)
    (set (pc) (if_then_else (ge (cc0) (const_int 0))
                           (match_operand 1 "" "")
                           (pc)))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
   "add %0,%0\;bcc %1"
   [(set_attr "cc" "clobber")])
    (set (pc) (if_then_else (lt (cc0) (const_int 0))
                           (match_operand 1 "" "")
                           (pc)))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
   "add %0,%0\;bcs %1"
   [(set_attr "cc" "clobber")])
    (set (pc) (if_then_else (ge (cc0) (const_int 0))
                           (pc)
                           (match_operand 1 "" "")))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
   "add %0,%0\;bcs %1"
   [(set_attr "cc" "clobber")])
    (set (pc) (if_then_else (lt (cc0) (const_int 0))
                           (pc)
                           (match_operand 1 "" "")))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
   "add %0,%0\;bcc %1"
   [(set_attr "cc" "clobber")])
    (set (pc) (if_then_else (ge (cc0) (const_int 0))
                           (match_operand 1 "" "")
                           (pc)))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
   "add %0,%0\;bccx %1"
   [(set_attr "cc" "clobber")])
    (set (pc) (if_then_else (lt (cc0) (const_int 0))
                           (match_operand 1 "" "")
                           (pc)))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
   "add %0,%0\;bcsx %1"
   [(set_attr "cc" "clobber")])
    (set (pc) (if_then_else (ge (cc0) (const_int 0))
                           (pc)
                           (match_operand 1 "" "")))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
   "add %0,%0\;bcsx %1"
   [(set_attr "cc" "clobber")])
    (set (pc) (if_then_else (lt (cc0) (const_int 0))
                           (pc)
                           (match_operand 1 "" "")))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
   "add %0,%0\;bccx %1"
   [(set_attr "cc" "clobber")])
index 726418f..1747ebd 100644 (file)
    (set (pc) (if_then_else (ge (cc0) (const_int 0))
                           (match_operand 1 "" "")
                           (pc)))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
   "add %0,%0\;bcc %1"
   [(set_attr "cc" "clobber")])
    (set (pc) (if_then_else (lt (cc0) (const_int 0))
                           (match_operand 1 "" "")
                           (pc)))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
   "add %0,%0\;bcs %1"
   [(set_attr "cc" "clobber")])
    (set (pc) (if_then_else (ge (cc0) (const_int 0))
                           (pc)
                           (match_operand 1 "" "")))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
   "add %0,%0\;bcs %1"
   [(set_attr "cc" "clobber")])
    (set (pc) (if_then_else (lt (cc0) (const_int 0))
                           (pc)
                           (match_operand 1 "" "")))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (ins1, operands[0]) && REG_OK_FOR_INDEX_P (operands[0])"
   "add %0,%0\;bcc %1"
   [(set_attr "cc" "clobber")])
index 3c03bea..9aeab91 100644 (file)
@@ -1,5 +1,5 @@
 ;; GNU C machine description for Pyramid 90x, 9000, MIServer Series
-;; Copyright (C) 1989, 1990, 1995 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1990, 1995, 1997 Free Software Foundation, Inc.
 
 ;; This file is part of GNU CC.
 
   ""
   "*
 {
-  extern int optimize;
   if (optimize && REG_P (operands[0]) && REG_P (operands[1])
       && REGNO (operands[0]) == REGNO (operands[1])
       && already_sign_extended (insn, HImode, operands[0]))
   ""
   "*
 {
-  extern int optimize;
   if (optimize && REG_P (operands[0]) && REG_P (operands[1])
       && REGNO (operands[0]) == REGNO (operands[1])
       && already_sign_extended (insn, QImode, operands[0]))
   ""
   "*
 {
-  extern int optimize;
   if (optimize)
     switch (GET_CODE (operands[0]))
       {
   ""
   "*
 {
-  extern int optimize;
   if (optimize)
     switch (GET_CODE (operands[0]))
       {
        (sign_extend:SI (match_dup 1)))
    (set (cc0)
        (match_dup 2))]
+;; ??? This is WRONG, dead_or_set_p cannot be used after reload
+;; because the REG_DEAD notes are not maintained after reload.
   "dead_or_set_p (insn, operands[2])"
   "*
   cc_status.flags |= CC_NO_OVERFLOW;