A kind of low-level code optimisation that considers only a few adjacent machine code instructions at a time and looks for certain combinations which can be replaced with more efficient sequences. E.g.
ADD R0, #1 ADD R0, #1
(add one to register R0) could be replaced by
ADD R0, #2
as long as there were no jumps to the second instruction.