From 719faff4b42d33b9e5deabd3858d12f6261e42ed Mon Sep 17 00:00:00 2001 From: law Date: Tue, 27 Jan 1998 22:02:13 +0000 Subject: [PATCH] * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add 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 | 5 +++++ gcc/config/m32r/m32r.md | 14 ++++++++------ gcc/config/mips/mips.md | 8 ++++++++ gcc/config/mn10200/mn10200.md | 16 ++++++++++++++++ gcc/config/mn10300/mn10300.md | 8 ++++++++ gcc/config/pyr/pyr.md | 8 +++----- 6 files changed, 48 insertions(+), 11 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 07b42ad..404bb0d 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 * fixincludes: Tweak fix for struct exception in math.h diff --git a/gcc/config/m32r/m32r.md b/gcc/config/m32r/m32r.md index 94427d3..fc1b4cc 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 f90d75b..948c733 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 90f7f80..47528ae 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 726418f..1747ebd 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 3c03bea..9aeab91 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; -- 2.7.4