[PATCH] D77722: [analyzer] Do not report NSError null dereference for _Nonnull params

2020-04-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. In D77722#1969551 , @NoQ wrote: > Thanks! > > I'll commit. Awesome! Thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77722/new/ https://reviews.llvm.org/D77722

[PATCH] D77722: [analyzer] Do not report NSError null dereference for _Nonnull params

2020-04-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 256020. vsavchenko added a comment. Remove more auto's Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77722/new/ https://reviews.llvm.org/D77722 Files:

[PATCH] D77722: [analyzer] Do not report NSError null dereference for _Nonnull params

2020-04-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. In D77722#1969391 , @Szelethus wrote: > In D77722#1969261 , @vsavchenko > wrote: > > > Hi everyone! > > I'm thinking about adding support for `__attribute((nonnull))__` as well, > >

[PATCH] D77722: [analyzer] Do not report NSError null dereference for _Nonnull params

2020-04-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 256017. vsavchenko added a comment. Get rid of nonessential 'auto' in variable declaration Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77722/new/ https://reviews.llvm.org/D77722 Files:

[PATCH] D77722: [analyzer] Do not report NSError null dereference for _Nonnull params

2020-04-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 256009. vsavchenko added a comment. Fix review remarks Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77722/new/ https://reviews.llvm.org/D77722 Files:

[PATCH] D77806: [analyzer] Do not report CFError null dereference for nonnull params

2020-04-09 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 256331. vsavchenko added a comment. Add extra check to be safe Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77806/new/ https://reviews.llvm.org/D77806 Files:

[PATCH] D77806: [analyzer] Do not report CFError null dereference for nonnull params

2020-04-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 256530. vsavchenko added a comment. Fix review remarks Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77806/new/ https://reviews.llvm.org/D77806 Files:

[PATCH] D77806: [analyzer] Do not report CFError null dereference for nonnull params

2020-04-10 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 4 inline comments as done. vsavchenko added a comment. In D77806#1973616 , @NoQ wrote: > We're doing much more here than just fixing the CFError behavior; we're > actually making the whole analyzer respect these annotations in top

