diff options
| author | Rusty Wagner <rusty@vector35.com> | 2018-09-05 14:39:46 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2018-09-05 14:39:46 -0400 |
| commit | f4d75c9229d2d76f36f80e97dd49c7aece242600 (patch) | |
| tree | 0390fc2b624149274c5c01b847d59698055a2974 /mediumlevelilinstruction.cpp | |
| parent | c02c863367ff88c1e562a1110e069bf2842798aa (diff) | |
| parent | e51031010b107089dd7b5b69039ac42b856a0769 (diff) | |
Merge branch 'test_stack_adjust' into dev
Diffstat (limited to 'mediumlevelilinstruction.cpp')
| -rw-r--r-- | mediumlevelilinstruction.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mediumlevelilinstruction.cpp b/mediumlevelilinstruction.cpp index 9cf82b08..93587c34 100644 --- a/mediumlevelilinstruction.cpp +++ b/mediumlevelilinstruction.cpp @@ -122,6 +122,7 @@ unordered_map<BNMediumLevelILOperation, vector<MediumLevelILOperandUsage>> {MLIL_ADDRESS_OF_FIELD, {SourceVariableMediumLevelOperandUsage, OffsetMediumLevelOperandUsage}}, {MLIL_JUMP, {DestExprMediumLevelOperandUsage}}, {MLIL_JUMP_TO, {DestExprMediumLevelOperandUsage, TargetListMediumLevelOperandUsage}}, + {MLIL_RET_HINT, {DestExprMediumLevelOperandUsage}}, {MLIL_CALL, {OutputVariablesMediumLevelOperandUsage, DestExprMediumLevelOperandUsage, ParameterExprsMediumLevelOperandUsage}}, {MLIL_CALL_UNTYPED, {OutputVariablesSubExprMediumLevelOperandUsage, DestExprMediumLevelOperandUsage, @@ -1322,6 +1323,7 @@ void MediumLevelILInstruction::VisitExprs(const std::function<bool(const MediumL case MLIL_BOOL_TO_INT: case MLIL_JUMP: case MLIL_JUMP_TO: + case MLIL_RET_HINT: case MLIL_IF: case MLIL_UNIMPL_MEM: case MLIL_LOAD: @@ -1591,6 +1593,7 @@ ExprId MediumLevelILInstruction::CopyTo(MediumLevelILFunction* dest, case MLIL_LOW_PART: case MLIL_BOOL_TO_INT: case MLIL_JUMP: + case MLIL_RET_HINT: case MLIL_UNIMPL_MEM: case MLIL_FSQRT: case MLIL_FNEG: @@ -2497,6 +2500,12 @@ ExprId MediumLevelILFunction::JumpTo(ExprId dest, const vector<BNMediumLevelILLa } +ExprId MediumLevelILFunction::ReturnHint(ExprId dest, const ILSourceLocation& loc) +{ + return AddExprWithLocation(MLIL_RET_HINT, loc, 0, dest); +} + + ExprId MediumLevelILFunction::Call(const vector<Variable>& output, ExprId dest, const vector<ExprId>& params, const ILSourceLocation& loc) { |
