Page MenuHomePhabricator
Feed Advanced Search

Fri, Sep 9

samestep accepted D130270: [clang][dataflow] Use a dedicated bool to encode which branch was taken.

@ymandel Huh, interesting! I'll go ahead and abandon this patch, then?

Fri, Sep 9, 10:21 AM · Restricted Project, Restricted Project

Aug 19 2022

samestep abandoned D132251: [clang][dataflow] Dummy patch.
Aug 19 2022, 10:24 AM · Restricted Project, Restricted Project
samestep requested review of D132251: [clang][dataflow] Dummy patch.
Aug 19 2022, 10:23 AM · Restricted Project, Restricted Project
samestep abandoned D132241: [clang][dataflow] Dummy patch 1.
Aug 19 2022, 8:46 AM · Restricted Project, Restricted Project
samestep abandoned D132242: [clang][dataflow] Dummy patch 2.
Aug 19 2022, 8:46 AM · Restricted Project, Restricted Project
samestep requested review of D132242: [clang][dataflow] Dummy patch 2.
Aug 19 2022, 8:38 AM · Restricted Project, Restricted Project
samestep requested review of D132241: [clang][dataflow] Dummy patch 1.
Aug 19 2022, 8:37 AM · Restricted Project, Restricted Project

Aug 16 2022

samestep accepted D131975: [clang][dataflow] Use llvm::is_contained().
Aug 16 2022, 10:53 AM · Restricted Project, Restricted Project

Aug 15 2022

samestep committed rG2efc8f8d6561: [clang][dataflow] Add an option for context-sensitive depth (authored by samestep).
[clang][dataflow] Add an option for context-sensitive depth
Aug 15 2022, 12:59 PM · Restricted Project, Restricted Project
samestep closed D131809: [clang][dataflow] Add an option for context-sensitive depth.
Aug 15 2022, 12:59 PM · Restricted Project, Restricted Project
samestep updated the diff for D131809: [clang][dataflow] Add an option for context-sensitive depth.

Address Stanislav's comments

Aug 15 2022, 12:55 PM · Restricted Project, Restricted Project
samestep added inline comments to D131809: [clang][dataflow] Add an option for context-sensitive depth.
Aug 15 2022, 12:54 PM · Restricted Project, Restricted Project
samestep added inline comments to D131809: [clang][dataflow] Add an option for context-sensitive depth.
Aug 15 2022, 12:50 PM · Restricted Project, Restricted Project

Aug 12 2022

samestep updated the summary of D131809: [clang][dataflow] Add an option for context-sensitive depth.
Aug 12 2022, 2:21 PM · Restricted Project, Restricted Project
samestep updated the summary of D131809: [clang][dataflow] Add an option for context-sensitive depth.
Aug 12 2022, 2:20 PM · Restricted Project, Restricted Project
samestep requested review of D131809: [clang][dataflow] Add an option for context-sensitive depth.
Aug 12 2022, 2:18 PM · Restricted Project, Restricted Project
samestep committed rGb3f1a6bf1080: [clang][dataflow] Encode options using llvm::Optional (authored by samestep).
[clang][dataflow] Encode options using llvm::Optional
Aug 12 2022, 9:30 AM · Restricted Project, Restricted Project
samestep closed D131779: [clang][dataflow] Encode options using llvm::Optional.
Aug 12 2022, 9:29 AM · Restricted Project, Restricted Project
samestep updated the diff for D131779: [clang][dataflow] Encode options using llvm::Optional.

Remove unnecessary explicit call to hasValue

Aug 12 2022, 8:46 AM · Restricted Project, Restricted Project
samestep added inline comments to D131779: [clang][dataflow] Encode options using llvm::Optional.
Aug 12 2022, 8:45 AM · Restricted Project, Restricted Project
samestep updated the diff for D131779: [clang][dataflow] Encode options using llvm::Optional.

Use llvm::None per Gábor's suggestion

Aug 12 2022, 8:43 AM · Restricted Project, Restricted Project
samestep updated the summary of D131779: [clang][dataflow] Encode options using llvm::Optional.
Aug 12 2022, 7:54 AM · Restricted Project, Restricted Project
samestep requested review of D131779: [clang][dataflow] Encode options using llvm::Optional.
Aug 12 2022, 7:52 AM · Restricted Project, Restricted Project

Aug 10 2022

