Ghidra Decompiler Analysis Engine
|
Simplify boolean expressions of the form zext(V) * -1. More...
Public Member Functions | |
virtual Rule * | clone (const ActionGroupList &grouplist) const |
Clone the Rule. More... | |
virtual void | getOpList (vector< uint4 > &oplist) const |
List of op codes this rule operates on. More... | |
virtual int4 | applyOp (PcodeOp *op, Funcdata &data) |
Attempt to apply this Rule. More... | |
Public Member Functions inherited from Rule | |
Rule (const string &g, uint4 fl, const string &nm) | |
Construct given group, properties name. More... | |
bool | checkActionBreak (void) |
Check if an action breakpoint is turned on. More... | |
virtual void | reset (Funcdata &data) |
Reset this Rule. More... | |
virtual void | resetStats (void) |
Reset Rule statistics. More... | |
virtual void | printStatistics (ostream &s) const |
Print statistics for this Rule. More... | |
Additional Inherited Members | |
Public Types inherited from Rule | |
enum | typeflags { type_disable = 1, rule_debug = 2, warnings_on = 4, warnings_given = 8 } |
Properties associated with a Rule. More... | |
Simplify boolean expressions of the form zext(V) * -1.
(zext(V) * -1) + 1 => zext( !V )
(zext(V) * -1) == -1 => V == true
(zext(V) * -1) != -1 => V != true
(zext(V) * -1) & (zext(W) * -1) => zext(V && W) * -1
(zext(V) * -1) | (zext(W) * -1) => zext(V || W) * -1
|
inlinevirtual |
|
virtual |