diff options
author | Chung-Lin Tang <cltang@codesourcery.com> | 2012-03-10 14:57:30 +0000 |
---|---|---|
committer | Chung-Lin Tang <cltang@gcc.gnu.org> | 2012-03-10 14:57:30 +0000 |
commit | 30823ba60cafe3c1236e5ee89621f17e6dbae181 (patch) | |
tree | 69336bab4f85cb0fcbbc444fc2c6c1c57de424ff /gcc/combine.c | |
parent | f8627856b408f330258e404cb19c2fa48ae28176 (diff) | |
download | gcc-30823ba60cafe3c1236e5ee89621f17e6dbae181.zip gcc-30823ba60cafe3c1236e5ee89621f17e6dbae181.tar.gz gcc-30823ba60cafe3c1236e5ee89621f17e6dbae181.tar.bz2 |
re PR rtl-optimization/52528 (combine bug (powerpc testcase))
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().
From-SVN: r185175
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index d06de040..ab825e4 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); |