samestep committed rG43b298ea1282: [clang][dataflow] Don't crash when caller args are missing storage locations (authored by samestep).
[clang][dataflow] Don't crash when caller args are missing storage locations
Aug 10 2022, 10:51 AM · Restricted Project, Restricted Project
samestep closed D131600: [clang][dataflow] Don't crash when caller args are missing storage locations.
Aug 10 2022, 10:50 AM · Restricted Project, Restricted Project
samestep updated the summary of D131600: [clang][dataflow] Don't crash when caller args are missing storage locations.
Aug 10 2022, 10:47 AM · Restricted Project, Restricted Project
samestep requested review of D131600: [clang][dataflow] Don't crash when caller args are missing storage locations.
Aug 10 2022, 10:46 AM · Restricted Project, Restricted Project
samestep committed rG000c8fef86ab: [clang][dataflow] Analyze constructor bodies (authored by samestep).
[clang][dataflow] Analyze constructor bodies
Aug 10 2022, 7:02 AM · Restricted Project, Restricted Project
samestep closed D131438: [clang][dataflow] Analyze constructor bodies.
Aug 10 2022, 7:02 AM · Restricted Project, Restricted Project
samestep updated the diff for D131438: [clang][dataflow] Analyze constructor bodies.

Address Stanislav's comments

Aug 10 2022, 6:57 AM · Restricted Project, Restricted Project
samestep added inline comments to D131438: [clang][dataflow] Analyze constructor bodies.
Aug 10 2022, 6:54 AM · Restricted Project, Restricted Project

Aug 9 2022

samestep added inline comments to D131438: [clang][dataflow] Analyze constructor bodies.
Aug 9 2022, 2:04 PM · Restricted Project, Restricted Project
samestep updated the diff for D131438: [clang][dataflow] Analyze constructor bodies.

Remove Call parameter from pushCallInternal method

Aug 9 2022, 2:04 PM · Restricted Project, Restricted Project
samestep updated the diff for D131438: [clang][dataflow] Analyze constructor bodies.

Pull type-specific logic into overloads

Aug 9 2022, 1:52 PM · Restricted Project, Restricted Project
samestep added inline comments to D131438: [clang][dataflow] Analyze constructor bodies.
Aug 9 2022, 1:48 PM · Restricted Project, Restricted Project
samestep updated the diff for D131438: [clang][dataflow] Analyze constructor bodies.

Use ArrayRef

Aug 9 2022, 1:37 PM · Restricted Project, Restricted Project
samestep added a comment to D131438: [clang][dataflow] Analyze constructor bodies.

I feel like this is a repeated pattern. The CSA solved a very similar issue by introducing the CallEvent class hierarchy. I also remember seeing many disparate code snippets littered throughout the clang codebase that tries to deal with the problem of not having facilities to treat call-like nodes uniformly. At some point, I believe there were even some AST changes or supporting structures proposed to ameliorate this problem, but I can't find those at the moment. While I think it might be OK to introduce yet another workaround here, this is a cleanup that is long overdue, and I hope someone will have the time to actually improve the situation. Sorry for the rant, I will actually look at the code but had to vent this.

Aug 9 2022, 1:30 PM · Restricted Project, Restricted Project
samestep added inline comments to D131438: [clang][dataflow] Analyze constructor bodies.
Aug 9 2022, 1:26 PM · Restricted Project, Restricted Project
samestep added inline comments to D131280: [clang][dataflow] Parameterize analysis by explicit map of analyzable functions..
Aug 9 2022, 12:42 PM · Restricted Project, Restricted Project
samestep updated the diff for D131438: [clang][dataflow] Analyze constructor bodies.

Narrow public signature of pushCall

Aug 9 2022, 12:13 PM · Restricted Project, Restricted Project
samestep updated the diff for D131438: [clang][dataflow] Analyze constructor bodies.

Address Yitzie's comments

Aug 9 2022, 6:41 AM · Restricted Project, Restricted Project
samestep added inline comments to D131438: [clang][dataflow] Analyze constructor bodies.
Aug 9 2022, 6:39 AM · Restricted Project, Restricted Project

Aug 8 2022

samestep updated the diff for D131438: [clang][dataflow] Analyze constructor bodies.

Fix bug

Aug 8 2022, 2:25 PM · Restricted Project, Restricted Project
samestep updated the summary of D131438: [clang][dataflow] Analyze constructor bodies.
Aug 8 2022, 2:07 PM · Restricted Project, Restricted Project
samestep updated the diff for D131438: [clang][dataflow] Analyze constructor bodies.

Tweaks

Aug 8 2022, 2:04 PM · Restricted Project, Restricted Project
samestep requested review of D131438: [clang][dataflow] Analyze constructor bodies.
Aug 8 2022, 2:01 PM · Restricted Project, Restricted Project

Aug 4 2022

