summaryrefslogtreecommitdiff
path: root/python/function.py
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2020-12-16 21:45:31 -0500
committerRusty Wagner <rusty.wagner@gmail.com>2020-12-18 00:16:20 -0500
commitd8030b6c75f638b92c1908d8b427299c2d0abe92 (patch)
tree35b663e0eb031dbdb4f7018e4e0bee7cef42ec70 /python/function.py
parent70ce5764abacc1a7ea518f5ccef92421a1d6d04e (diff)
Add API/UI to control dead store elimination of specific variables
Diffstat (limited to 'python/function.py')
-rw-r--r--python/function.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/python/function.py b/python/function.py
index e98f7191..d986fcca 100644
--- a/python/function.py
+++ b/python/function.py
@@ -35,7 +35,7 @@ from binaryninja import types
from binaryninja.enums import (AnalysisSkipReason, FunctionGraphType, BranchType, SymbolType, InstructionTextTokenType,
HighlightStandardColor, HighlightColorStyle, RegisterValueType, ImplicitRegisterExtend,
DisassemblyOption, IntegerDisplayType, InstructionTextTokenContext, VariableSourceType,
- FunctionAnalysisSkipOverride, MediumLevelILOperation)
+ FunctionAnalysisSkipOverride, MediumLevelILOperation, DeadStoreElimination)
# 2-3 compatibility
from binaryninja import range
@@ -926,6 +926,16 @@ class Variable(object):
v.storage = self._storage
return v
+ @property
+ def dead_store_elimination(self):
+ if self._function is not None and self._identifier is not None:
+ return DeadStoreElimination(core.BNGetFunctionVariableDeadStoreElimination(self._function.handle, self.to_BNVariable()))
+ return None
+
+ @dead_store_elimination.setter
+ def dead_store_elimination(self, value):
+ core.BNSetFunctionVariableDeadStoreElimination(self._function.handle, self.to_BNVariable(), value)
+
@classmethod
def from_identifier(self, func, identifier, name=None, var_type=None):
var = core.BNFromVariableIdentifier(identifier)