summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2017-02-23 22:56:47 -0500
committerRusty Wagner <rusty@vector35.com>2017-02-23 22:56:47 -0500
commitba4bb6dbee0476d5c30d942ae978621af790d518 (patch)
tree854dc124db4895ff69bde99e630667c03ea8baf1 /binaryninjacore.h
parentdbe5606575f6b59b82eff2f9ab7b41990b57147e (diff)
Add APIs for definitions and uses of SSA variables
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index e95f2bf3..f7fb2172 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -2018,6 +2018,18 @@ extern "C"
BINARYNINJACOREAPI BNBasicBlock** BNGetLowLevelILBasicBlockList(BNLowLevelILFunction* func, size_t* count);
BINARYNINJACOREAPI BNLowLevelILFunction* BNGetLowLevelILSSAForm(BNLowLevelILFunction* func);
+ BINARYNINJACOREAPI BNLowLevelILFunction* BNGetLowLevelILNonSSAForm(BNLowLevelILFunction* func);
+ BINARYNINJACOREAPI size_t BNGetLowLevelILSSAInstructionIndex(BNLowLevelILFunction* func, size_t instr);
+ BINARYNINJACOREAPI size_t BNGetLowLevelILNonSSAInstructionIndex(BNLowLevelILFunction* func, size_t instr);
+
+ BINARYNINJACOREAPI size_t BNGetLowLevelILSSARegisterDefinition(BNLowLevelILFunction* func, uint32_t reg, size_t idx);
+ BINARYNINJACOREAPI size_t BNGetLowLevelILSSAFlagDefinition(BNLowLevelILFunction* func, uint32_t reg, size_t idx);
+ BINARYNINJACOREAPI size_t BNGetLowLevelILSSAMemoryDefinition(BNLowLevelILFunction* func, size_t idx);
+ BINARYNINJACOREAPI size_t* BNGetLowLevelILSSARegisterUses(BNLowLevelILFunction* func, uint32_t reg, size_t idx,
+ size_t* count);
+ BINARYNINJACOREAPI size_t* BNGetLowLevelILSSAFlagUses(BNLowLevelILFunction* func, uint32_t reg, size_t idx,
+ size_t* count);
+ BINARYNINJACOREAPI size_t* BNGetLowLevelILSSAMemoryUses(BNLowLevelILFunction* func, size_t idx, size_t* count);
// Types
BINARYNINJACOREAPI BNType* BNCreateVoidType(void);