summaryrefslogtreecommitdiff
path: root/highlevelilinstruction.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'highlevelilinstruction.cpp')
-rw-r--r--highlevelilinstruction.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/highlevelilinstruction.cpp b/highlevelilinstruction.cpp
index c27e1251..7f764009 100644
--- a/highlevelilinstruction.cpp
+++ b/highlevelilinstruction.cpp
@@ -2480,6 +2480,25 @@ size_t HighLevelILInstruction::GetDestMemoryVersion() const
}
+bool HighLevelILInstruction::CanCollapse(int operation)
+{
+ switch (operation)
+ {
+ case HLIL_IF:
+ case HLIL_WHILE:
+ case HLIL_WHILE_SSA:
+ case HLIL_DO_WHILE:
+ case HLIL_DO_WHILE_SSA:
+ case HLIL_FOR:
+ case HLIL_FOR_SSA:
+ case HLIL_SWITCH:
+ case HLIL_CASE:
+ return true;
+ default:
+ return false;
+ }
+}
+
ExprId HighLevelILFunction::Nop(const ILSourceLocation& loc)
{
return AddExprWithLocation(HLIL_NOP, loc, 0);