https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78170
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED --- Comment #4 from ktkachov at gcc dot gnu.org --- (In reply to Richard Biener from comment #3) > Btw, I see at -Os: > > Starting new chain with statement: > c.f6 = -1; > The base object is: > c > Volatile access terminates all chains > Processing basic block <4>: > > <bb 3>: > e = *.LC0; > c = e; > c.f6 = -1; > e ={v} {CLOBBER}; > a.1_1 = a; > b = a.1_1; > > the e ={v} {CLOBBER}; isn't a "volatile" stmt. Clobbers only should > terminate > aliasing chains. Yes, that's what I'm seeing on aarch64. I'll look into implementing that once the bugs are squashed out