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] Fix code quality regression on UltraSPARC


On Mon, 29 Nov 2004, Eric Botcazou wrote:
> 2004-11-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
>
> 	PR tree-optimization/18707
> 	* cfgloopmanip.c (create_preheader): Make sure the preheader
> 	is not inserted in the middle of consecutive predecessors.

Thanks to the wonders of IRC peer pressure, I decided to read-up
on cfgloopmanip.c and review your patch.  The good news is that I
think your patch is OK for mainline, the bad news is that your
patch no long applies cleanly following Kazu's recent clean-ups to
create_preheader :<

Could you revise you patch against current mainline sources and
resubmit it after benchmarking and regression testing?  Hopefully,
I should be able to approve it almost straight away.

I also think it should be relatively simple to improve upon your
preheader placement heuristics.  The ideal block to place the
newly created preheader after is a predecessor that falls through
to the loop header.  You should be able to detect this by checking
e->flags & EDGE_FALLTHRU, at which point you can break out of
your search for best_pred.  What do you think?

Roger
--


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