summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/highlevelil.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/python/highlevelil.py b/python/highlevelil.py
index 881b3477..a71dc69c 100644
--- a/python/highlevelil.py
+++ b/python/highlevelil.py
@@ -2504,6 +2504,26 @@ class HighLevelILFunction:
var_data = ssa_var.var.to_BNVariable()
return core.BNIsHighLevelILSSAVarLive(self.handle, var_data, ssa_var.version)
+ def is_var_live_at(self, var: 'variable.Variable', instr: int) -> bool:
+ """
+ ``is_var_live_at`` determines if ``var`` is live at a given point in the function
+ """
+ var_data = core.BNVariable()
+ var_data.type = var.source_type
+ var_data.index = var.index
+ var_data.storage = var.storage
+ return core.BNIsHighLevelILVarLiveAt(self.handle, var_data, instr)
+
+ def is_ssa_var_live_at(self, ssa_var: 'mediumlevelil.SSAVariable', instr: int) -> bool:
+ """
+ ``is_ssa_var_live_at`` determines if ``ssa_var`` is live at a given point in the function; counts phi's as uses
+ """
+ var_data = core.BNVariable()
+ var_data.type = ssa_var.var.source_type
+ var_data.index = ssa_var.var.index
+ var_data.storage = ssa_var.var.storage
+ return core.BNIsHighLevelILSSAVarLiveAt(self.handle, var_data, ssa_var.version, instr)
+
def get_var_definitions(self, var:'variable.Variable') -> List[HighLevelILInstruction]:
count = ctypes.c_ulonglong()
var_data = var.to_BNVariable()