------- Comment #14 from rguenth at gcc dot gnu dot org 2009-05-10 10:00 ------- Another possible solution that was mentioned is to delay stack slot allocation until after scheduling (or possibly later code motion optimizations). Before that stack slots could be represented by their own pseudos (pointers to the base of the stack slots) and conflict analysis could be done on RTL based on life ranges of the memory pointed to by them. A complication is how to recover scope based lifetime rules if the stack slots escape to function calls (but I suggested to do these merging opportunities early on the tree level, during gimple lowering).
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39604