From 87c32be023d293e159e699bf46c821fe931cc223 Mon Sep 17 00:00:00 2001 From: Stanislav Gatev Date: Thu, 10 Feb 2022 16:34:07 +0000 Subject: [PATCH] [clang][dataflow] Include terminator statements in buildStmtToBasicBlockMap This will be necessary later when we add support for evaluating logic expressions such as && and ||. This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev. Reviewed-by: xazax.hun Differential Revision: https://reviews.llvm.org/D119447 --- clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp b/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp index 3ad2ed6..c0b8119 100644 --- a/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp +++ b/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp @@ -38,6 +38,8 @@ buildStmtToBasicBlockMap(const CFG &Cfg) { StmtToBlock[Stmt.getValue().getStmt()] = Block; } + if (const Stmt *TerminatorStmt = Block->getTerminatorStmt()) + StmtToBlock[TerminatorStmt] = Block; } return StmtToBlock; } -- 2.7.4