summaryrefslogtreecommitdiff
path: root/binaryninjaapi.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 /binaryninjaapi.h
parentdbe5606575f6b59b82eff2f9ab7b41990b57147e (diff)
Add APIs for definitions and uses of SSA variables
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 9d81b198..9bdaf5f5 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -2160,6 +2160,16 @@ namespace BinaryNinja
std::vector<Ref<BasicBlock>> GetBasicBlocks() const;
Ref<LowLevelILFunction> GetSSAForm() const;
+ Ref<LowLevelILFunction> GetNonSSAForm() const;
+ size_t GetSSAInstructionIndex(size_t instr) const;
+ size_t GetNonSSAInstructionIndex(size_t instr) const;
+
+ size_t GetSSARegisterDefinition(uint32_t reg, size_t idx) const;
+ size_t GetSSAFlagDefinition(uint32_t flag, size_t idx) const;
+ size_t GetSSAMemoryDefinition(size_t idx) const;
+ std::set<size_t> GetSSARegisterUses(uint32_t reg, size_t idx) const;
+ std::set<size_t> GetSSAFlagUses(uint32_t flag, size_t idx) const;
+ std::set<size_t> GetSSAMemoryUses(size_t idx) const;
};
class FunctionRecognizer