samestep committed rG8611a77ee7ee: [clang][dataflow] Analyze method bodies (authored by samestep).
[clang][dataflow] Analyze method bodies
Aug 4 2022, 10:46 AM · Restricted Project, Restricted Project
samestep closed D131170: [clang][dataflow] Analyze method bodies.
Aug 4 2022, 10:45 AM · Restricted Project, Restricted Project
samestep committed rG0eaecbbc2318: [clang][dataflow] Handle return statements (authored by samestep).
[clang][dataflow] Handle return statements
Aug 4 2022, 10:42 AM · Restricted Project, Restricted Project
samestep closed D130600: [clang][dataflow] Handle return statements.
Aug 4 2022, 10:42 AM · Restricted Project, Restricted Project
samestep updated the diff for D130600: [clang][dataflow] Handle return statements.

Add Stanislav's suggested comments

Aug 4 2022, 10:41 AM · Restricted Project, Restricted Project
samestep added inline comments to D131170: [clang][dataflow] Analyze method bodies.
Aug 4 2022, 8:48 AM · Restricted Project, Restricted Project
samestep updated the diff for D131170: [clang][dataflow] Analyze method bodies.

Address Stanislav's comments

Aug 4 2022, 8:05 AM · Restricted Project, Restricted Project
samestep added inline comments to D131170: [clang][dataflow] Analyze method bodies.
Aug 4 2022, 8:03 AM · Restricted Project, Restricted Project
samestep updated the summary of D131170: [clang][dataflow] Analyze method bodies.
Aug 4 2022, 7:28 AM · Restricted Project, Restricted Project
samestep requested review of D131170: [clang][dataflow] Analyze method bodies.
Aug 4 2022, 7:26 AM · Restricted Project, Restricted Project
samestep updated the diff for D130600: [clang][dataflow] Handle return statements.

Revert an unnecessary little change

Aug 4 2022, 7:22 AM · Restricted Project, Restricted Project
samestep updated the diff for D130600: [clang][dataflow] Handle return statements.

Use CallExpr location for ReturnLoc

Aug 4 2022, 7:20 AM · Restricted Project, Restricted Project
samestep updated the diff for D130600: [clang][dataflow] Handle return statements.

Don't assert returns to not be references

Aug 4 2022, 6:43 AM · Restricted Project, Restricted Project
samestep added inline comments to D130600: [clang][dataflow] Handle return statements.
Aug 4 2022, 6:30 AM · Restricted Project, Restricted Project
samestep added inline comments to D130600: [clang][dataflow] Handle return statements.
Aug 4 2022, 5:20 AM · Restricted Project, Restricted Project

Aug 3 2022

samestep updated the diff for D130600: [clang][dataflow] Handle return statements.

Rebase

Aug 3 2022, 12:59 PM · Restricted Project, Restricted Project
samestep updated the summary of D130600: [clang][dataflow] Handle return statements.
Aug 3 2022, 8:02 AM · Restricted Project, Restricted Project
samestep updated the diff for D130600: [clang][dataflow] Handle return statements.

Rebase and address all comments

Aug 3 2022, 7:58 AM · Restricted Project, Restricted Project
samestep accepted D131039: [clang][dataflow] Add cache of `ControlFlowContext`s for function decls..
Aug 3 2022, 6:04 AM · Restricted Project, Restricted Project
samestep added a comment to D131039: [clang][dataflow] Add cache of `ControlFlowContext`s for function decls..

Looks awesome, thanks @ymandel!

Aug 3 2022, 6:03 AM · Restricted Project, Restricted Project
samestep added inline comments to D131065: [clang][dataflow] Store DeclContext of block being analysed in Environment if available..
Aug 3 2022, 5:07 AM · Restricted Project, Restricted Project

Aug 2 2022

samestep added a comment to D131014: [clang][dataflow] Make the type of the post visit callback consistent.

Seems reasonable 👍 I'm curious though, why does this not require clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp to be updated?

Aug 2 2022, 2:18 PM · Restricted Project, Restricted Project, Restricted Project

Jul 29 2022

samestep committed rGa6ddc6848782: [clang][dataflow] Handle multiple context-sensitive calls to the same function (authored by samestep).
[clang][dataflow] Handle multiple context-sensitive calls to the same function
Jul 29 2022, 12:40 PM · Restricted Project, Restricted Project
samestep closed D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.
Jul 29 2022, 12:40 PM · Restricted Project, Restricted Project
samestep updated the diff for D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.

Add more comments and tests

Jul 29 2022, 12:19 PM · Restricted Project, Restricted Project
samestep added inline comments to D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.
Jul 29 2022, 6:32 AM · Restricted Project, Restricted Project

Jul 28 2022

samestep updated the diff for D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.

Address some of Yitzie's comments

