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