summaryrefslogtreecommitdiff
path: root/mediumlevelilinstruction.cpp
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2018-09-12 17:03:38 -0400
committerPeter LaFosse <peter@vector35.com>2018-09-12 17:03:38 -0400
commit74a8547853dd66fe62d2e75b93c1b723eb6f69cf (patch)
tree067119496c2beaf0636c955d27291d4620e17c0b /mediumlevelilinstruction.cpp
parent097a2e4c8849d4938d8a027985ce3816fd9785ed (diff)
parent59a2824b1ad36ea5d0520919e86ad779cd97cc8f (diff)
Merging with dev
Diffstat (limited to 'mediumlevelilinstruction.cpp')
-rw-r--r--mediumlevelilinstruction.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/mediumlevelilinstruction.cpp b/mediumlevelilinstruction.cpp
index c7627bd7..08472004 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,
@@ -1323,6 +1324,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:
@@ -1592,6 +1594,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:
@@ -2506,6 +2509,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)
{