https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115278
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 #4 from Richard Biener <rguenth at gcc dot gnu.org> --- It's actually a latent issue, unrelated to bitfields? We elide the store via tree lhs = gimple_get_lhs (stmt); ao_ref write; ao_ref_init (&write, lhs); if (dse_classify_store (&write, stmt, false, NULL, NULL, latch_vdef) == DSE_STORE_DEAD) delete_dead_or_redundant_assignment (&gsi, "dead"); but that fails to guard against volatiles.