I have a basic question about optimization selection in GCC. There used to be some code in GCC (passes.c?) that would set various optimize pass flags depending on if the 'optimize' flag was > 0, > 1, or > 2; later I think there may have been a table. This code seems gone now and I can't figure out how GCC is selecting what optimization passes to run at what optimization levels (-O1 vs. -O2 vs. -O3). How is this handled in the top-of-tree GCC code?
I see passes.def but there doesn't seem to be anything in there to tie specific passes to specific optimization levels. Likewise in common.opt I see flags for various optimization passes but nothing to tie them to -O1 or -O2, etc. I'm probably missing something obvious, but a pointer would be much appreciated. Steve Ellcey