This is the mail archive of the
mailing list for the GCC project.
Re: [Patch, PR 57790] Waste work in can_move_insns_across()
- From: Jeff Law <law at redhat dot com>
- To: pchang9 at cs dot wisc dot edu
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 22 Jul 2013 07:46:31 -0600
- Subject: Re: [Patch, PR 57790] Waste work in can_move_insns_across()
- References: <1626b073286a8667e702196e26bbf42a dot squirrel at webmail dot cs dot wisc dot edu>
On 07/21/2013 07:45 PM, firstname.lastname@example.org wrote:
The problem appears in revision 201034 in version 4.9. I attached a
one-line patch that fixes it. I also reported this problem
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
2013-07-22 Chang <email@example.com>
* df-problems.c (can_move_insns_across): Exit loop once we
find a non-fixed, non-global register.