I don't see why a sort of -O0.5 variant that dikes out 80% of GCC's
optimization passes wouldn't be doable, or maybe even -Okernel that dikes
out just the ones the kernel hackers dislike. The passes mechanism should
be able to do that without especially much difficulty (modulo the existing
problem where some of them don't properly declare their dependencies on
earlier/later passes).
I think I have a project for this weekend... ;}