OSDN Git Service

PR debug/41276
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 8 Sep 2009 17:44:10 +0000 (17:44 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 8 Sep 2009 17:44:10 +0000 (17:44 +0000)
PR debug/41307
* cselib.c (cselib_expand_value_rtx_1): Don't return copy of
invalid subreg.

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

gcc/ChangeLog
gcc/cselib.c

index af8b9ef..5bee13c 100644 (file)
@@ -1,5 +1,12 @@
 2009-09-08  Alexandre Oliva  <aoliva@redhat.com>
 
+       PR debug/41276
+       PR debug/41307
+       * cselib.c (cselib_expand_value_rtx_1): Don't return copy of
+       invalid subreg.
+
+2009-09-08  Alexandre Oliva  <aoliva@redhat.com>
+
        * configure: Rebuilt with modified libtool.m4.
 
 2009-09-08  Alexandre Oliva  <aoliva@redhat.com>
index 8d52c51..927f93c 100644 (file)
@@ -1165,12 +1165,12 @@ cselib_expand_value_rtx_1 (rtx orig, struct expand_value_data *evd,
        scopy = simplify_gen_subreg (GET_MODE (orig), subreg,
                                     GET_MODE (SUBREG_REG (orig)),
                                     SUBREG_BYTE (orig));
-       if (scopy == NULL
-           || (GET_CODE (scopy) == SUBREG
-               && !REG_P (SUBREG_REG (scopy))
-               && !MEM_P (SUBREG_REG (scopy))
-               && (REG_P (SUBREG_REG (orig))
-                   || MEM_P (SUBREG_REG (orig)))))
+       if ((scopy == NULL
+            || (GET_CODE (scopy) == SUBREG
+                && !REG_P (SUBREG_REG (scopy))
+                && !MEM_P (SUBREG_REG (scopy))))
+           && (REG_P (SUBREG_REG (orig))
+               || MEM_P (SUBREG_REG (orig))))
          return shallow_copy_rtx (orig);
        return scopy;
       }