sgatev created this revision.
sgatev added reviewers: ymandel, xazax.hun, gribozavr2.
Herald added a subscriber: rnkovacs.
sgatev requested review of this revision.
Herald added a project: clang.
This is part of the implementation of the dataflow analysis framework.
See "[RFC] A dataflow analysis
sgatev updated this revision to Diff 398907.
sgatev added a comment.
Add missing include.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117012/new/
https://reviews.llvm.org/D117012
Files:
clang/include/clang/Analysis/FlowSensitive/DataflowAnalys
sgatev updated this revision to Diff 399094.
sgatev marked 12 inline comments as done.
sgatev added a comment.
Address reviewers' comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117012/new/
https://reviews.llvm.org/D117012
Files:
clang/i
sgatev added a comment.
Thank you both for the reviews!
Comment at: clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp:52
+ setStorageLocation(*ParamDecl, ParamLoc);
+ initValueInStorageLocation(ParamLoc, ParamDecl->getType());
+}
xazax.hun
sgatev updated this revision to Diff 399219.
sgatev added a comment.
Address reviewers' comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117012/new/
https://reviews.llvm.org/D117012
Files:
clang/include/clang/Analysis/FlowSensitive/Datafl
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG99f7d55c: [clang][dataflow] Add transfer functions for
data members and this pointers (authored by sgatev).
Repository:
rG LLVM Github Monorep
sgatev created this revision.
sgatev added reviewers: ymandel, xazax.hun, gribozavr2.
Herald added a subscriber: rnkovacs.
sgatev requested review of this revision.
Herald added a project: clang.
This is part of the implementation of the dataflow analysis framework.
See "[RFC] A dataflow analysis
sgatev marked an inline comment as done.
sgatev added inline comments.
Comment at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:171
+
+Value *InitExprVal = Env.getValue(*InitExpr, SkipPast::None);
+if (InitExprVal == nullptr)
ymandel wrote:
> why `None`?
This revision was automatically updated to reflect the committed changes.
sgatev marked an inline comment as done.
Closed by commit rG963f40051a42: [clang][dataflow] Add transfer functions for
initializers (authored by sgatev).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
ht
sgatev created this revision.
sgatev added reviewers: ymandel, xazax.hun, gribozavr2.
Herald added a subscriber: rnkovacs.
sgatev requested review of this revision.
Herald added a project: clang.
This is part of the implementation of the dataflow analysis framework.
See "[RFC] A dataflow analysis
sgatev marked an inline comment as done.
sgatev added inline comments.
Comment at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:114
+} else if (S->getCastKind() == CK_NoOp) {
+ auto *SubExprLoc = Env.getStorageLocation(*SubExpr, SkipPast::None);
+ if (SubExprLoc ==
sgatev updated this revision to Diff 399707.
sgatev marked 2 inline comments as done.
sgatev added a comment.
Address reviewers' comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117218/new/
https://reviews.llvm.org/D117218
Files:
clang/li
sgatev updated this revision to Diff 399714.
sgatev marked 2 inline comments as done.
sgatev added a comment.
Address reviewers' comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117218/new/
https://reviews.llvm.org/D117218
Files:
clang/li
sgatev added inline comments.
Comment at: clang/unittests/Analysis/FlowSensitive/TransferTest.cpp:1362
+ LangStandard::lang_cxx17);
+}
+
xazax.hun wrote:
> I think this changed from 14 to 17 in the last revision. Is this intentional?
Not intentional. Thanks
sgatev updated this revision to Diff 399968.
sgatev marked an inline comment as done.
sgatev added a comment.
Address reviewers' comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117218/new/
https://reviews.llvm.org/D117218
Files:
clang/li
sgatev added inline comments.
Comment at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:105
- assert(SubExpr != nullptr);
+if (S->getCastKind() == CK_LValueToRValue) {
auto *SubExprVal = Env.getValue(*SubExpr, SkipPast::Reference);
ymandel wrote
This revision was automatically updated to reflect the committed changes.
Closed by commit rG7d941d6d21e9: [clang][dataflow] Add transfer functions for
constructors (authored by sgatev).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117218/new/
http
sgatev created this revision.
sgatev added reviewers: ymandel, xazax.hun, gribozavr2.
Herald added a subscriber: rnkovacs.
sgatev requested review of this revision.
Herald added a project: clang.
This is part of the implementation of the dataflow analysis framework.
See "[RFC] A dataflow analysis
sgatev marked an inline comment as done.
sgatev added inline comments.
Comment at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:90
void VisitDeclStmt(const DeclStmt *S) {
-// FIXME: Add support for group decls, e.g: `int a, b;`
-if (S->isSingleDecl()) {
- if (con
sgatev updated this revision to Diff 400392.
sgatev marked 2 inline comments as done.
sgatev added a comment.
Address reviewers' comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117339/new/
https://reviews.llvm.org/D117339
Files:
clang/li
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG37e6496c800b: [clang][dataflow] Add transfer functions for
bind temporary and static cast (authored by sgatev).
Repository:
rG LLVM Github Monorep
sgatev created this revision.
sgatev added reviewers: ymandel, xazax.hun, gribozavr2.
Herald added a subscriber: rnkovacs.
sgatev requested review of this revision.
Herald added a project: clang.
Since Environment's setValue method already does part of the work that
initValueInStorageLocation does
sgatev created this revision.
sgatev added reviewers: ymandel, xazax.hun, gribozavr2.
Herald added a subscriber: rnkovacs.
sgatev requested review of this revision.
Herald added a project: clang.
This is part of the implementation of the dataflow analysis framework.
See "[RFC] A dataflow analysis
sgatev created this revision.
sgatev added reviewers: ymandel, NoQ, xazax.hun, gribozavr2.
Herald added subscribers: rnkovacs, mgorny.
sgatev requested review of this revision.
Herald added a project: clang.
This is part of the implementation of the dataflow analysis framework.
See "[RFC] A datafl
sgatev updated this revision to Diff 392346.
sgatev added a comment.
Minor changes to parameter names.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115235/new/
https://reviews.llvm.org/D115235
Files:
clang/include/clang/Analysis/FlowSensitive/D
sgatev updated this revision to Diff 392772.
sgatev marked 8 inline comments as done.
sgatev added a comment.
Address reviewers' comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115235/new/
https://reviews.llvm.org/D115235
Files:
clang/in
sgatev added a comment.
Thanks everyone!
Comment at: clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp:32
+TypeErasedDataflowAnalysisState computeBlockInputState(
+std::vector> &BlockStates,
+const CFGBlock &Block, const Environment &InitEnv,
-
sgatev updated this revision to Diff 393156.
sgatev added a comment.
Declare transferBlock in the header.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115235/new/
https://reviews.llvm.org/D115235
Files:
clang/include/clang/Analysis/FlowSensitiv
sgatev marked 4 inline comments as done.
sgatev added inline comments.
Comment at: clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp:31
+/// states of its predecessor basic blocks.
+TypeErasedDataflowAnalysisState computeBlockInputState(
+std::vector> &BlockStat
sgatev added inline comments.
Comment at:
clang/unittests/Analysis/FlowSensitive/SingleVarConstantPropagationTest.cpp:69
+
+ friend bool operator==(ConstantPropagationLattice Element1,
+ ConstantPropagationLattice Element2) {
Should this
sgatev accepted this revision.
sgatev added inline comments.
This revision is now accepted and ready to land.
Comment at:
clang/unittests/Analysis/FlowSensitive/SingleVarConstantPropagationTest.cpp:145
+const BoundNodes &Nodes = Results[0];
+const ASTContext &Context = g
sgatev created this revision.
sgatev added reviewers: ymandel, xazax.hun, gribozavr2.
Herald added subscribers: rnkovacs, mgorny.
sgatev requested review of this revision.
Herald added a project: clang.
This is part of the implementation of the dataflow analysis framework.
See "[RFC] A dataflow an
sgatev updated this revision to Diff 395393.
sgatev added a comment.
Remove anonymous namespace.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116022/new/
https://reviews.llvm.org/D116022
Files:
clang/include/clang/Analysis/FlowSensitive/Control
sgatev updated this revision to Diff 395841.
sgatev marked 2 inline comments as done.
sgatev added a comment.
Address reviewers' comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116022/new/
https://reviews.llvm.org/D116022
Files:
clang/in
sgatev marked 3 inline comments as done.
sgatev added a comment.
I also agree that the current approach isn't robust. I think that a proper
solution would involve patching the CFG because in some cases it seems to be
incorrect. For example, the call to `qux` is incorrectly deemed to be
unreacha
sgatev updated this revision to Diff 395845.
sgatev marked 3 inline comments as done.
sgatev added a comment.
Change commit message.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116022/new/
https://reviews.llvm.org/D116022
Files:
clang/include/
sgatev updated this revision to Diff 395979.
sgatev marked an inline comment as done.
sgatev added a comment.
Rename a test.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116022/new/
https://reviews.llvm.org/D116022
Files:
clang/include/clang/An
sgatev marked an inline comment as done.
sgatev added inline comments.
Comment at:
clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp:196
+
+class VirtualDestructorTest : public ::testing::Test {
+protected:
gribozavr2 wrote:
> DYM "Noretu
sgatev marked an inline comment as done.
sgatev added a comment.
Thanks for the reviews!
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116022/new/
https://reviews.llvm.org/D116022
___
cfe-commits mailing
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGb5c5d8912e07: [clang][dataflow] Add support for noreturn
destructor calls (authored by sgatev).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE
sgatev created this revision.
sgatev added reviewers: ymandel, xazax.hun, gribozavr2.
Herald added subscribers: rnkovacs, mgorny.
sgatev requested review of this revision.
Herald added a project: clang.
This is part of the implementation of the dataflow analysis framework.
See "[RFC] A dataflow an
sgatev updated this revision to Diff 396516.
sgatev added a comment.
Minor changes to names and comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116368/new/
https://reviews.llvm.org/D116368
Files:
clang/include/clang/Analysis/FlowSensitiv
sgatev added a comment.
It seems unnecessary to deal with AST elements in the tests for `MapLattice`. I
think testing it with integer or string keys would be simpler. Given that
`VarMapLattice` is just an alias, I don't think it's necessary to add dedicated
tests for it. What do you think?
=
sgatev updated this revision to Diff 396529.
sgatev marked 8 inline comments as done.
sgatev added a comment.
Address reviewers' comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116368/new/
https://reviews.llvm.org/D116368
Files:
clang/in
sgatev added inline comments.
Comment at:
clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h:56
+
+ /// Assigns `Loc` to `D`.
+ ///
ymandel wrote:
> The term "assignment" is overloaded. :) Maybe instead "Associates `Loc` with
> `D`"? Or, exp
sgatev added inline comments.
Comment at:
clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp:375-376
+ Pair("p2", HoldsCPLattice(UnorderedElementsAre(
+ Pair(Var("target"), HasConstantVal(2)),
+
sgatev updated this revision to Diff 396537.
sgatev added a comment.
Convert pointers to references.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116368/new/
https://reviews.llvm.org/D116368
Files:
clang/include/clang/Analysis/FlowSensitive/Dat
301 - 347 of 347 matches
Mail list logo