OPTIMIZATIONS
Function
-OnP[=<option Char>{<option Char>}]
Use one of the following arguments for <option Char>:
a: Disable peephole combine AI(S|X) optimization
b: Disable peephole handle constant argument optimization
c: Disable peephole PSH/PUL instead AIS optimization
d: Disable peephole combine bit operations optimization
e: Disable peephole combine bit set/clr optimization
f: Disable peephole PSH PUL optimization
g: Disable peephole RTS RTS optimization
h: Disable peephole unused loads optimization
i: Disable peephole unused stores optimization
j: Disable peephole unused compares optimization
k: Disable peephole unnecessary tests optimization
l: Disable peephole unnecessary transfers optimization
m: Disable peephole JSR to JMP optimization
n: Disable peephole CMP #1 optimization
o: Disable peephole simple inline assembler optimizations
x: Disable peephole load immediate to HX [HCS08 only]
None
None
None
If -OnP is specified, the Compiler disables the whole peephole optimizer. To disable only a single peephole optimization, use the optional syntax -OnP=<char>. For example:
Suboption -OnP=m (Disable peephole JSR to JMP optimization)
The compiler replaces a JSR- RTS sequence with a single JMP instruction. This saves single-byte code and 2-byte stack spaces. To avoid this optimization, use the -onp=m option.
With -onp=m:
...
JSR Subroutine
RTS
Without -onp=m:
...
JMP Subroutine
-OnP=m
Disables the peephole optimization m