This is the mail archive of the
mailing list for the GCC project.
Re: patch to fix PR56999
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: Vladimir Makarov <vmakarov at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 19 Apr 2013 22:55:58 +0200
- Subject: Re: patch to fix PR56999
- References: <5170C0E9 dot 4040605 at redhat dot com>
On Fri, Apr 19, 2013 at 5:58 AM, Vladimir Makarov wrote:
> The problem was in complicated interactions of coalescing and
> doing/undoing inheritance and assignment sub-passes through several
> iterations. One solution would be in modifying coalescing in order to take
> future actions in undoing inheritance. Another solution is to move coalesce
> pass after doing/undoing inheritance sub-passes. The first solution
> complicates code and make passes more dependable although potentially
> decreasing # passes of creating live ranges. The second solution makes
> coalescing pass simpler and less dependable. After some experiments I've
> chosen the 2nd solution as it makes code more maintainable and less
> error-prone. On my tests I found that in 32-bit mode it runs 10% more
> live-range passes (that is about 1/5th of LRA run time), in 64-bit mode the
> # passes are the same. I check cpu and real time on 500K lines fortran code
> and did not find any visible increase in compilation time.
Does the flow chart at the top of lra.c also need updating for this?