|
Ghidra Decompiler Analysis Engine
|
Simplify various conditional move situations. 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 various conditional move situations.
The simplest situation is when the code looks like
which gets simplified to res = zext(boolcond) The other major variation looks like
which gets simplified to res = boolcond || differentcond
|
inlinevirtual |
|
virtual |
1.8.17