[PATCH] D81593: [analyzer] SATest: Make docker interfaces transparent

2020-06-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a project: clang. Forward results of every command executed in docker. The actual comm

[PATCH] D81599: [analyzer] SATest: Add 5 more projects for testing

2020-06-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, dcoughlin. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a project: clang. Repository: rG LLVM Git

[PATCH] D81598: [analyzer] SATest: Add an easy option to connect to docker for debugging

2020-06-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, dcoughlin. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a project: clang. Docker on its own has a p

[PATCH] D81595: [analyzer] SATest: Make main script Python2 compatible

2020-06-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a project: clang. If the user has only python2 installed and wants to use the dockerize

[PATCH] D81596: [analyzer] SATest: Do not re-run CMake in Docker if not needed

2020-06-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D8159

[PATCH] D81601: [analyzer] SATest: Use logger in single-threaded mode as well

2020-06-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, dcoughlin. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a project: clang. It generalizes the way th

[PATCH] D81600: [analyzer] SATest: Fix package versions for test dependencies

2020-06-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, dcoughlin. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a project: clang. Another possible differen

[PATCH] D81564: [analyzer] SATest: Add posibility to download source from git and zip

2020-06-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/utils/analyzer/ProjectMap.py:14 +class DownloadType(str, Enum): +GIT = "git" xazax.hun wrote: > I was wondering what is the point of inheriting from `str`. I am

[PATCH] D81567: [analyzer] SATest: Introduce a single entrypoint for regression scripts

2020-06-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. In D81567#2085622 , @Szelethus wrote: > I failed to follow much of this project so my question may be dumb -- but > have you considered other run comparing tools such as csa-testbench > (https://github.com/Xazax-hun/csa-testbe

[PATCH] D81567: [analyzer] SATest: Introduce a single entrypoint for regression scripts

2020-06-11 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 270059. vsavchenko added a comment. Change script modes as the shouldn't be used as executables now Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81567/new/ https://reviews.llvm.org/D81567 Files: clang/ut

[PATCH] D81642: [analyzer] CmpRuns.py: Fix error due to statistics differences

2020-06-11 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, dcoughlin. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a project: clang. vsavchenko added a parent

[PATCH] D78933: [analyzer] RangeConstraintManager optimizations in comparison expressions

2020-06-11 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko accepted this revision. vsavchenko added a comment. This revision is now accepted and ready to land. In D78933#2087386 , @ASDenysPetrov wrote: > @vsavchenko I've compiled some performance stats using //csa-testbench//. The > result are within

[PATCH] D81916: [analyzer] Fix StdLibraryFunctionsChecker crash on macOS

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, xazax.hun, Szelethus. Herald added subscribers: cfe-commits, ASDenysPetrov, martong, Charusso, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware. Herald added a project: clang. vsavchenko added a

[PATCH] D81916: [analyzer] Fix StdLibraryFunctionsChecker crash on macOS

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 271005. vsavchenko added a comment. Fix review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81916/new/ https://reviews.llvm.org/D81916 Files: clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp c

[PATCH] D81916: [analyzer] Fix StdLibraryFunctionsChecker crash on macOS

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 5 inline comments as done. vsavchenko added inline comments. Comment at: clang/test/Analysis/pch_crash.cpp:1 +// RUN: %clang_cc1 -triple x86_64-apple-macosx10.15.0 -emit-pch -o %t %s +// RUN: %clang_analyze_cc1 -triple x86_64-apple-macosx10.15.0 -include-pch %t

[PATCH] D81569: [analyzer] SATest: Add option to specify projects to test

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 271010. vsavchenko added a comment. Fix typo Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81569/new/ https://reviews.llvm.org/D81569 Files: clang/utils/analyzer/ProjectMap.py clang/utils/analyzer/SATes

[PATCH] D80517: [analyzer] CmpRuns.py: Refactor and add type annotations

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 271012. vsavchenko added a comment. Mark as NFC Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80517/new/ https://reviews.llvm.org/D80517 Files: clang/utils/analyzer/CmpRuns.py clang/utils/analyzer/SATes

[PATCH] D81564: [analyzer] SATest: Add posibility to download source from git and zip

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGbbb8f171364b: [analyzer] SATest: Add posibility to download source from git and zip (authored by vsavchenko). Changed prior to commit: https://reviews.llvm.org/D81564?vs=269814&id=271027#toc Repository

