This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/78047] [7 Regression] Chromium apparently gets miscompiled


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78047

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Markus Trippelsdorf from comment #5)
>   <bb 10>:                                                                  
> 
>   MEM[(struct  &)&builder] ={v} {CLOBBER};                                  
> 
>   _53 = MEM[(struct SkAutoSTMalloc *)&gQuadIndexBufferKey_storage +
> 8B].fPtr;                                                                   
> 
>   if (_53 != &MEM[(struct SkAutoSTMalloc *)&gQuadIndexBufferKey_storage +
> 8B].D.47025.fTStorage)                                                      

So X.fPtr != &X.D.47025.fTStorage.  This probably means a latent wrong-code
PTA bug.


  <bb 8>:
  MEM[(struct  &)&gQuadIndexBufferKey_storage + 8] ={v} {CLOBBER};
  MEM[(struct  &)&gQuadIndexBufferKey_storage + 8] ={v} {CLOBBER};
  MEM[(struct  &)&gQuadIndexBufferKey_storage + 8] ={v} {CLOBBER};
  MEM[(struct SkAutoSTMalloc *)&gQuadIndexBufferKey_storage + 8B].fPtr =
&MEM[(void *)&gQuadIndexBufferKey_storage + 16B];
  MEM[(unsigned int &)&gQuadIndexBufferKey_storage + 16] = 0;
  MEM[(unsigned int &)&gQuadIndexBufferKey_storage + 20] = 0;
  MEM[(struct  &)&gQuadIndexBufferKey_storage + 48] ={v} {CLOBBER};
  MEM[(struct sk_sp *)&gQuadIndexBufferKey_storage + 48B].fPtr = 0B;
  # USE = nonlocal null { D.124671 D.124724 D.124797 D.124805 } (nonlocal,
escaped)
  # CLB = nonlocal null { D.124671 D.124724 D.124797 D.124805 } (nonlocal,
escaped)
  _49 = GrUniqueKey::GenerateDomain ();

  <bb 9>:
  MEM[(struct  &)&builder] ={v} {CLOBBER};
  MEM[(struct Builder *)&builder].fKey = &MEM[(void
*)&gQuadIndexBufferKey_storage + 8B];
  # PT = null
  _53 = MEM[(struct SkAutoSTMalloc *)&gQuadIndexBufferKey_storage + 8B].fPtr;
  # PT = null { D.124724 } (nonlocal, escaped)
  _54 = &MEM[(struct SkAutoSTMalloc *)&gQuadIndexBufferKey_storage +
8B].D.47035.fTStorage;
  if (_53 != &MEM[(struct SkAutoSTMalloc *)&gQuadIndexBufferKey_storage +
8B].D.47035.fTStorage)

...

we fail to add a constraint for _53 = ... at all.  We add:

_49 = NONLOCAL
builder =
&_ZZN18GrResourceProviderC4EP5GrGpuP15GrResourceCacheP13GrSingleOwnerE27gQuadIndexBufferKey_storage
_54 =
&_ZZN18GrResourceProviderC4EP5GrGpuP15GrResourceCacheP13GrSingleOwnerE27gQuadIndexBufferKey_storage
ESCAPED = _53
ESCAPED =
&_ZZN18GrResourceProviderC4EP5GrGpuP15GrResourceCacheP13GrSingleOwnerE27gQuadIndexBufferKey_storage

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]