aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2012-01-06 20:20:55 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2012-01-06 20:20:55 +0000
commit7483eef82aecf04dc30cd9d835d1691f6073ebd6 (patch)
treedbacfa84bc8a815381320f10bb568c22a8257dd4 /gcc
parent09228fefca26ca21690426cf7fab537f93ccc6d0 (diff)
downloadgcc-7483eef82aecf04dc30cd9d835d1691f6073ebd6.zip
gcc-7483eef82aecf04dc30cd9d835d1691f6073ebd6.tar.gz
gcc-7483eef82aecf04dc30cd9d835d1691f6073ebd6.tar.bz2
re PR debug/51746 (Segfault in cselib_preserved_value_p)
PR debug/51746 * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too. From-SVN: r182963
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cselib.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0457656..2c65a6a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-01-06 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/51746
+ * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
+
2012-01-06 Arnaud Charlet <charlet@adacore.com>
* c-decl.c (ext_block): Moved up.
diff --git a/gcc/cselib.c b/gcc/cselib.c
index 9934abb..7db24ae 100644
--- a/gcc/cselib.c
+++ b/gcc/cselib.c
@@ -1020,6 +1020,10 @@ cselib_hash_rtx (rtx x, int create, enum machine_mode memmode)
switch (code)
{
+ case VALUE:
+ e = CSELIB_VAL_PTR (x);
+ return e->hash;
+
case MEM:
case REG:
e = cselib_lookup (x, GET_MODE (x), create, memmode);