On 07/21/2013 07:45 PM, pcha...@cs.wisc.edu wrote:
Hi,
The problem appears in revision 201034 in version 4.9. I attached a
one-line patch that fixes it. I also reported this problem
at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57790
I bootstrapped and ran the regression tests for this patch on x86_64-linux
and all tests pass.
In method "can_move_insns_across()" in df-problems.c, the loop on line
4038 should break immediately after "fail" is set to 1. All the iterations
after "fail" set to 1 do not perform any useful work, at best they just
set "fail" again to 1.
Thanks. I'll install shortly.
In the future if you could also include a ChangeLog entry it would be
appreciated. It's format is pretty simple. Here's the one I'll use for
this change:
2013-07-22 Chang <pcha...@cs.wisc.edu>
* df-problems.c (can_move_insns_across): Exit loop once we
find a non-fixed, non-global register.