INLINE[n] becomes ONLY_INLINE_FROM[n]
NOINLINE[n] becomes ONLY_NOINLINE_BEFORE[n]
...
And I am not even sure if ONLY_INLINE_FROM has the connotation of
definite inlining to every reader...
ONLY_INLINE_FROM is problematic indeed, because it could just as well mean the same as MAY_INLINE_FROM.
I still think we should consider splitting up the original INLINE[n] pragma into two simpler pragmas (it currently does two things, whereas NOINLINE[n] does only one thing). Here' another suggestion (note that phases count down):