https://gcc.gnu.org/bugzilla/show_bug.cgi?id=21111
--- Comment #18 from Alexander Monakov <amonakov at gcc dot gnu.org> --- >From my perspective, the main blocker for a nice and clean solution is lack of "birth" statements on GIMPLE. Without them, expansion to RTL would either need to insert initialization at the top of the function (which is silly, extends lifetimes of pseudos that only live in a small region, complicating RA), or compute something like a lowest common dominator of all uses and place an initialization there. But perhaps that's the right way if "birth statements" aren't happening? Or is there some other approach? Like not trying to insert a single initialization, but instead substituting a zero in place of each use of the default def individually?