From 24f8d71e41a1d5bcb717356dabeffadb10a75b6f Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Fri, 16 Apr 2010 23:43:36 +0200
Subject: [PATCH] re PR bootstrap/43767 (Revision 158401 failed to bootstrap)

	PR bootstrap/43767
	* alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.

From-SVN: r158450
---
 gcc/ChangeLog |  5 +++++
 gcc/alias.c   | 18 ++++++++++--------
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 66f0a9ed5dc8..cda150959898 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/43767
+	* alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
+
 2010-04-16  Doug Kwan  <dougkwan@google.com>
 
 	* tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
diff --git a/gcc/alias.c b/gcc/alias.c
index 6ec51ec2967b..a1e12fba44eb 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -1792,10 +1792,11 @@ memrefs_conflict_p (int xsize, rtx x, int ysize, rtx y, HOST_WIDE_INT c)
     {
       if (REG_P (y))
 	{
-	  struct elt_loc_list *l;
-	  for (l = CSELIB_VAL_PTR (x)->locs; l; l = l->next)
-	    if (REG_P (l->loc) && rtx_equal_for_memref_p (l->loc, y))
-	      break;
+	  struct elt_loc_list *l = NULL;
+	  if (CSELIB_VAL_PTR (x))
+	    for (l = CSELIB_VAL_PTR (x)->locs; l; l = l->next)
+	      if (REG_P (l->loc) && rtx_equal_for_memref_p (l->loc, y))
+		break;
 	  if (l)
 	    x = y;
 	  else
@@ -1809,10 +1810,11 @@ memrefs_conflict_p (int xsize, rtx x, int ysize, rtx y, HOST_WIDE_INT c)
     {
       if (REG_P (x))
 	{
-	  struct elt_loc_list *l;
-	  for (l = CSELIB_VAL_PTR (y)->locs; l; l = l->next)
-	    if (REG_P (l->loc) && rtx_equal_for_memref_p (l->loc, x))
-	      break;
+	  struct elt_loc_list *l = NULL;
+	  if (CSELIB_VAL_PTR (y))
+	    for (l = CSELIB_VAL_PTR (y)->locs; l; l = l->next)
+	      if (REG_P (l->loc) && rtx_equal_for_memref_p (l->loc, x))
+		break;
 	  if (l)
 	    y = x;
 	  else
-- 
GitLab