[clang] 87c32be - [clang][dataflow] Include terminator statements in buildStmtToBasicBlockMap
Stanislav Gatev via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 11 03:20:08 PST 2022
Author: Stanislav Gatev
Date: 2022-02-11T11:15:29Z
New Revision: 87c32be023d293e159e699bf46c821fe931cc223
URL: https://github.com/llvm/llvm-project/commit/87c32be023d293e159e699bf46c821fe931cc223
DIFF: https://github.com/llvm/llvm-project/commit/87c32be023d293e159e699bf46c821fe931cc223.diff
LOG: [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
Added:
Modified:
clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
Removed:
################################################################################
diff --git a/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp b/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
index 3ad2ed640cc1c..c0b8119038f2d 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;
}
More information about the cfe-commits
mailing list