Vladimir,
I've run into problem with your patch for PR15832 on the testcase PR
rtl-optimization/28071. Bug2.c compiled with -O3 -fno-tree-pre
-fno-tree-fre it needs about 200MB extra memory for bitmaps because the
bitmap stack_regs ends up very dense and it is copied indo all the
pavins.  (I have couple of patches in queue to bring whole compilation
of testcase under 300MB so the 200MB is quite important fraction - more
than whole liveness info together).

I don't quite follow your reasoning in the mail explaining your patch -
if the uninitialized and initialized variables are both allocated to the
same stack register, after the postreload dataflow they end up looking
exactly same as partially initialized variable that needs to be handled
fluently by regstack anyway.  After commenting out all the ifdef
STAC_REGS code I still can compile the testcase mentioned in original
PR.

Perhaps you was just hitting bug in reg-stack concerning partially
initialized vars that was later fixed independently or am I missing
something?  (also the dataflow branch contains neccesary patches to make
reg-stack happy with the more precise liveness dataflow, but I don't
think they are neccesary as we build our conservative dataflow on the
hardregs anyway)

Thanks,
Honza

Reply via email to