https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101750
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2021-08-03 CC| |tnfchris at gcc dot gnu.org Priority|P3 |P1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- On x86_64 the testcase is optimized to the following now: int main () { float d$b; float l$c; float l$b; float k$c; float k$b; <bb 2> [local count: 1073741824]: k$b_4 ={v} MEM[(const struct a &)0B].b; __builtin_trap (); } not sure how we conclude that 'n' is not written to anywhere. The issue persists even when I rename 'main' to 'foo' (when it's 'main' we could indeed conclude so).