Daniel Berlin wrote: ...
If i don't turn off scheduling entirely, this testcase now takes >10 minutes to compile (I gave up after that). With scheduling turned off, it takes 315 seconds, checking enabled. It looks like the scheduler is now trying to schedule some single region with 51,000 instructions in it. Everytime i broke into the debugger, it was busy in ready_sort re-doing qsort on the ready-list (which probably had a ton of instructions), over and over and over again. I imagine the 51k instructions comes from the recent scheduling changes. Maxim, can you please take the testcase Andrew attached earlier in the thread, and make it so the scheduler can deal with it in a reasonable amount of time again? It used to take <20 seconds.
I've checked the trunk and everything appears ok to me. Both the trunk and the trunk with my patches reverted compile the testcase in 5m30s (they were configured with CFLAGS=-g). My best guess where the >10 minutes came from is that you tried to compile the testcase with the compiler built with profile information - in this case the compilation will last for ~15 minutes.
-- Maxim