------- Comment #2 from matz at gcc dot gnu dot org 2009-04-01 11:45 ------- The old stack slot sharing problem. stack slot sharing really wants to look at scopes to determine if stack variables can share the same space or not (stack variables, not registers, those are all top-level). But sometimes tree transformations do fiddle also with stack variables (loads/stores) and hence can move references to variables outside of their block tree.
The block tree either needs to be fixed up, or the stack slot sharing needs to look at other information than block scopes to determine lifeness bounds. Both of these things are probably best done in cfgexpand, and as I'm working on expanding from SSA form I might try to do something here (though the variables in question are exactly those which are _not_ in SSA form). -- matz at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matz at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39604