[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 , CheckerContext ) const { ProgramStateRef State =

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

2020-04-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 258065. vsavchenko marked 8 inline comments as done. vsavchenko added a comment. Fix issues pointed by @NoQ. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78286/new/ https://reviews.llvm.org/D78286 Files:

[PATCH] D77551: [analyzer] Fix NSErrorChecker false positives

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

[PATCH] D77551: [analyzer] Fix NSErrorChecker false positives

2020-04-06 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added a comment. In D77551#1964441 , @NoQ wrote: > Looks great, thanks! Do you already have commit access or should i commit > this for you? Thanks :-) No, I don't have commit access

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

2020-04-20 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 7 inline comments as done. vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:113 + +bool isObjCClassType(QualType Type) { + if (const auto *PointerType = dyn_cast(Type)) { NoQ wrote: >

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

2020-04-20 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:198 + // 'self' variable of the current class method. + if (ReceiverSVal == Message.getSelfSVal()) { +// In

[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 created this revision. vsavchenko added reviewers: NoQ, dcoughlin. Herald added subscribers: cfe-commits, ASDenysPetrov, martong, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a project: clang. Objective-C

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

2020-04-16 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 258003. vsavchenko added a comment. Fix unfinished comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78286/new/ https://reviews.llvm.org/D78286 Files:

[PATCH] D77722: [analyzer] Do not report NSError null dereference for _Nonnull params

2020-04-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/Checkers/NullabilityChecker.cpp:521 + // Annotations that we want to consider make sense only for types. + auto Region =

[PATCH] D77806: [analyzer] Do not report CFError null dereference for nonnull params

2020-04-09 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 256318. vsavchenko added a comment. Add forgotten hunk Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77806/new/ https://reviews.llvm.org/D77806 Files:

[PATCH] D77722: [analyzer] Do not report NSError null dereference for _Nonnull params

2020-04-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Hi everyone! I'm thinking about adding support for `__attribute((nonnull))__` as well, but it should be handled a bit differently. That annotation is for parameters and not for types, so the corresponding constraints should be generated only when entering the

[PATCH] D77722: [analyzer] Do not report NSError null dereference for _Nonnull params

2020-04-08 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 255993. vsavchenko added a comment. Fix formatting issues in the test file Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77722/new/ https://reviews.llvm.org/D77722 Files:

[PATCH] D77722: [analyzer] Do not report NSError null dereference for _Nonnull params

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

[PATCH] D77806: [analyzer] Do not report CFError null dereference for nonnull params

2020-04-09 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 256306. vsavchenko added a comment. Add one more test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77806/new/ https://reviews.llvm.org/D77806 Files:

[PATCH] D77806: [analyzer] Do not report CFError null dereference for nonnull params

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

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

2020-04-22 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:198 + // 'self' variable of the current class method. + if (ReceiverSVal == Message.getSelfSVal()) { +// In this case, we should return the type of the

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

2020-04-22 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 259314. vsavchenko marked 9 inline comments as done. vsavchenko added a comment. Fix review remarks Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78286/new/ https://reviews.llvm.org/D78286 Files:

[PATCH] D78638: [analyzer] Consider array subscripts to be interesting lvalues

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

[PATCH] D78638: [analyzer] Consider array subscripts to be interesting lvalues

2020-04-23 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/test/Analysis/CheckThatArraySubsciptNodeIsNotCollected.cpp:18-19 +// time to collect redundant nodes. This GC-like mechanism kicks in only when +// the exploded graph is large

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

2020-04-23 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 2 inline comments as done. vsavchenko added a comment. > Let's land this, I guess? Fantastic work! Thanks :-) Comment at: clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:198 + // 'self' variable of the current class method. + if

[PATCH] D79232: [analyzer] Refactor range inference for symbolic expressions

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

[PATCH] D79232: [analyzer] Refactor range inference for symbolic expressions

2020-05-02 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 3 inline comments as done. vsavchenko added a comment. > Very nice, i like this architecture. Aww, thanks  > @baloghadamsoftware @steakhal @ASDenysPetrov will you be able to plug D49074 > /D50256 > /D77792 >

[PATCH] D79232: [analyzer] Refactor range inference for symbolic expressions

2020-05-04 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 261833. vsavchenko marked an inline comment as done. vsavchenko added a comment. Now `getRange` is more likely to return unfeasible range. Calling `Intersect` and `pin` methods from such ranges might cause a crash. Check for unfeasible ranges.

[PATCH] D79336: [analyzer] Generalize bitwise OR rules for ranges

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

[PATCH] D79336: [analyzer] Generalize bitwise OR rules for ranges

2020-05-04 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Here is a little proof I've put together (using Z3): https://gist.github.com/SavchenkoValeriy/9ad6ca72e7420fd5612e618187bd4f76 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79336/new/ https://reviews.llvm.org/D79336

[PATCH] D79336: [analyzer] Generalize bitwise OR rules for ranges

2020-05-04 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked 3 inline comments as done. vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:77 + assert(!isEmpty()); + // NOTE: It's a shame that we can't implement 'getMaxValue' without scanning + // the whole

[PATCH] D78990: [analyzer] Allow bindings of the CompoundLiteralRegion

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

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

2020-04-28 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 260580. vsavchenko added a comment. Move getSelfSVal from CallEvent to ProgramState Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78286/new/ https://reviews.llvm.org/D78286 Files:

[PATCH] D79156: [analyzer] Merge implementations of SymInt, IntSym, and SymSym exprs

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

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

2020-04-29 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG239c53b72b18: [analyzer] Track runtime types represented by Obj-C Class objects (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D78638: [analyzer] Consider array subscripts to be interesting lvalues

2020-04-22 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 259341. vsavchenko added a comment. Add more clarity on what we test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78638/new/ https://reviews.llvm.org/D78638 Files:

[PATCH] D78638: [analyzer] Consider array subscripts to be interesting lvalues

2020-04-22 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/test/Analysis/PR53280338.cpp:1 +// RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=text -verify %s + martong wrote: > AFAIK rdar is not accessible

[PATCH] D78638: [analyzer] Consider array subscripts to be interesting lvalues

2020-04-22 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. In D78638#1997576 , @Szelethus wrote: > How come rGe20b388e2f923bfc98f63a13fea9fc19aeaec425 > doesn't > solve this? Or, rather, how come it even worked if

[PATCH] D79843: [analyzer] Fix crash for non-pointers annotated as nonnull

2020-05-13 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG855f0ce79bf3: [analyzer] Fix crash for non-pointers annotated as nonnull (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79843/new/

[PATCH] D80117: [analyzer] Introduce reasoning about symbolic remainder operator

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

[PATCH] D79232: [analyzer] Refactor range inference for symbolic expressions

2020-05-05 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 262170. vsavchenko added a comment. Add clarification on infeasible ranges in bitwise tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79232/new/ https://reviews.llvm.org/D79232 Files:

[PATCH] D79434: [analyzer] Generalize bitwise AND rules for ranges

2020-05-05 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Here is a little proof I've put together (using Z3): https://gist.github.com/SavchenkoValeriy/2355170159ce1febd27498c36ea22149 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79434/new/ https://reviews.llvm.org/D79434

[PATCH] D79336: [analyzer] Generalize bitwise OR rules for ranges

2020-05-05 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 262171. vsavchenko added a comment. Fix clang-format issue Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79336/new/ https://reviews.llvm.org/D79336 Files:

[PATCH] D79434: [analyzer] Generalize bitwise AND rules for ranges

2020-05-05 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 262158. vsavchenko added a comment. Add parent change Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79434/new/ https://reviews.llvm.org/D79434 Files:

[PATCH] D79434: [analyzer] Generalize bitwise AND rules for ranges

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

[PATCH] D79336: [analyzer] Generalize bitwise OR rules for ranges

2020-05-05 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 262163. vsavchenko added a comment. Fix few things here and there Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79336/new/ https://reviews.llvm.org/D79336 Files:

[PATCH] D79232: [analyzer] Refactor range inference for symbolic expressions

2020-05-05 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/test/Analysis/constant-folding.c:127-128 + if (a > 10) { +clang_analyzer_eval((a & 1) <= 1); // expected-warning{{FALSE}} +clang_analyzer_eval((a & 1) > 1); //

[PATCH] D79232: [analyzer] Refactor range inference for symbolic expressions

2020-05-05 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/test/Analysis/constant-folding.c:127-128 + if (a > 10) { +clang_analyzer_eval((a & 1) <= 1); // expected-warning{{FALSE}} +clang_analyzer_eval((a & 1) > 1); //

[PATCH] D79434: [analyzer] Generalize bitwise AND rules for ranges

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

[PATCH] D80117: [analyzer] Introduce reasoning about symbolic remainder operator

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

[PATCH] D80117: [analyzer] Introduce reasoning about symbolic remainder operator

2020-05-18 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:459 +bool CoversTheWholeType = +(Origin.From().isMinSignedValue() || Origin.To().isMaxValue()); + NoQ

[PATCH] D80117: [analyzer] Introduce reasoning about symbolic remainder operator

2020-05-18 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:462 +if (CoversTheWholeType) { + return {ValueFactory.getMinValue(RangeType), +

[PATCH] D79232: [analyzer] Refactor range inference for symbolic expressions

2020-05-18 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 264614. vsavchenko added a comment. Fix a problem with doubles sneaking into integer symbolic expressions Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79232/new/ https://reviews.llvm.org/D79232 Files:

[PATCH] D80117: [analyzer] Introduce reasoning about symbolic remainder operator

2020-05-18 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Here is a proof in Z3: https://gist.github.com/SavchenkoValeriy/559ca923b050f2c01e340c1be543b7e0 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80117/new/ https://reviews.llvm.org/D80117

[PATCH] D80117: [analyzer] Introduce reasoning about symbolic remainder operator

2020-05-18 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Here is a short summary of the performance testing I conducted across a bunch of open-source projects: | | vim | git | tmux| redis

[PATCH] D79336: [analyzer] Generalize bitwise OR rules for ranges

2020-05-18 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 264615. vsavchenko added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79336/new/ https://reviews.llvm.org/D79336 Files:

[PATCH] D79336: [analyzer] Generalize bitwise OR rules for ranges

2020-05-18 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 264602. vsavchenko added a comment. Fix a bug with double expressions withing integer expressions Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79336/new/ https://reviews.llvm.org/D79336 Files:

[PATCH] D79434: [analyzer] Generalize bitwise AND rules for ranges

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

[PATCH] D78990: [analyzer] Allow bindings of the CompoundLiteralRegion

2020-05-19 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 264831. vsavchenko added a comment. Fix code review remarks. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78990/new/ https://reviews.llvm.org/D78990 Files: clang/lib/StaticAnalyzer/Core/RegionStore.cpp

[PATCH] D80117: [analyzer] Introduce reasoning about symbolic remainder operator

2020-05-19 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 264863. vsavchenko added a comment. Fix code review remarks. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80117/new/ https://reviews.llvm.org/D80117 Files:

[PATCH] D79932: [analyzer] Modernize analyzer's Python scripts

2020-05-14 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGc98872e3a3c0: [analyzer] Modernize analyzers Python scripts (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79932/new/

[PATCH] D79932: [analyzer] Modernize analyzer's Python scripts

2020-05-14 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 updated this

[PATCH] D79932: [analyzer] Modernize analyzer's Python scripts

2020-05-14 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 263963. vsavchenko added a comment. Add more 'super' clean-ups Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79932/new/ https://reviews.llvm.org/D79932 Files: clang/utils/analyzer/CmpRuns.py

[PATCH] D79843: [analyzer] Fix crash for non-pointers annotated as nonnull

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

[PATCH] D79232: [analyzer] Refactor range inference for symbolic expressions

2020-05-06 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko marked an inline comment as done. vsavchenko added inline comments. Comment at: clang/test/Analysis/constant-folding.c:127-128 + if (a > 10) { +clang_analyzer_eval((a & 1) <= 1); // expected-warning{{FALSE}} +clang_analyzer_eval((a & 1) > 1); //

[PATCH] D80171: [analyzer] LoopUnrolling: fix crash when a parameter is a loop counter

2020-05-20 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko accepted this revision. vsavchenko added a comment. LGTM! Thanks again! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80171/new/ https://reviews.llvm.org/D80171 ___ cfe-commits mailing list

[PATCH] D75432: [analyzer][NFC][MallocChecker] Convert many parameters into CallEvent

2020-05-20 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Hi, @Szelethus, I don't know exactly which of the changes (this one, https://reviews.llvm.org/D75430, or https://reviews.llvm.org/D75431) causes a crash on SQLite, but it's definitely one of these. **Steps to reproduce** clang -cc1 -Wdeprecated-objc-isa-usage

[PATCH] D80211: [analyzer] SATestBuild.py: Optionally override compiler

2020-05-19 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. I agree, but I think we should refactor a bit how we process command line arguments before that. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80211/new/ https://reviews.llvm.org/D80211

[PATCH] D80211: [analyzer] SATestBuild.py: Optionally override compiler

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

[PATCH] D80171: [analyzer] LoopUnrolling: fix crash when a parameter is a loop counter

2020-05-19 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Thanks for taking your time to find and resolve the bug. I agree that this solution seems a bit too harsh. Technically there is no difference between local variable declaration and a parameter declaration (if we are talking about value types as pointed out by

[PATCH] D80211: [analyzer] SATestBuild.py: Optionally override compiler

2020-05-19 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG6846aec7313f: [analyzer] SATestBuild.py: Optionally override compiler (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80211/new/

[PATCH] D77802: [analyzer] Improved RangeSet::Negate support of unsigned ranges

2020-05-21 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. @NoQ @ASDenysPetrov I will rebase my changes - no worries :) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77802/new/ https://reviews.llvm.org/D77802 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D80423: [analyzer] SATestBuild.py: Refactor and add type annotations

2020-05-22 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 265682. vsavchenko added a comment. Fix update diffs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80423/new/ https://reviews.llvm.org/D80423 Files: clang/utils/analyzer/SATestAdd.py

[PATCH] D80424: [analyzer] SATestUtils.py: Refactor and add type annotations

2020-05-22 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 265680. vsavchenko added a comment. Modify forgotten parts Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80424/new/ https://reviews.llvm.org/D80424 Files: clang/utils/analyzer/SATestBuild.py

[PATCH] D80424: [analyzer] SATestUtils.py: Refactor and add type annotations

2020-05-22 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 updated this

[PATCH] D80423: [analyzer] SATestBuild.py: Refactor and add type annotations

2020-05-22 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. SATest scripts should be

[PATCH] D80427: [analyzer] SumTimerInfo.py: Partially modernize

2020-05-22 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

[PATCH] D80423: [analyzer] SATestBuild.py: Refactor and add type annotations

2020-05-22 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG4902ca6da49b: [analyzer] SATestBuild.py: Refactor and add type annotations (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D80424: [analyzer] SATestUtils.py: Refactor and add type annotations

2020-05-22 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG7cebfa4e0692: [analyzer] SATestUtils.py: Refactor and add type annotations (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D80427: [analyzer] SumTimerInfo.py: Partially modernize

2020-05-22 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG475d12028370: [analyzer] SumTimerInfo.py: Partially modernize (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80427/new/

[PATCH] D80426: [analyzer] SATestUpdateDiffs.py: Refactor and add type annotations

2020-05-22 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG5a9aff12ff3b: [analyzer] SATestUpdateDiffs.py: Refactor and add type annotations (authored by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D80426: [analyzer] SATestUpdateDiffs.py: Refactor and add type annotations

2020-05-22 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] D80423: [analyzer] SATestBuild.py: Refactor and add type annotations

2020-05-22 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko updated this revision to Diff 265691. vsavchenko added a comment. Fix code review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80423/new/ https://reviews.llvm.org/D80423 Files: clang/utils/analyzer/SATestAdd.py

[PATCH] D87004: [analyzer] Evaluate PredefinedExpressions

2020-09-02 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko requested changes to this revision. vsavchenko added inline comments. This revision now requires changes to proceed. Comment at: clang/lib/StaticAnalyzer/Core/SValBuilder.cpp:311 +const auto *PE = cast(E); +return

[PATCH] D86533: (Urgent!) [release][docs][analyzer] Add 11.0.0. release notes

2020-09-01 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko accepted this revision. vsavchenko added a comment. In D86533#2248856 , @Szelethus wrote: > I'd prefer to have a couple more green lights. In particular, another look on > the constraint manager and Objective C stuff would be great. Those

[PATCH] D87004: [analyzer] Evaluate PredefinedExpressions

2020-09-02 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. Thanks! Great job! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87004/new/ https://reviews.llvm.org/D87004

[PATCH] D87004: [analyzer] Evaluate PredefinedExpressions

2020-09-02 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added inline comments. Comment at: clang/test/Analysis/eval-predefined-exprs.cpp:101 +// Such functions have no function name of predefined expressions such as: '__func__' etc. +clang_analyzer_warnIfReached(); + } Also can you please add `//

[PATCH] D87004: [analyzer] Evaluate PredefinedExpressions

2020-09-02 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Awesome! Can we cover `__builtin_unique_stable_name` as well? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87004/new/ https://reviews.llvm.org/D87004 ___ cfe-commits mailing

[PATCH] D84415: [analyzer][StdLibraryFunctionsChecker] Add POSIX pthread handling functions

2020-09-07 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko accepted this revision. vsavchenko added a comment. LGTM! Thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84415/new/ https://reviews.llvm.org/D84415 ___ cfe-commits mailing list

[PATCH] D86465: [analyzer][solver] Redesign constraint ranges data structure

2020-08-26 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. Here are some benchmarking results. In docker: F12777445: tiny.png F12777444: small.png Natively on my Mac (no memory measurements due to this issue

[PATCH] D86465: [analyzer][solver] Redesign constraint ranges data structure

2020-08-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:119 + + return makePersistent(std::move(Result)); +} NoQ wrote: > Given that we're certain from the start that the container will be > persistent, can we

[PATCH] D86465: [analyzer][solver] Redesign constraint ranges data structure

2020-08-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added inline comments. Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h:88 + // structure is preferred. + using ImplType = llvm::SmallVector; + vsavchenko wrote: > NoQ wrote: > > vsavchenko wrote: > >

[PATCH] D86465: [analyzer][solver] Redesign constraint ranges data structure

2020-08-25 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. In D86465#2235289 , @NoQ wrote: > If the numbers are confirmed to be as good as what i've sneak-peeked so far, > that should be pretty amazing. Also whoa, test coverage!~ I'll add the charts with performance in the next

[PATCH] D86465: [analyzer][solver] Redesign constraint ranges data structure

2020-08-26 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added inline comments. Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h:110 + iterator end() const { return Impl->end(); } + size_t size() const { return Impl->size(); } + steakhal wrote: > I think it

[PATCH] D86533: (Urgent!) [release][docs][analyzer] Add 11.0.0. release notes

2020-08-26 Thread Valeriy Savchenko via Phabricator via cfe-commits
vsavchenko added a comment. In D86533#2236009 , @Szelethus wrote: > @vsavchenko I just realized a significant portion of your work for this > release is the following list: > > git log llvmorg-11-init..llvmorg-11.0.0-rc2 --oneline -- >

[PATCH] D85105: [doxygen] Fix bad doxygen results for BugReporterVisitors.h

2020-08-28 Thread Valeriy Savchenko via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG9300ca541164: [doxygen] Fix bad doxygen results for BugReporterVisitors.h (authored by OikawaKirie, committed by vsavchenko). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

  1   2   3   4   5   6   7   8   9   >