mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-30 14:55:37 +08:00
cfgcleanup.c (insns_match_p): Do not do EQUIV substitution after reload.
* cfgcleanup.c (insns_match_p): Do not do EQUIV substitution after reload. From-SVN: r64738
This commit is contained in:
parent
de32716c0d
commit
3ce6bef0f9
@ -1,3 +1,8 @@
|
||||
2003-03-22 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
|
||||
after reload.
|
||||
|
||||
2003-03-22 DJ Delorie <dj at redhat dot com>,
|
||||
Bruce Korb <bkorb at gnu dot org>
|
||||
|
||||
|
@ -967,7 +967,15 @@ insns_match_p (mode, i1, i2)
|
||||
#endif
|
||||
|
||||
if (reload_completed
|
||||
? ! rtx_renumbered_equal_p (p1, p2) : ! rtx_equal_p (p1, p2))
|
||||
? rtx_renumbered_equal_p (p1, p2) : rtx_equal_p (p1, p2))
|
||||
return true;
|
||||
|
||||
/* Do not do EQUIV substitution after reload. First, we're undoing the
|
||||
work of reload_cse. Second, we may be undoing the work of the post-
|
||||
reload splitting pass. */
|
||||
/* ??? Possibly add a new phase switch variable that can be used by
|
||||
targets to disallow the troublesome insns after splitting. */
|
||||
if (!reload_completed)
|
||||
{
|
||||
/* The following code helps take care of G++ cleanups. */
|
||||
rtx equiv1 = find_reg_equal_equiv_note (i1);
|
||||
@ -994,11 +1002,9 @@ insns_match_p (mode, i1, i2)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Look through the insns at the end of BB1 and BB2 and find the longest
|
||||
|
Loading…
Reference in New Issue
Block a user