This is an archive of the discontinued LLVM Phabricator instance.

[analyzer] StackFrameContext: Add NodeBuilderContext::blockCount() to its profile
ClosedPublic

Authored by Charusso on Aug 1 2019, 9:47 AM.

Details

Diff Detail

Repository
rL LLVM

Event Timeline

Charusso created this revision.Aug 1 2019, 9:47 AM
Charusso marked 2 inline comments as done.Aug 1 2019, 9:51 AM
Charusso added inline comments.
clang/include/clang/Analysis/AnalysisDeclContext.h
486 ↗(On Diff #212842)

Deadlines, eh?

clang/test/Analysis/loop-unrolling.cpp
371 ↗(On Diff #212842)

The ninja check-clang-analyzer-z3 is not really working and we definitely have different results based on the traversal, so I just swapped that.

NoQ accepted this revision.Aug 1 2019, 12:39 PM

Ah, omission of the century :/

Thanks, this looks immediately good!

clang/include/clang/Analysis/AnalysisDeclContext.h
305 ↗(On Diff #212842)

"The number of times the Block has been visited. Allows discriminating between stack frames of the same call that is called multiple times in a loop."

clang/test/Analysis/loop-unrolling.cpp
349–353 ↗(On Diff #212842)

I'm mildly curious what happened here.

This revision is now accepted and ready to land.Aug 1 2019, 12:39 PM
Charusso updated this revision to Diff 212895.Aug 1 2019, 1:19 PM
Charusso marked an inline comment as done.
Charusso edited the summary of this revision. (Show Details)
  • Fix.
Charusso added inline comments.
clang/test/Analysis/loop-unrolling.cpp
349–353 ↗(On Diff #212842)

I will leave that comment not 'Done' as some kind of FIXME: Measure the loop unrolling.
But I believe these numbers supposed to be here from the start when @george.karpenkov made the traversing coverage-based (source: https://youtu.be/4n3l-ZcDJNY?t=540).

Thanks for the review and for the idea!

This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptAug 1 2019, 1:42 PM