-Ono_inline
This option disables inlining of functions. Calls to inline functions are not expanded inline. You can use this option to help debug inline functions.
-Oinline
This option enables the compiler to inline functions. This is the default.
The compiler inlines functions when it is sensible to do so:
Automatically, for optimization level O2 unless the -Ono_autoinline option is specified.
When the function is qualified as an inline function, for example with the __inline keyword in C or the inline keyword in C++. This applies for all optimization levels. Functions qualified as inline functions are more likely to be inlined, but the qualifier is only a hint to the compiler. See Function keywords.
The compiler changes its criteria for inlining functions depending on whether you select -Ospace or -Otime. Selecting -Otime increases the number of functions that are inlined.
Note
Setting breakpoints in ROM images
When you set a breakpoint on an inline function, the ARM debuggers attempt to set a breakpoint on each inlined instance of that function. If you are using Multi-ICE or other hardware to debug an image in ROM, and the number of inline instances is greater than the number of available hardware breakpoints, the debugger cannot set the additional breakpoints and reports an error.
//From ARM Developer Suite/Compilers and Libraries Guide