This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, PR 57790] Waste work in can_move_insns_across()


On 07/21/2013 07:45 PM, pchang9@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  <pchang9@cs.wisc.edu>

        * df-problems.c (can_move_insns_across): Exit loop once we
        find a non-fixed, non-global register.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]