re PR rtl-optimization/45966 (Incorrect combiner transformation.)

PR rtl-optimization/45966
	* combine.c (try_combine): If added_sets_2, deal with the case
	where i0 feeds i1 and i1 feeds i2.

From-SVN: r165674
This commit is contained in:
Bernd Schmidt 2010-10-19 00:24:36 +00:00 committed by Bernd Schmidt
parent 91d2ae6856
commit 21016e43e2
2 changed files with 8 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2010-10-18 Bernd Schmidt <bernds@codesourcery.com>
PR rtl-optimization/45966
* combine.c (try_combine): If added_sets_2, deal with the case
where i0 feeds i1 and i1 feeds i2.
2010-10-18 Jan Hubicka <jh@suse.cz>
* ipa.c (cgraph_externally_visible_p): Handle externally visible and

View File

@ -3192,6 +3192,8 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx i0, int *new_direct_jump_p)
t = subst (t, i0dest, i0src, 0, 0);
if (i1_feeds_i2_n)
t = subst (t, i1dest, i1src, 0, 0);
if (i0_feeds_i1_n && i1_feeds_i2_n)
t = subst (t, i0dest, i0src, 0, 0);
XVECEXP (newpat, 0, --total_sets) = t;
}