aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJ"orn Rennecke <joern.rennecke@st.com>2005-12-14 14:18:36 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2005-12-14 14:18:36 +0000
commit5216df748ac5f68468f06e4cfded3c42d6c3b7c9 (patch)
tree160185165e5f212b116813093fbd1a9b3aa13bd9 /gcc
parentee39680c060a370438e17105cbbe72fb26374d68 (diff)
downloadgcc-5216df748ac5f68468f06e4cfded3c42d6c3b7c9.zip
gcc-5216df748ac5f68468f06e4cfded3c42d6c3b7c9.tar.gz
gcc-5216df748ac5f68468f06e4cfded3c42d6c3b7c9.tar.bz2
struct-equiv.c (rtx_equiv_p): Allow arbitrary RVALUE values for PARALLELs with a mode.
* struct-equiv.c (rtx_equiv_p): Allow arbitrary RVALUE values for PARALLELs with a mode. From-SVN: r108511
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/struct-equiv.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2823079..1e65635 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-14 J"orn Rennecke <joern.rennecke@st.com>
+
+ * struct-equiv.c (rtx_equiv_p): Allow arbitrary RVALUE values for
+ PARALLELs with a mode.
+
2005-12-14 Sebastian Pop <pop@cri.ensmp.fr>
* cfgloopmanip.c (lv_adjust_loop_entry_edge): Adjust the type of
diff --git a/gcc/struct-equiv.c b/gcc/struct-equiv.c
index 3e6ba5d..fc563b6 100644
--- a/gcc/struct-equiv.c
+++ b/gcc/struct-equiv.c
@@ -637,7 +637,10 @@ rtx_equiv_p (rtx *xp, rtx y, int rvalue, struct equiv_info *info)
return (rtx_equiv_p (&XEXP (x, 0), XEXP (y, 0), 0, info)
&& rtx_equiv_p (&XEXP (x, 0), XEXP (y, 0), 1, info));
case PARALLEL:
- gcc_assert (rvalue < 0);
+ /* If this is a top-level PATTERN PARALLEL, we expect the caller to
+ have handled the SET_DESTs. A complex or vector PARALLEL can be
+ identified by having a mode. */
+ gcc_assert (rvalue < 0 || GET_MODE (x) != VOIDmode);
break;
case LABEL_REF:
/* Check special tablejump match case. */