From 42ef710e1928275c98ff72cd82bc5e6b05fe8295 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Tue, 22 Dec 2020 14:51:15 +0100 Subject: [PATCH] expr_is_guardable doesn't handle Iex_Qop IRExpr_Qop uses the Iex_Qop tag, which expr_is_guardable didn't handle. https://bugs.kde.org/show_bug.cgi?id=430485 --- NEWS | 1 + VEX/priv/guest_generic_bb_to_IR.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/NEWS b/NEWS index 9dae3a2702..c1de304ee7 100644 --- a/NEWS +++ b/NEWS @@ -80,6 +80,7 @@ n-i-bz helgrind: If hg_cli__realloc fails, return NULL. 429864 s390x: C++ atomic test_and_set yields false-positive memcheck diagnostics 430354 ppc stxsibx and stxsihx instructions write too much data +430485 expr_is_guardable doesn't handle Iex_Qop Release 3.16.1 (?? June 2020) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/VEX/priv/guest_generic_bb_to_IR.c b/VEX/priv/guest_generic_bb_to_IR.c index 0cee970e43..1e72ddacd6 100644 --- a/VEX/priv/guest_generic_bb_to_IR.c +++ b/VEX/priv/guest_generic_bb_to_IR.c @@ -422,6 +422,8 @@ static Bool expr_is_guardable ( const IRExpr* e ) return !primopMightTrap(e->Iex.Binop.op); case Iex_Triop: return !primopMightTrap(e->Iex.Triop.details->op); + case Iex_Qop: + return !primopMightTrap(e->Iex.Qop.details->op); case Iex_ITE: case Iex_CCall: case Iex_Get: -- 2.47.2