Just to let you know (again) that we are also very interested in this (Dave replied to this thread some time ago). We can also help with numbers and testing, we perhaps have some interesting combinations to test (which is what we have to do anyway, sooner or later).
Actually in LTO, as far as I know, we already honor function attributes from different module when mixing O0, O1/O2/O3, Os, and Oz. Function compiled with O0 would get an attribute that get them to not be optimized.
Having the outliner not honor the function attributes would be a departure from the usual behavior, I believe.