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?

Reply via email to