https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64684
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-01-20 Ever confirmed|0 |1 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Setting value number of .MEM_7 to .MEM_7 (changed) Value numbering .MEM_8 stmt = fn2 (); Setting value number of .MEM_8 to .MEM_8 (changed) Value numbering _4 stmt = _4 = a; Setting value number of _4 to -1 (changed) Value numbering _5 stmt = _5 = _4 & 1; Match-and-simplified _4 & 1 to 1 RHS _4 & 1 simplified to 1 has constants 1 Setting value number of _5 to 1 (changed) so fn2 () is said to not clobber 'a'. Must be IPA references fault: all module statics: a Function name:fn2/3: static not read: all module statics static not written: all module statics Function name:fn1/0: static not read: all module statics static not written: all module statics that's wrong for both fn1 and fn2. WPA does Promotable global:a (uid=3959) Function name:fn2/3: locals read: locals written: Function name:fn1/0: locals read: locals written: And compile-time doesn't have .static-var dumps at all?! Ah, WPA stage is supposed to generate summaries? But doesn't input nodes?