https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68730
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 36980 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36980&action=edit gcc6-pr68730.patch Untested fix for the dominator issue. The problem is that the stv pass added by i386 after combiner computes CDI_DOMINATORS, but does not free them, and various passes in between the combiner and ira just assume dominators are not computed (e.g. pass_outof_cfg_layout). So the fix can be either to do what I wrote in the patch, or use something like: bool dom_calculated_here = !dom_info_available_p (CDI_DOMINATORS); if (dom_calculated_here) calculate_dominance_info (CDI_DOMINATORS); ... if (dom_calculated_here) free_dominance_info (CDI_DOMINATORS); in pass_stv::execute, or track down all the passes between combiner and ira that could break dominators and free_dominance_info (CDI_DOMINATORS) in them. Any preferences?