5.7.7.35 Pa Option
The -mpa
option enables Procedural Abstraction optimizationsfor Cortex®-M devices and the Thumb/2 instruction sets. This optimization
is available only for licensed compilers.
Procedural Abstraction finds common blocks of assembly code instructions and factors them out into a new callable procedures. It then replaces each instance of the block of instructions with a call to this new procedure. This is essentially a reverse inlining process.
Ensure that the same form of this option is specified at compile time for all modules. Additionally, the option must be specified at link time.
This option is useable when linking with response files and is compatible with link-time optimizations (-flto
).
Procedural abstraction can be disabled on a per-function basis by using the nopa
attribute when this option is in effect.
The -mno-pa
option disables procedural abstraction optimizations. This is the default action if no option is specified.