summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/m32r/m32r.md14
-rw-r--r--gcc/config/mips/mips.md8
-rw-r--r--gcc/config/mn10200/mn10200.md16
-rw-r--r--gcc/config/mn10300/mn10300.md8
-rw-r--r--gcc/config/pyr/pyr.md8
6 files changed, 48 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 07b42ad7462..404bb0dd3e0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/m32r/m32r.md b/gcc/config/m32r/m32r.md
index 94427d38549..fc1b4cc9480 100644
--- a/gcc/config/m32r/m32r.md
+++ b/gcc/config/m32r/m32r.md
@@ -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.
@@ -191,7 +191,7 @@
(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)"
"@
@@ -221,7 +221,7 @@
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. */
@@ -265,7 +265,7 @@
;; [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"
@@ -584,7 +584,7 @@
(set_attr "length" "4,*")])
;; 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
@@ -901,7 +901,7 @@
;;
;; 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)
@@ -1463,6 +1463,8 @@
[(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")
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index f90d75b50fd..948c7334ebb 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -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])"
"*
{
diff --git a/gcc/config/mn10200/mn10200.md b/gcc/config/mn10200/mn10200.md
index 90f7f808753..47528aedb53 100644
--- a/gcc/config/mn10200/mn10200.md
+++ b/gcc/config/mn10200/mn10200.md
@@ -1888,6 +1888,8 @@
(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")])
@@ -1897,6 +1899,8 @@
(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")])
@@ -1906,6 +1910,8 @@
(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")])
@@ -1915,6 +1921,8 @@
(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")])
@@ -1924,6 +1932,8 @@
(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")])
@@ -1933,6 +1943,8 @@
(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")])
@@ -1942,6 +1954,8 @@
(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")])
@@ -1951,6 +1965,8 @@
(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")])
diff --git a/gcc/config/mn10300/mn10300.md b/gcc/config/mn10300/mn10300.md
index 726418fba68..1747ebdb412 100644
--- a/gcc/config/mn10300/mn10300.md
+++ b/gcc/config/mn10300/mn10300.md
@@ -1397,6 +1397,8 @@
(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")])
@@ -1406,6 +1408,8 @@
(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")])
@@ -1415,6 +1419,8 @@
(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")])
@@ -1424,6 +1430,8 @@
(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")])
diff --git a/gcc/config/pyr/pyr.md b/gcc/config/pyr/pyr.md
index 3c03beaec6f..9aeab91e169 100644
--- a/gcc/config/pyr/pyr.md
+++ b/gcc/config/pyr/pyr.md
@@ -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.
@@ -903,7 +903,6 @@
""
"*
{
- 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]))
@@ -920,7 +919,6 @@
""
"*
{
- 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]))
@@ -1029,7 +1027,6 @@
""
"*
{
- extern int optimize;
if (optimize)
switch (GET_CODE (operands[0]))
{
@@ -1056,7 +1053,6 @@
""
"*
{
- extern int optimize;
if (optimize)
switch (GET_CODE (operands[0]))
{
@@ -1228,6 +1224,8 @@
(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;
OpenPOWER on IntegriCloud