Proxy of C++ optinsn_t class.  
|  | 
| "int" | func (self, "mblock_t" blk, "minsn_t" ins, "int" optflags) | 
|  | func(self, blk, ins, optflags) -> int Optimize an instruction. 
 | 
|  | 
| "void" | install (self) | 
|  | install(self) 
 | 
|  | 
| "bool" | remove (self) | 
|  | remove(self) -> bool 
 | 
|  | 
|  | __init__ (self) | 
|  | init(self) -> optinsn_t 
 | 
|  | 
|  | __disown__ (self) | 
|  | 
|  | 
|  | thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") | 
|  | 
◆ __init__()
◆ __disown__()
◆ func()
      
        
          | "int" func | ( |  | self, | 
        
          |  |  | "mblock_t" | blk, | 
        
          |  |  | "minsn_t" | ins, | 
        
          |  |  | "int" | optflags ) | 
      
 
- Parameters
- 
  
    | blk | (C++: mblock_t *) current basic block. maybe nullptr, which means that the instruction must be optimized without context |  | ins | (C++: minsn_t *) 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 this callback may change other instructions in the block, but should do this with care, e.g. to no break the propagation algorithm if called with OPTI_NO_LDXOPT. |  | optflags | (C++: int) combination of optimization flags bits |  
 
- Returns
- : 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) 
 
 
◆ install()
◆ remove()
◆ thisown
  
  | 
        
          | thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") |  | static | 
 
 
The documentation for this class was generated from the following file: