summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2018-04-25 17:26:39 -0400
committerBrian Potchik <brian@vector35.com>2018-04-25 17:26:39 -0400
commitf4f552491af8e456bcb14046096a0f93cc82b351 (patch)
tree980a1fd4382a6e881af497325a80d4f5a732789a /binaryninjacore.h
parentc09ae6ce7bd652dbb6e1a4f73d5a8a51440ec1ff (diff)
Adding tailcall analysis to the core.
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 216301c0..e4d3a919 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -332,6 +332,7 @@ extern "C"
LLIL_JUMP_TO,
LLIL_CALL,
LLIL_CALL_STACK_ADJUST,
+ LLIL_TAILCALL,
LLIL_RET,
LLIL_NORET,
LLIL_IF,
@@ -403,6 +404,7 @@ extern "C"
LLIL_FLAG_BIT_SSA,
LLIL_CALL_SSA,
LLIL_SYSCALL_SSA,
+ LLIL_TAILCALL_SSA,
LLIL_CALL_PARAM, // Only valid within the LLIL_CALL_SSA, LLIL_SYSCALL_SSA, LLIL_INTRINSIC, LLIL_INTRINSIC_SSA instructions
LLIL_CALL_STACK_SSA, // Only valid within the LLIL_CALL_SSA or LLIL_SYSCALL_SSA instructions
LLIL_CALL_OUTPUT_SSA, // Only valid within the LLIL_CALL_SSA or LLIL_SYSCALL_SSA instructions
@@ -847,8 +849,8 @@ extern "C"
MLIL_JUMP_TO,
MLIL_CALL, // Not valid in SSA form (see MLIL_CALL_SSA)
MLIL_CALL_UNTYPED, // Not valid in SSA form (see MLIL_CALL_UNTYPED_SSA)
- MLIL_CALL_OUTPUT, // Only valid within MLIL_CALL or MLIL_SYSCALL family instructions
- MLIL_CALL_PARAM, // Only valid within MLIL_CALL or MLIL_SYSCALL family instructions
+ MLIL_CALL_OUTPUT, // Only valid within MLIL_CALL, MLIL_SYSCALL, MLIL_TAILCALL family instructions
+ MLIL_CALL_PARAM, // Only valid within MLIL_CALL, MLIL_SYSCALL, MLIL_TAILCALL family instructions
MLIL_RET, // Not valid in SSA form (see MLIL_RET_SSA)
MLIL_NORET,
MLIL_IF,
@@ -868,6 +870,8 @@ extern "C"
MLIL_ADD_OVERFLOW,
MLIL_SYSCALL, // Not valid in SSA form (see MLIL_SYSCALL_SSA)
MLIL_SYSCALL_UNTYPED, // Not valid in SSA form (see MLIL_SYSCALL_UNTYPED_SSA)
+ MLIL_TAILCALL, // Not valid in SSA form (see MLIL_TAILCALL_SSA)
+ MLIL_TAILCALL_UNTYPED, // Not valid in SSA form (see MLIL_TAILCALL_UNTYPED_SSA)
MLIL_INTRINSIC, // Not valid in SSA form (see MLIL_INTRINSIC_SSA)
MLIL_FREE_VAR_SLOT, // Not valid in SSA from (see MLIL_FREE_VAR_SLOT_SSA)
MLIL_BP,
@@ -915,8 +919,10 @@ extern "C"
MLIL_CALL_UNTYPED_SSA,
MLIL_SYSCALL_SSA,
MLIL_SYSCALL_UNTYPED_SSA,
- MLIL_CALL_PARAM_SSA, // Only valid within the MLIL_CALL_SSA, MLIL_SYSCALL_SSA family instructions
- MLIL_CALL_OUTPUT_SSA, // Only valid within the MLIL_CALL_SSA or MLIL_SYSCALL_SSA family instructions
+ MLIL_TAILCALL_SSA,
+ MLIL_TAILCALL_UNTYPED_SSA,
+ MLIL_CALL_PARAM_SSA, // Only valid within the MLIL_CALL_SSA, MLIL_SYSCALL_SSA, MLIL_TAILCALL_SSA family instructions
+ MLIL_CALL_OUTPUT_SSA, // Only valid within the MLIL_CALL_SSA or MLIL_SYSCALL_SSA, MLIL_TAILCALL_SSA family instructions
MLIL_LOAD_SSA,
MLIL_LOAD_STRUCT_SSA,
MLIL_STORE_SSA,