OSDN Git Service

PR bootstrap/43767
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Apr 2010 21:43:36 +0000 (21:43 +0000)
committerMasaki Muranaka <monaka@monami-software.com>
Sun, 23 May 2010 01:04:25 +0000 (10:04 +0900)
* alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158450 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/alias.c

index 66f0a9e..cda1509 100644 (file)
@@ -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.
 2010-04-16  Doug Kwan  <dougkwan@google.com>
 
        * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
index 6ec51ec..a1e12fb 100644 (file)
@@ -1792,10 +1792,11 @@ memrefs_conflict_p (int xsize, rtx x, int ysize, rtx y, HOST_WIDE_INT c)
     {
       if (REG_P (y))
        {
     {
       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
          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))
        {
     {
       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
          if (l)
            y = x;
          else