[PATCH] D80517: [analyzer] CmpRuns.py: Refactor and add type annotations

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG98f737f4bfc7: [analyzer] CmpRuns.py: Refactor and add type annotations. NFC. (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80517/ne

[PATCH] D81565: [analyzer] SATestAdd.py: Parse arguments with argparse

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG4a7b3d406f1e: [analyzer] SATestAdd.py: Parse arguments with argparse (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81565/new/ http

[PATCH] D81567: [analyzer] SATest: Introduce a single entrypoint for regression scripts

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd9944da273c4: [analyzer] SATest: Introduce a single entrypoint for regression scripts (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/

[PATCH] D81642: [analyzer] CmpRuns.py: Fix error due to statistics differences

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG4a606e0a8c8f: [analyzer] CmpRuns.py: Fix error due to statistics differences (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81642/ne

[PATCH] D81569: [analyzer] SATest: Add option to specify projects to test

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG38b455e91a63: [analyzer] SATest: Add option to specify projects to test (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81569/new/ h

[PATCH] D81563: [analyzer] SATest: Move from csv to json project maps

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGfb4b565212b0: [analyzer] SATest: Move from csv to json project maps (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81563/new/ https

[PATCH] D81568: [analyzer] ProjectMap: Do not serialize fields with default values

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGdc8a77de7db7: [analyzer] ProjectMap: Do not serialize fields with default values (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D8156

[PATCH] D81566: [analyzer] CmpRuns.py: Decouple main functionality from argparse

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG35dd0147cdd0: [analyzer] CmpRuns.py: Decouple main functionality from argparse (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81566/

[PATCH] D81916: [analyzer] Fix StdLibraryFunctionsChecker crash on macOS

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 2 inline comments as done. vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp:131 const Token &T = FilteredTokens.back(); - if (!T.isLiteral()) + if (!T.isLiteral() || !T.getLiteralData()) return llvm::None;

[PATCH] D81916: [analyzer] Fix StdLibraryFunctionsChecker crash on macOS

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 271073. vsavchenko added a comment. Add FIXME comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81916/new/ https://reviews.llvm.org/D81916 Files: clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp cla

[PATCH] D81916: [analyzer] Fix StdLibraryFunctionsChecker crash on macOS

2020-06-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG14b947f306ac: [analyzer] Fix StdLibraryFunctionsChecker crash on macOS (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81916/new/ ht

[PATCH] D82967: [analyzer][tests] Measure peak memory consumption for every project

2020-07-01 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, xazax.hun, Szelethus. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware. Herald added a project: clang. Repository: rG LLVM Githu

[PATCH] D82967: [analyzer][tests] Measure peak memory consumption for every project

2020-07-01 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 2 inline comments as done. vsavchenko added inline comments. Comment at: clang/utils/analyzer/SATestUtils.py:113 +peak_mem = max(peak_mem, get_memory(process)) +time.sleep(.5) + NoQ wrote: > Do i understand correc

[PATCH] D82445: [analyzer][solver] Track symbol equivalence

2020-07-06 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 275608. vsavchenko added a comment. Fix review remarks Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82445/new/ https://reviews.llvm.org/D82445 Files: clang/include/clang/StaticAnalyzer/Core/BugReporter/B

[PATCH] D82445: [analyzer][solver] Track symbol equivalence

2020-07-07 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 275949. vsavchenko added a comment. Fix comments and add a test for downcasts Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82445/new/ https://reviews.llvm.org/D82445 Files: clang/include/clang/StaticAnal

[PATCH] D83286: [analyzer][solver] Track symbol disequalities

2020-07-07 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, dcoughlin, ASDenysPetrov, xazax.hun, Szelethus. Herald added subscribers: cfe-commits, martong, Charusso, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware. Herald added a project: clang. This co

[PATCH] D82381: [analyzer] Introduce small improvements to the solver infra

2020-07-07 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 275955. vsavchenko added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82381/new/ https://reviews.llvm.org/D82381 Files: clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedCons

[PATCH] D82445: [analyzer][solver] Track symbol equivalence

2020-07-07 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 275956. vsavchenko added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82445/new/ https://reviews.llvm.org/D82445 Files: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVi

[PATCH] D83286: [analyzer][solver] Track symbol disequalities

2020-07-07 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 275957. vsavchenko added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83286/new/ https://reviews.llvm.org/D83286 Files: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp clang/

[PATCH] D82445: [analyzer][solver] Track symbol equivalence

2020-07-07 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 8 inline comments as done. vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:506 + APSIntType Type(Int); + return Int == Type.getZeroValue(); +} xazax.hun wrote: > Does the semantics if this

[PATCH] D82445: [analyzer][solver] Track symbol equivalence

2020-07-07 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 275981. vsavchenko added a comment. Get rid of 'isZero' Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82445/new/ https://reviews.llvm.org/D82445 Files: clang/include/clang/StaticAnalyzer/Core/BugReporter/

[PATCH] D83373: [analyzer][tests] Make test interruption safe

2020-07-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, dcoughlin, xazax.hun. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware. Herald added a project: clang. Repository: r

[PATCH] D83374: [analyzer][tests] Fix zip unpacking

2020-07-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, xazax.hun. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware. Herald added a project: clang. Repository: rG LLVM Gith

[PATCH] D82381: [analyzer] Introduce small improvements to the solver infra

2020-07-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 3 inline comments as done. vsavchenko added a comment. Hi @ASDenysPetrov no problem at all! Thanks for taking your time and checking it. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:367-378 +RangeSet RangeSet::Delete(BasicValueFactory

[PATCH] D83286: [analyzer][solver] Track symbol disequalities

2020-07-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. In D83286#2138734 , @ASDenysPetrov wrote: > Did you take into account that e.g. `a > b` also is a disequality. It is a very good point! I didn't take them into account (yet?) because they make the implementation a bit harder

[PATCH] D82381: [analyzer] Introduce small improvements to the solver infra

2020-07-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 2 inline comments as done. vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:734 //expressions which we currently do not know how to negate. - const RangeSet *getRangeForMinusSymbol(ProgramStateRef

[PATCH] D83374: [analyzer][tests] Fix zip unpacking

2020-07-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. I think that the problem is actually with the second '/', but I decided to retreat back to the form consistent to the rest `glob.glob` invocations in this file Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83374/new/ h

[PATCH] D83374: [analyzer][tests] Fix zip unpacking

2020-07-09 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. In D83374#2139505 , @NoQ wrote: > I thought the OS always ignores those? Ok anyway fair enough! I thought so too, but it looks like `glob` works in mysterious ways Repository: rG LLVM Github Monorepo CHANGES SINCE LAST AC

[PATCH] D83286: [analyzer][solver] Track symbol disequalities

2020-07-09 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 276729. vsavchenko added a comment. Fix review remarks Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83286/new/ https://reviews.llvm.org/D83286 Files: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.

[PATCH] D82967: [analyzer][tests] Measure peak memory consumption for every project

2020-07-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 276944. vsavchenko added a comment. Add matplotlib and graphviz to requirements.txt Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82967/new/ https://reviews.llvm.org/D82967 Files: clang/utils/analyzer/Doc

[PATCH] D83539: [analyzer][tests] Introduce analyzer benchmarking framework

2020-07-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, xazax.hun, dcoughlin. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware. Herald added a project: clang. This commit inc

[PATCH] D82967: [analyzer][tests] Measure peak memory consumption for every project

2020-07-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG21bacc215413: [analyzer][tests] Measure peak memory consumption for every project (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D829

[PATCH] D83374: [analyzer][tests] Fix zip unpacking

2020-07-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG00997d1cad9e: [analyzer][tests] Fix zip unpacking (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83374/new/ https://reviews.llvm.or

[PATCH] D83373: [analyzer][tests] Make test interruption safe

2020-07-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG9c7ff0a4aaef: [analyzer][tests] Make test interruption safe (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83373/new/ https://revie

[PATCH] D83539: [analyzer][tests] Introduce analyzer benchmarking framework

2020-07-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 276950. vsavchenko added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83539/new/ https://reviews.llvm.org/D83539 Files: clang/utils/analyzer/SATest.py clang/utils/analyzer/SATestBench

[PATCH] D83539: [analyzer][tests] Introduce analyzer benchmarking framework

2020-07-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Here is an example of how benchmarking chart looks like: F12321843: plot2.png It has 20 runs on each of those projects. It was the same revision of the analyzer, so it is still very sensitive to other stuff happening on the test

[PATCH] D83286: [analyzer][solver] Track symbol disequalities

2020-07-13 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Introduction I have some test results with execution times. Because the execution time varies from one execution to another, I've measured performance on master twice (I know that it's not very conclusive) to show that equivalence tracking doesn't affe

[PATCH] D82356: Fix bad doxygen result for class clang::ento::CallEvent and its derived classes

2020-07-13 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGe124062bf387: Fix bad doxygen result for class clang::ento::CallEvent and its derived classes (authored by OikawaKirie, committed by vsavchenko). Herald added a subscriber: cfe-commits. Repository: rG

[PATCH] D83701: [analyzer][tests] Add 5 more projects for testing

2020-07-13 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, Szelethus, xazax.hun, dcoughlin. Herald added subscribers: cfe-commits, sstefan1, ASDenysPetrov, Charusso, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware, kbarton, nemanjai. Herald added a rev

[PATCH] D83701: [analyzer][tests] Add 5 more projects for testing

2020-07-13 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Herald added a subscriber: wuzish. @NoQ, @Szelethus I included projects that you mentioned in a previous review. @Szelethus it looks like **tmux** has quite a few of dependencies after all 😅 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://re

[PATCH] D83660: [analyzer] Fix a crash for dereferencing an empty llvm::Optional variable in SMTConstraintManager.h.

2020-07-14 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a subscriber: vrnithinkumar. vsavchenko added a comment. In D83660#2148834 , @NoQ wrote: > Looks like a copy-paste error indeed. @vrnithinkumar @NoQ looks like a good opportunity for `SmartPtr` checker and `llvm::Optional`! Repository

[PATCH] D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions.

2020-07-14 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. I do like this change even apart from the `clang-tidy` integration epic. I strongly believe that decoupling (when done right) makes things easier and this change seems like a good first step. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67420/new/ https:/

[PATCH] D83286: [analyzer][solver] Track symbol disequalities

2020-07-14 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. In D83286#2148787 , @NoQ wrote: > Data 👍 Thanks 😊 These tables are already generated by a script and I plan to make it into **a phabricator reporter**, so it is easier to put all the data we need here. > Maybe spend a few m

[PATCH] D83701: [analyzer][tests] Add 5 more projects for testing

2020-07-14 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG089a0ad8bc99: [analyzer][tests] Add 5 more projects for testing (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83701/new/ https://r

[PATCH] D83539: [analyzer][tests] Introduce analyzer benchmarking framework

2020-07-14 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. vsavchenko marked an inline comment as done. Closed by commit rG5b4f14356450: [analyzer][tests] Introduce analyzer benchmarking framework (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST A

[PATCH] D83539: [analyzer][tests] Introduce analyzer benchmarking framework

2020-07-14 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added inline comments. Comment at: clang/utils/analyzer/SATestBenchmark.py:139-140 +import matplotlib +import seaborn as sns +from matplotlib import pyplot as plt + NoQ wrote: > Why shorten? It's not that we're saving a lot of typing, and i

[PATCH] D83286: [analyzer][solver] Track symbol disequalities

2020-07-14 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. >> Maybe spend a few minutes remeasuring `libsoundio` more carefully, just in >> case? > > Sure, will do! It turns out that **libsoundio** has a problem similar to **re2** and varies a lot in terms of the analysis time (probably we can even try to figure out some r

[PATCH] D83286: [analyzer][solver] Track symbol disequalities

2020-07-14 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. @xazax.hun You were interested in performance ⏫ These results here compare this patch together with D82445 against **master**. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83286/new/

[PATCH] D83836: [Analyzer] Implementing checkRegionChanges for SmartPtrModeling

2020-07-15 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp:97 +// If a region is removed all of the subregions needs to be removed too. +static ProgramStateRef removeTrackedRegions(ProgramStateRef State, nit: *need to b

[PATCH] D83877: [Analyzer] Changed in SmartPtrModeling to handle Swap

2020-07-15 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp:198 void SmartPtrModeling::handleSwap(const CallEvent &Call, CheckerContext &C) const { I think it would be good to add some

[PATCH] D82092: [analyzer] Handle `\l` symbol in Windows specific file paths in exploded-graph-rewriter

2020-06-18 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Even though it doesn't seem that necessary, I would still vote to comply with `clang-format` in tests as well. Other then that looks good to me! Additionally, I want to make a note that we are not really working hard on keeping all the scripts and the analyzer itself

[PATCH] D81571: [analyzer] SATest: Add initial docker infrastructure

2020-06-18 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 5 inline comments as done. vsavchenko added inline comments. Comment at: clang/utils/analyzer/Dockerfile:10 + +# newer CMake is required by LLVM +RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/

[PATCH] D81592: [analyzer] SATest: Add a set of initial projects for testing

2020-06-18 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/utils/analyzer/projects/box2d/run_static_analyzer.cmd:1 +cmake . -DCMAKE_BUILD_TYPE=Release -Bbuild -GNinja +cmake --build build NoQ wrote: > Is there a flag to enabl

[PATCH] D81598: [analyzer] SATest: Add an easy option to connect to docker for debugging

2020-06-18 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/utils/analyzer/entrypoint.py:23 +while True: +sleep(3600) + NoQ wrote: > I request comments (: Yeah, I guess it can be quite confusing when you read only

[PATCH] D81601: [analyzer] SATest: Use logger in single-threaded mode as well

2020-06-18 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/utils/analyzer/SATestBuild.py:650 Logger = logging.getLogger(test_info.project.name) LOCAL.stdout = StreamToLogger(Logger, logging.INFO) --

[PATCH] D82381: [analyzer] Introduce small improvements to the solver infra

2020-06-23 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, dcoughlin, ASDenysPetrov, xazax.hun, Szelethus. Herald added subscribers: cfe-commits, martong, Charusso, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware. Herald added a project: clang. - Add a

[PATCH] D82381: [analyzer] Introduce small improvements to the solver infra

2020-06-23 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 272722. vsavchenko added a comment. Remove hunk that is meant for the next commmit Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82381/new/ https://reviews.llvm.org/D82381 Files: clang/include/clang/Stat

[PATCH] D82381: [analyzer] Introduce small improvements to the solver infra

2020-06-23 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 272724. vsavchenko added a comment. Fix comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82381/new/ https://reviews.llvm.org/D82381 Files: clang/include/clang/StaticAnalyzer/Core/PathSensitive/Range

[PATCH] D82381: [analyzer] Introduce small improvements to the solver infra

2020-06-23 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 272729. vsavchenko added a comment. Add forgotten nodiscards Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82381/new/ https://reviews.llvm.org/D82381 Files: clang/include/clang/StaticAnalyzer/Core/PathSe

[PATCH] D82381: [analyzer] Introduce small improvements to the solver infra

2020-06-23 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:556 RangeSet infer(SymbolRef Sym) { -const RangeSet *AssociatedRange = State->get(Sym); - -// If Sym is a difference of s

[PATCH] D82445: [analyzer][solver] Track symbol equivalence

2020-06-24 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko created this revision. vsavchenko added reviewers: NoQ, dcoughlin, ASDenysPetrov, xazax.hun, Szelethus. Herald added subscribers: cfe-commits, martong, Charusso, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware. Herald added a project: clang. vsavchen

[PATCH] D82445: [analyzer][solver] Track symbol equivalence

2020-06-24 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 272954. vsavchenko added a comment. Fix incorrect comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82445/new/ https://reviews.llvm.org/D82445 Files: clang/include/clang/StaticAnalyzer/Core/BugReporte

[PATCH] D82381: [analyzer] Introduce small improvements to the solver infra

2020-06-24 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:467-470 +/// Available representations for the arguments are: +/// * RangeSet +/// * Optional +/// * RangeSet * --

[PATCH] D82445: [analyzer][solver] Track symbol equivalence

2020-06-24 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added a comment. > I really hope that the performance will be ok :) I had a test run for one of the earlier implementations of this and it looks like it adds 1-2% to the execution time. And of course I will attach more info on that late

[PATCH] D82381: [analyzer] Introduce small improvements to the solver infra

2020-06-24 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:373 + ++Upper; + --Lower; + xazax.hun wrote: > Sorry if my question is dumb, but I do not really have a mental mo

[PATCH] D81592: [analyzer] SATest: Add a set of initial projects for testing

2020-06-24 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 273051. vsavchenko added a comment. Change build type to Debug Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81592/new/ https://reviews.llvm.org/D81592 Files: .gitignore clang/utils/analyzer/.dockerigno

[PATCH] D81598: [analyzer] SATest: Add an easy option to connect to docker for debugging

2020-06-24 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 273063. vsavchenko added a comment. Add comments on waiting Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81598/new/ https://reviews.llvm.org/D81598 Files: clang/utils/analyzer/SATest.py clang/utils/ana

[PATCH] D81599: [analyzer] SATest: Add 5 more projects for testing

2020-06-24 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 273082. vsavchenko added a comment. Change build mode to Debug Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81599/new/ https://reviews.llvm.org/D81599 Files: clang/utils/analyzer/Dockerfile clang/utils

[PATCH] D81592: [analyzer] SATest: Add a set of initial projects for testing

2020-06-24 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 273083. vsavchenko added a comment. Add a new line in .dockerignore Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81592/new/ https://reviews.llvm.org/D81592 Files: .gitignore clang/utils/analyzer/.docke

[PATCH] D81571: [analyzer] SATest: Add initial docker infrastructure

2020-06-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGe010d1432fa1: [analyzer] SATest: Add initial docker infrastructure (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81571/new/ https:

[PATCH] D81572: [analyzer] SATest: Add convenience 'docker' command

2020-06-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG3770f5c9b98c: [analyzer] SATest: Add convenience 'docker' command (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81572/new/ https:/

[PATCH] D81592: [analyzer] SATest: Add a set of initial projects for testing

2020-06-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8dc2802773ce: [analyzer] SATest: Add a set of initial projects for testing (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81592/new/

[PATCH] D81600: [analyzer] SATest: Fix package versions for test dependencies

2020-06-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG7a84ab9f9bdb: [analyzer] SATest: Fix package versions for test dependencies (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81600/new

[PATCH] D81595: [analyzer] SATest: Make main script Python2 compatible

2020-06-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG94f0eb83a2e5: [analyzer] SATest: Make main script Python2 compatible (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81595/new/ http

[PATCH] D81598: [analyzer] SATest: Add an easy option to connect to docker for debugging

2020-06-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG11f287826fb3: [analyzer] SATest: Add an easy option to connect to docker for debugging (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org

[PATCH] D81596: [analyzer] SATest: Do not re-run CMake in Docker if not needed

2020-06-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG061b5bf914c6: [analyzer] SATest: Do not re-run CMake in Docker if not needed (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81596/ne

[PATCH] D81601: [analyzer] SATest: Use logger in single-threaded mode as well

2020-06-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG495fd6404190: [analyzer] SATest: Use logger in single-threaded mode as well (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81601/new

[PATCH] D81593: [analyzer] SATest: Make docker interfaces transparent

2020-06-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGe30706af2e14: [analyzer] SATest: Make docker interfaces transparent (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81593/new/ https

[PATCH] D81599: [analyzer] SATest: Add 5 more projects for testing

2020-06-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG6f55355c16b6: [analyzer] SATest: Add 5 more projects for testing (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81599/new/ https://

[PATCH] D82445: [analyzer][solver] Track symbol equivalence

2020-06-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 4 inline comments as done. vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:452 + EquivalenceClass(const EquivalenceClass &) = default; + EquivalenceClass &operator=(const EquivalenceClass &) = default; +

[PATCH] D78286: [analyzer] Track runtime types represented by Obj-C Class objects

2020-04-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 6 inline comments as done. vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:135 + if (MsgE->getReceiverKind() == ObjCMessageExpr::Class) { +return {MsgE->getClassReceiver()->getAs(), true}; + }

[PATCH] D78286: [analyzer] Track runtime types represented by Obj-C Class objects

2020-04-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:217-218 void DynamicTypePropagation::checkDeadSymbols(SymbolReaper &SR, CheckerContext &C) const { ProgramStateRef State

<    1   2   3   4   5   6   7   8   9   >