[PATCH] D25326: [StaticAnalyser] Don't merge different returns in ExplodedGraph
Artem Dergachev via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 7 03:23:38 PDT 2016
NoQ added a comment.
In https://reviews.llvm.org/D25326#564239, @danielmarjamaki wrote:
> ok. As far as I see it's not trivial to know which ReturnStmt there was when CallExitBegin is created.
We're in `HandleBlockEdge`, just pass down the statement from CFG here?
In https://reviews.llvm.org/D25326#564239, @danielmarjamaki wrote:
> .. unless that is better apprach
It seems to have something to do with separation of duties between CoreEngine and ExprEngine. Kind of, CoreEngine explores the CFG, ExprEngine models effects of statements, and noticing end of function is CoreEngine's duty, while binding the return value is ExprEngine's duty, and CallExitBegin acts like a message from CoreEngine to ExprEngine so that they could work together. That's how it seems to me, but i'm not sure of the original intention here.
Repository:
rL LLVM
https://reviews.llvm.org/D25326
More information about the cfe-commits
mailing list