From 083a1f518975f02ebda6d5a35198f70f8c7bcbfe Mon Sep 17 00:00:00 2001 From: Mikhail Kocharmin Date: Sat, 25 May 2024 15:37:38 +0300 Subject: [PATCH] fix expression substitution --- sapfor/experts/Sapfor_2017/_src/CFGraph/RD_subst.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sapfor/experts/Sapfor_2017/_src/CFGraph/RD_subst.cpp b/sapfor/experts/Sapfor_2017/_src/CFGraph/RD_subst.cpp index 06a906c..948fb97 100644 --- a/sapfor/experts/Sapfor_2017/_src/CFGraph/RD_subst.cpp +++ b/sapfor/experts/Sapfor_2017/_src/CFGraph/RD_subst.cpp @@ -1235,8 +1235,9 @@ bool isArgReaches(int decl_instr, SAPFOR::BasicBlock* decl_bb, if (RDs_for_arg.size() == 1) { const int rd = *RDs_for_arg.begin(); - if (rd >= decl_bb->getInstructions().front()->getNumber() && rd < decl_instr) - return true; + if (rd >= decl_bb->getInstructions().front()->getNumber() && + rd <= decl_bb->getInstructions().back()->getNumber()) + return rd < decl_instr; } auto arg_in_from_decl_it = decl_bb->getRD_In().find(arg);