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? Ciao! Steven