Sebastian Pop wrote: > Sebastian Pop wrote: > > a fail I have not seen in the past: > > > > FAIL: gcc.c-torture/compile/pr27571.c -Os (internal compiler error) > > > > I am still investigating why this fails: as far as I can see for now this is > > because in copying the FSM path we create an internal loop that is then > > discovered by the loop verifier as a natural loop and is not yet in the > > existing > > loop sturctures. I will try to fix this in duplicate_seme by invalidating > > the > > loop structure after we code generated all the FSM paths. I will submit an > > updated patch when it passes regtest. > > We need at least this patch to fix the fail: > > @@ -2518,6 +2518,7 @@ thread_through_all_blocks (bool may_peel_loop_headers) > if (duplicate_seme_region (entry, exit, region, len - 1, NULL)) > > > { > /* We do not update dominance info. */ > free_dominance_info (CDI_DOMINATORS); > bitmap_set_bit (threaded_blocks, entry->src->index); > + retval = true; > } > > And this will trigger in the end of the code gen function: > > if (retval) > loops_state_set (LOOPS_NEED_FIXUP); > > That will fix the loop structures. I'm testing this patch on top of the one I > have just sent out.
This passed bootstrap and regression test on x86_64-linux.