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