From 24b75b65db1ed4f9591f16f9726ebc0f55b158f1 Mon Sep 17 00:00:00 2001 From: Akash Levy Date: Tue, 2 Jun 2026 01:18:29 -0700 Subject: [PATCH] Fix UB issue --- passes/silimate/opt_compact_prefix.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/passes/silimate/opt_compact_prefix.cc b/passes/silimate/opt_compact_prefix.cc index 8ae16d639..e9b82f18b 100644 --- a/passes/silimate/opt_compact_prefix.cc +++ b/passes/silimate/opt_compact_prefix.cc @@ -79,8 +79,9 @@ struct OptCompactPrefixWorker sig = sigmap(sig); if (!sig.is_fully_const()) return false; + uint64_t uvalue = (uint64_t)value; for (int i = 0; i < GetSize(sig); i++) { - bool want = ((uint64_t)value >> i) & 1; + bool want = (i < 64) ? ((uvalue >> i) & 1) : (value < 0); if (sig[i] != (want ? State::S1 : State::S0)) return false; }