On 13-04-19 4:55 PM, Steven Bosscher wrote:
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?


Thanks for pointing this out, Steven. I've changed it and committed it as rev. 198102.


Reply via email to