diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2020-12-16 21:45:31 -0500 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2020-12-18 00:16:20 -0500 |
| commit | d8030b6c75f638b92c1908d8b427299c2d0abe92 (patch) | |
| tree | 35b663e0eb031dbdb4f7018e4e0bee7cef42ec70 /binaryninjacore.h | |
| parent | 70ce5764abacc1a7ea518f5ccef92421a1d6d04e (diff) | |
Add API/UI to control dead store elimination of specific variables
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index 4eab7a44..72f661a9 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -2441,6 +2441,13 @@ extern "C" void* ctx; }; + enum BNDeadStoreElimination + { + DefaultDeadStoreElimination, + PreventDeadStoreElimination, + AllowDeadStoreElimination + }; + BINARYNINJACOREAPI char* BNAllocString(const char* contents); BINARYNINJACOREAPI void BNFreeString(char* str); BINARYNINJACOREAPI char** BNAllocStringList(const char** contents, size_t size); @@ -3275,6 +3282,10 @@ __attribute__ ((format (printf, 1, 2))) BINARYNINJACOREAPI char* BNGetVariableName(BNFunction* func, const BNVariable* var); BINARYNINJACOREAPI uint64_t BNToVariableIdentifier(const BNVariable* var); BINARYNINJACOREAPI BNVariable BNFromVariableIdentifier(uint64_t id); + BINARYNINJACOREAPI BNDeadStoreElimination BNGetFunctionVariableDeadStoreElimination(BNFunction* func, + const BNVariable* var); + BINARYNINJACOREAPI void BNSetFunctionVariableDeadStoreElimination(BNFunction* func, + const BNVariable* var, BNDeadStoreElimination mode); BINARYNINJACOREAPI BNReferenceSource* BNGetFunctionCallSites(BNFunction* func, size_t* count); BINARYNINJACOREAPI uint64_t* BNGetCallees(BNBinaryView* view, BNReferenceSource* callSite, size_t* count); |
