This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: *ping* [PATCH] fix optimization/13024
- From: Roger Sayle <roger at eyesopen dot com>
- To: Jeff Sturm <jsturm at one-point dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Michael Matz <matz at suse dot de>
- Date: Mon, 1 Dec 2003 07:06:06 -0700 (MST)
- Subject: Re: *ping* [PATCH] fix optimization/13024
On Sun, 30 Nov 2003, Jeff Sturm wrote:
> http://gcc.gnu.org/ml/gcc-patches/2003-11/msg01868.html
2003-11-23 Jeff Sturm <jsturm@one-point.com>
Fix PR optimization/13024.
* toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
parameter.
(rest_of_handle_old_regalloc): Likewise. Add rebuild_notes
declaration. Rebuild jump labels following local_alloc if necessary.
(rest_of_compilation): Remove rebuild_label_notes_after_reload
declaration. Don't pass rebuild_notes parameter to
rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
Don't rebuild jump labels.
This is OK. If you think its appropriate, it would also be nice to
add the Bug.java test case from PR opt/13024 into the libjava testsuite.
Many thanks.
> At -O2, update_equiv_regs determines that the indirect jump can become
> a direct jump, setting recorded_label_ref accordingly, so that
> rest_of_compilation will rebuild_jump_labels. (Interestingly, -fnew-ra
> does not have this problem and never attempts to convert indirect
> jumps.)
Michael, are there any plans to add functionality to the new register
allocator to convert indirect jumps into direct jumps? Just curious.
Roger
--