summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/combine.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 06d562bff02..b5e3b36ce76 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+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-03-09 Sandra Loosemore <sandra@codesourcery.com>
* doc/invoke.texi: Use correct names/markup for "GCC", "GDB", "ld",
diff --git a/gcc/combine.c b/gcc/combine.c
index d06de04041e..ab825e4ee98 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -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);