About branches that optimize to a NOP
Although the linker can replace branches with a
NOP, there might be some situations where you want to stop this happening.
By default, the linker replaces any branch with a relocation that resolves to the next
instruction with a
NOP instruction. This optimization can also be applied
if the linker reorders tail calling sections.
However, there are cases where you might want to disable the option, for example, when performing verification or pipeline flushes.
To control this optimization, use the
--no_branchnop command-line options.