Jul 28 2022, 2:19 PM · Restricted Project, Restricted Project
samestep added inline comments to D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.
Jul 28 2022, 2:12 PM · Restricted Project, Restricted Project
samestep updated the summary of D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.
Jul 28 2022, 2:11 PM · Restricted Project, Restricted Project
samestep added a reviewer for D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function: xazax.hun.
Jul 28 2022, 12:48 PM · Restricted Project, Restricted Project
samestep updated the summary of D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.
Jul 28 2022, 12:42 PM · Restricted Project, Restricted Project
samestep added a comment to D130593: [clang][dataflow] Separate context by frame.

Here is the new patch: D130726

Jul 28 2022, 12:28 PM · Restricted Project, Restricted Project
samestep requested review of D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.
Jul 28 2022, 12:27 PM · Restricted Project, Restricted Project
samestep abandoned D130593: [clang][dataflow] Separate context by frame.
Jul 28 2022, 11:54 AM · Restricted Project, Restricted Project
samestep added inline comments to D130270: [clang][dataflow] Use a dedicated bool to encode which branch was taken.
Jul 28 2022, 11:53 AM · Restricted Project, Restricted Project
samestep updated the diff for D130270: [clang][dataflow] Use a dedicated bool to encode which branch was taken.

Add FIXME about passing TookSecondBranch to merge

Jul 28 2022, 11:53 AM · Restricted Project, Restricted Project
samestep added inline comments to D130600: [clang][dataflow] Handle return statements.
Jul 28 2022, 6:31 AM · Restricted Project, Restricted Project

Jul 27 2022

samestep added a comment to D130593: [clang][dataflow] Separate context by frame.

Note: after some discussion with @ymandel, we've decided to adjust our design for this. A new patch is on the way which will replace this one.

Jul 27 2022, 7:20 PM · Restricted Project, Restricted Project
samestep added inline comments to D130600: [clang][dataflow] Handle return statements.
Jul 27 2022, 11:54 AM · Restricted Project, Restricted Project
samestep updated the summary of D130600: [clang][dataflow] Handle return statements.
Jul 27 2022, 7:51 AM · Restricted Project, Restricted Project
samestep updated the diff for D130600: [clang][dataflow] Handle return statements.

Set a storage location for the outermost context too

Jul 27 2022, 7:49 AM · Restricted Project, Restricted Project
samestep added a comment to D130270: [clang][dataflow] Use a dedicated bool to encode which branch was taken.

@gribozavr2 I rebased again, should work now.

Jul 27 2022, 6:30 AM · Restricted Project, Restricted Project
samestep updated the diff for D130270: [clang][dataflow] Use a dedicated bool to encode which branch was taken.

Rebase

Jul 27 2022, 6:30 AM · Restricted Project, Restricted Project
samestep added inline comments to D130600: [clang][dataflow] Handle return statements.
Jul 27 2022, 6:08 AM · Restricted Project, Restricted Project

Jul 26 2022

samestep added a comment to D130593: [clang][dataflow] Separate context by frame.

While separate call strings are properly isolated from each other, repeated analysis of the same call is not:|

while (...)
{
  foo(...);
}

In the above code snippet, we will end up analyzing foo with leftover state from the previous iteration. The analysis can potentially observe state private to the previous call in the current call. Do I miss something or is this intentional?

Jul 26 2022, 6:29 PM · Restricted Project, Restricted Project
samestep added inline comments to D130600: [clang][dataflow] Handle return statements.
Jul 26 2022, 6:26 PM · Restricted Project, Restricted Project
samestep updated the diff for D130600: [clang][dataflow] Handle return statements.

Address Dmitri's review

Jul 26 2022, 6:25 PM · Restricted Project, Restricted Project
samestep added a comment to D130306: [clang][dataflow] Analyze calls to in-TU functions.

A few variables cause warinings in -Asserts.

Jul 26 2022, 6:16 PM · Restricted Project, Restricted Project
samestep updated the summary of D130600: [clang][dataflow] Handle return statements.
Jul 26 2022, 2:35 PM · Restricted Project, Restricted Project
samestep requested review of D130600: [clang][dataflow] Handle return statements.
Jul 26 2022, 2:33 PM · Restricted Project, Restricted Project
samestep updated the diff for D130593: [clang][dataflow] Separate context by frame.

Use operator[] instead of try_emplace for C++14 compatibility

Jul 26 2022, 12:56 PM · Restricted Project, Restricted Project
samestep updated the summary of D130593: [clang][dataflow] Separate context by frame.
Jul 26 2022, 11:51 AM · Restricted Project, Restricted Project
samestep requested review of D130593: [clang][dataflow] Separate context by frame.
Jul 26 2022, 11:42 AM · Restricted Project, Restricted Project
samestep committed rG300fbf56f89a: [clang][dataflow] Analyze calls to in-TU functions (authored by samestep).
[clang][dataflow] Analyze calls to in-TU functions
Jul 26 2022, 10:54 AM · Restricted Project, Restricted Project