Page MenuHomePhabricator

samestep (Sam Estep)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 3 2022, 12:19 PM (10 w, 4 d)

Recent Activity

Yesterday

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

Mon, Aug 15

samestep committed rG2efc8f8d6561: [clang][dataflow] Add an option for context-sensitive depth (authored by samestep).
[clang][dataflow] Add an option for context-sensitive depth
Mon, Aug 15, 12:59 PM · Restricted Project, Restricted Project
samestep closed D131809: [clang][dataflow] Add an option for context-sensitive depth.
Mon, Aug 15, 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

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

Fri, Aug 12

samestep updated the summary of D131809: [clang][dataflow] Add an option for context-sensitive depth.
Fri, Aug 12, 2:21 PM · Restricted Project, Restricted Project
samestep updated the summary of D131809: [clang][dataflow] Add an option for context-sensitive depth.
Fri, Aug 12, 2:20 PM · Restricted Project, Restricted Project
samestep requested review of D131809: [clang][dataflow] Add an option for context-sensitive depth.
Fri, Aug 12, 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
Fri, Aug 12, 9:30 AM · Restricted Project, Restricted Project
samestep closed D131779: [clang][dataflow] Encode options using llvm::Optional.
Fri, Aug 12, 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

Fri, Aug 12, 8:46 AM · Restricted Project, Restricted Project
samestep added inline comments to D131779: [clang][dataflow] Encode options using llvm::Optional.
Fri, Aug 12, 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

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

Wed, Aug 10

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

Address Stanislav's comments

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

Tue, Aug 9

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

Remove Call parameter from pushCallInternal method

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

Pull type-specific logic into overloads

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

Use ArrayRef

Tue, Aug 9, 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.

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

Narrow public signature of pushCall

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

Address Yitzie's comments

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

Mon, Aug 8

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

Fix bug

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

Tweaks

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

Thu, Aug 4

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

Add Stanislav's suggested comments

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

Address Stanislav's comments

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

Revert an unnecessary little change

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

Use CallExpr location for ReturnLoc

Thu, Aug 4, 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

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

Wed, Aug 3

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

Rebase

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

Rebase and address all comments

Wed, Aug 3, 7:58 AM · Restricted Project, Restricted Project
samestep accepted D131039: [clang][dataflow] Add cache of `ControlFlowContext`s for function decls..
Wed, Aug 3, 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!

Wed, Aug 3, 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..
Wed, Aug 3, 5:07 AM · Restricted Project, Restricted Project

Tue, Aug 2

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?

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

Fri, Jul 29

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
Fri, Jul 29, 12:40 PM · Restricted Project, Restricted Project
samestep closed D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.
Fri, Jul 29, 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

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

Thu, Jul 28

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

Address some of Yitzie's comments

Thu, Jul 28, 2:19 PM · Restricted Project, Restricted Project
samestep added inline comments to D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.
Thu, Jul 28, 2:12 PM · Restricted Project, Restricted Project
samestep updated the summary of D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.
Thu, Jul 28, 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.
Thu, Jul 28, 12:48 PM · Restricted Project, Restricted Project
samestep updated the summary of D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.
Thu, Jul 28, 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

Thu, Jul 28, 12:28 PM · Restricted Project, Restricted Project
samestep requested review of D130726: [clang][dataflow] Handle multiple context-sensitive calls to the same function.
Thu, Jul 28, 12:27 PM · Restricted Project, Restricted Project
samestep abandoned D130593: [clang][dataflow] Separate context by frame.
Thu, Jul 28, 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.
Thu, Jul 28, 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

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

Wed, Jul 27

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.

Wed, Jul 27, 7:20 PM · Restricted Project, Restricted Project
samestep added inline comments to D130600: [clang][dataflow] Handle return statements.
Wed, Jul 27, 11:54 AM · Restricted Project, Restricted Project
samestep updated the summary of D130600: [clang][dataflow] Handle return statements.
Wed, Jul 27, 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

Wed, Jul 27, 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.

Wed, Jul 27, 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

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

Tue, Jul 26

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?

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

Address Dmitri's review

Tue, Jul 26, 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.

Tue, Jul 26, 6:16 PM · Restricted Project, Restricted Project
samestep updated the summary of D130600: [clang][dataflow] Handle return statements.
Tue, Jul 26, 2:35 PM · Restricted Project, Restricted Project
samestep requested review of D130600: [clang][dataflow] Handle return statements.
Tue, Jul 26, 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

Tue, Jul 26, 12:56 PM · Restricted Project, Restricted Project
samestep updated the summary of D130593: [clang][dataflow] Separate context by frame.
Tue, Jul 26, 11:51 AM · Restricted Project, Restricted Project
samestep requested review of D130593: [clang][dataflow] Separate context by frame.
Tue, Jul 26, 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
Tue, Jul 26, 10:54 AM · Restricted Project, Restricted Project
samestep closed D130306: [clang][dataflow] Analyze calls to in-TU functions.
Tue, Jul 26, 10:54 AM · Restricted Project, Restricted Project
samestep updated the summary of D130306: [clang][dataflow] Analyze calls to in-TU functions.
Tue, Jul 26, 10:42 AM · Restricted Project, Restricted Project
samestep updated the diff for D130306: [clang][dataflow] Analyze calls to in-TU functions.

Use different name for TransferOptions field

Tue, Jul 26, 10:40 AM · Restricted Project, Restricted Project
samestep reopened D130306: [clang][dataflow] Analyze calls to in-TU functions.
Tue, Jul 26, 10:37 AM · Restricted Project, Restricted Project
samestep added a reverting change for D130306: [clang][dataflow] Analyze calls to in-TU functions: rGcc9aa157a83a: Revert "[clang][dataflow] Analyze calls to in-TU functions".
Tue, Jul 26, 10:30 AM · Restricted Project, Restricted Project
samestep added a reverting change for rGfa2b83d07eca: [clang][dataflow] Analyze calls to in-TU functions: rGcc9aa157a83a: Revert "[clang][dataflow] Analyze calls to in-TU functions".
Tue, Jul 26, 10:30 AM · Restricted Project, Restricted Project
samestep committed rGcc9aa157a83a: Revert "[clang][dataflow] Analyze calls to in-TU functions" (authored by samestep).
Revert "[clang][dataflow] Analyze calls to in-TU functions"
Tue, Jul 26, 10:30 AM · Restricted Project, Restricted Project