OSDN Git Service

Backport from mainline
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 May 2012 13:55:46 +0000 (13:55 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 May 2012 13:55:46 +0000 (13:55 +0000)
2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>

PR rtl-optimization/52528
* combine.c (can_combine_p): Add setting of subst_low_luid
before call to expand_field_assignment().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@187915 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/combine.c

index cbc1fdc..9656a04 100644 (file)
@@ -1,3 +1,12 @@
+2012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Backport from mainline
+       2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR rtl-optimization/52528
+       * combine.c (can_combine_p): Add setting of subst_low_luid
+       before call to expand_field_assignment().
+
 2012-05-26  Martin Jambor  <mjambor@suse.cz>
 
        Backport from mainline
index d06de04..ab825e4 100644 (file)
@@ -1822,6 +1822,10 @@ can_combine_p (rtx insn, rtx i3, rtx pred ATTRIBUTE_UNUSED,
   if (set == 0)
     return 0;
 
+  /* The simplification in expand_field_assignment may call back to
+     get_last_value, so set safe guard here.  */
+  subst_low_luid = DF_INSN_LUID (insn);
+
   set = expand_field_assignment (set);
   src = SET_SRC (set), dest = SET_DEST (set);