User defined callback to optimize individual microcode instructions. More...
|virtual int||func (mblock_t *blk, minsn_t *ins)=0|
|Optimize an instruction. More...|
User defined callback to optimize individual microcode instructions.
Member Function Documentation
Optimize an instruction.
blk current basic block. maybe NULL, which means that the instruction must be optimized without context ins instruction to optimize; it is always a top-level instruction. the callback may not delete the instruction but may convert it into nop (see mblock_t::make_nop). to optimize sub-instructions, visit them using minsn_visitor_t. sub-instructions may not be converted into nop but can be converted to "mov x,x". for example: add x,0,x => mov x,x
- number of changes made to the instruction. if after this call the instruction's use/def lists have changed, you must mark the block level lists as dirty (see mark_lists_dirty)