[backport from gcc-4.8/trunk r185175 ] gcc/ 2012-03-10 Chung-Lin Tang PR rtl-optimization/52528 * combine.c (can_combine_p): Add setting of subst_low_luid before call to expand_field_assignment(). --- gcc-4.7-20120225/gcc/combine.c.~1~ 2012-02-07 16:48:52.000000000 +0100 +++ gcc-4.7-20120225/gcc/combine.c 2012-03-11 12:56:45.000000000 +0100 @@ -1822,6 +1822,10 @@ can_combine_p (rtx insn, rtx i3, rtx pre 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);