https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111523
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Sam James from comment #3) > manager_deserialize takes ~1s instead of ~0.2s I looked into manager-serialize.c and its code generation with and without -ftrivial-auto-var-init=zero and there is no obvious issues there. The only major thing I saw different was: MEM <unsigned long> [(void *)&__unique_prefix_i12] = 4294967294; vs __unique_prefix_i12.idx = 4294967294; where idx is of type unsigned. that is -2 aka _IDX_ITERATOR_FIRST. There is padding after the idx field so storing zero there is fine.