Just to mention that I am a bit confused because I actually don't expect to have problems moving
ICI to the mainline unless we find some big bugs that can change GCC behavior (but I really don't
think so).
We had many online and offline discussions to move ICI to the mainline GCC in the last few years
with GCC
colleagues/maintainers. We just sadly got delayed at INRIA this summer due to different reasons but
Joern
is now working with us for 2 months fully time to clean and test ICI and submit patches as soon as
they are ready.
It's true that we actually need a few hooks and Joern will communicate about that shortly BUT these
hooks are
already used in real plugins for real performance tuning (in a way as current hooks are used in
Dehydra
for real program analysis in several companies).
And I don't expect problems in adding hooks that ICI needs. I expect
that ICI is a reason to improve GCCs pass manager - and I expect that
we will improve GCCs pass manager not by simply adding hooks to it
to "fix" it from inside plugins, but I expect that we'll get a more powerful
pass manager _inside_ GCC. I also expect or at least hope that more
parts of the compilation process get driven by the pass manager rather
than by ad-hoc code gluing several phases of pass manager driven
stages.