diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 1997-01-29 20:25:29 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 1997-01-29 20:25:29 +0000 |
commit | 538fe8cddb437db19ca4bd0b833084e701ef71e1 (patch) | |
tree | 634937eb8340075f71bb99f73e363051caeb9524 /gcc | |
parent | a2ec2fadc59a2a51fd87c7276f0399ed09a9c4a0 (diff) | |
download | gcc-538fe8cddb437db19ca4bd0b833084e701ef71e1.zip gcc-538fe8cddb437db19ca4bd0b833084e701ef71e1.tar.gz gcc-538fe8cddb437db19ca4bd0b833084e701ef71e1.tar.bz2 |
Add a case where reg_n_refs is cleared
From-SVN: r13561
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/combine.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index be5843b..a0f15b3 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -2355,7 +2355,9 @@ try_combine (i3, i2, i1) /* If the reg formerly set in I2 died only once and that was in I3, zero its use count so it won't make `reload' do any work. */ - if (! added_sets_2 && newi2pat == 0 && ! i2dest_in_i2src) + if (! added_sets_2 + && (newi2pat == 0 || ! reg_mentioned_p (i2dest, newi2pat)) + && ! i2dest_in_i2src) { regno = REGNO (i2dest); reg_n_sets[regno]--; |