http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56210
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-05 10:04:53 UTC --- I have a fix for the points-to analysis, but the IPA reference bug is hard to fix as puts may recurse back into the current unit and it may use/clobber all global vars (of which key is one). So I fear no folding is possible here easily.