summaryrefslogtreecommitdiff
path: root/rust/src/low_level_il/instruction.rs
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-01-31 13:02:22 -0500
committerMason Reed <mason@vector35.com>2025-01-31 16:17:30 -0500
commitf5b7f5b2779b1b29e14856efd2a2e56a7c3b0113 (patch)
treeb1722f62166390c0d4b245a6695e359652ec6cf5 /rust/src/low_level_il/instruction.rs
parentc00727ed11624018b286f57215a677b1140de2ff (diff)
Add LLIL_REG_STACK_POP and LLIL_REG_STACK_PUSH to Rust API
These were unhandled and x87 register stack LLIL would emit a bunch of warnings
Diffstat (limited to 'rust/src/low_level_il/instruction.rs')
-rw-r--r--rust/src/low_level_il/instruction.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/rust/src/low_level_il/instruction.rs b/rust/src/low_level_il/instruction.rs
index 5c3010ea..b023ad49 100644
--- a/rust/src/low_level_il/instruction.rs
+++ b/rust/src/low_level_il/instruction.rs
@@ -227,6 +227,8 @@ where
// TODO needs a real op
Push(Operation<'func, A, M, F, operation::UnaryOp>),
+ RegStackPush(Operation<'func, A, M, F, operation::RegStackPush>),
+
Jump(Operation<'func, A, M, F, operation::Jump>),
JumpTo(Operation<'func, A, M, F, operation::JumpTo>),
@@ -278,6 +280,10 @@ where
}
LLIL_PUSH => LowLevelILInstructionKind::Push(Operation::new(function, op)),
+ LLIL_REG_STACK_PUSH => {
+ LowLevelILInstructionKind::RegStackPush(Operation::new(function, op))
+ }
+
LLIL_JUMP => LowLevelILInstructionKind::Jump(Operation::new(function, op)),
LLIL_JUMP_TO => LowLevelILInstructionKind::JumpTo(Operation::new(function, op)),
@@ -330,6 +336,7 @@ where
visit!(&op.source_expr());
}
Push(ref op) => visit!(&op.operand()),
+ RegStackPush(ref op) => visit!(&op.source_expr()),
Jump(ref op) => visit!(&op.target()),
JumpTo(ref op) => visit!(&op.target()),
Call(ref op) | TailCall(ref op) => visit!(&op.target()),