This is the mail archive of the
mailing list for the GCC project.
- From: Roger Sayle <roger at eyesopen dot com>
- To: Joern Rennecke <joern dot rennecke at st dot com>, Kaz Kojima <kkojima at rr dot iij4u dot or dot jp>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sun, 26 Dec 2004 07:27:21 -0700 (MST)
- Subject: Re: Ping^2
Hi Joern and Kaz,
On Thu, 23 Dec 2004, Kaz Kojima wrote:
> Fix mode switching for functions returning values
> (Joern's patch to fix PR target/16482):
I think this patch would be (more) acceptable if the big change to
the function optimize_mode_switching in lcm.c was split up into one
or more subroutines. Perhaps a new function create_pre_exit or
similar? This new logic is truly ugly, but if you're sure that
its needed to correctly insert a new basic block immediately before
a return, then the best we can do is hide it in its own function,
rather than obfuscate optimize_mode_switching even more.
Many thanks in advance,
If any of GCC's CFG gurus can think of a cleaner way to do this,
please speak up. This patch fixes a 4.0 regression, and the new
complexity is preferable to leaving this patch unreviewed for
another month and/or the issue unresolved.