From 0e766c9014dde24e71f565e95ff696f5ed1e7fe8 Mon Sep 17 00:00:00 2001 From: Max Bernstein Date: Mon, 7 Apr 2025 15:40:51 -0400 Subject: [PATCH] Mark Guard* as depending on Snapshot in DCE We need to keep the Snapshot instruction alive. --- zjit/src/hir.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/zjit/src/hir.rs b/zjit/src/hir.rs index 06d346c078..42ff29e5ad 100644 --- a/zjit/src/hir.rs +++ b/zjit/src/hir.rs @@ -1198,12 +1198,15 @@ impl Function { Insn::StringCopy { val } | Insn::ArrayDup { val } | Insn::StringIntern { val } - | Insn::GuardType { val, .. } - | Insn::GuardBitEquals { val, .. } | Insn::Return { val } | Insn::Defined { v: val, .. } | Insn::Test { val } => worklist.push_back(val), + Insn::GuardType { val, state, .. } + | Insn::GuardBitEquals { val, state, .. } => { + worklist.push_back(val); + worklist.push_back(state); + } Insn::ArraySet { array, val, .. } => { worklist.push_back(array); worklist.push_back(val);