r354638 - [analyzer] MIGChecker: Take advantage of the mig_server_routine annotation.

2019-02-21 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Feb 21 16:02:47 2019 New Revision: 354638 URL: http://llvm.org/viewvc/llvm-project?rev=354638&view=rev Log: [analyzer] MIGChecker: Take advantage of the mig_server_routine annotation. r354530 has added a new function/block/message attribute "mig_server_routine" that at

r354641 - [analyzer] MIGChecker: Improve intermediate diagnostic notes.

2019-02-21 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Feb 21 16:06:30 2019 New Revision: 354641 URL: http://llvm.org/viewvc/llvm-project?rev=354641&view=rev Log: [analyzer] MIGChecker: Improve intermediate diagnostic notes. Add a BugReporterVisitor for highlighting the events of deallocating a parameter. All such events a

r354642 - [analyzer] MIGChecker: Fix an FN when the object is released in a destructor.

2019-02-21 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Feb 21 16:09:56 2019 New Revision: 354642 URL: http://llvm.org/viewvc/llvm-project?rev=354642&view=rev Log: [analyzer] MIGChecker: Fix an FN when the object is released in a destructor. When a MIG server routine argument is released in an automatic destructor, the Stat

r354643 - [analyzer] MIGChecker: Add support for more APIs.

2019-02-21 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Feb 21 16:15:14 2019 New Revision: 354643 URL: http://llvm.org/viewvc/llvm-project?rev=354643&view=rev Log: [analyzer] MIGChecker: Add support for more APIs. Add more "consuming" functions. For now only vm_deallocate() was supported. Add a non-zero value that isn't an

r354644 - [analyzer] MIGChecker: Enable by default as `osx.MIG'.

2019-02-21 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Feb 21 16:18:46 2019 New Revision: 354644 URL: http://llvm.org/viewvc/llvm-project?rev=354644&view=rev Log: [analyzer] MIGChecker: Enable by default as `osx.MIG'. With r354643, the checker is feature-rich and polished enough. rdar://problem/35380337 Differential Revi

Re: r361997 - [analyzer] print() JSONify: getNodeLabel implementation

2019-05-30 Thread Artem Dergachev via cfe-commits
Hi all, I'm perfectly fine with reducing this test case to only test the `conj_$3\{int, LC3, no stmt, #1\}` part and drop everything else, because that's what i've been testing when i originally introduced this test. The lack of determinism here indeed only affects our own self-debugging fa

r362340 - [analyzer] exploded-graph-rewriter: Initial commit.

2019-06-02 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Sun Jun 2 14:40:53 2019 New Revision: 362340 URL: http://llvm.org/viewvc/llvm-project?rev=362340&view=rev Log: [analyzer] exploded-graph-rewriter: Initial commit. This is a utility to improve readability and generally manipulate GraphViz dumps of the analysis graph. Such

r362343 - [analyzer] exploded-graph-rewriter: An attempt to fix Windows buildbots.

2019-06-02 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Sun Jun 2 16:17:56 2019 New Revision: 362343 URL: http://llvm.org/viewvc/llvm-project?rev=362343&view=rev Log: [analyzer] exploded-graph-rewriter: An attempt to fix Windows buildbots. Breakage caused by r362340. Modified: cfe/trunk/test/Analysis/exploded-graph-rewrit

r362347 - Revert "[analyzer] exploded-graph-rewriter: An attempt to fix Windows buildbots."

2019-06-02 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Sun Jun 2 17:21:00 2019 New Revision: 362347 URL: http://llvm.org/viewvc/llvm-project?rev=362347&view=rev Log: Revert "[analyzer] exploded-graph-rewriter: An attempt to fix Windows buildbots." This reverts commit r362343. Instead, disable tests on Windows for now. Modi

r362574 - [analyzer] exploded-graph-rewriter: Pick up python from cmake in tests.

2019-06-04 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue Jun 4 19:09:29 2019 New Revision: 362574 URL: http://llvm.org/viewvc/llvm-project?rev=362574&view=rev Log: [analyzer] exploded-graph-rewriter: Pick up python from cmake in tests. This should fix NetBSD buildbots. Modified: cfe/trunk/test/Analysis/exploded-graph-r

r362575 - [analyzer] exploded-graph-rewriter: Add the missing license header!

2019-06-04 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue Jun 4 19:09:49 2019 New Revision: 362575 URL: http://llvm.org/viewvc/llvm-project?rev=362575&view=rev Log: [analyzer] exploded-graph-rewriter: Add the missing license header! Modified: cfe/trunk/utils/analyzer/exploded-graph-rewriter.py Modified: cfe/trunk/utils/

r363891 - [analyzer] RetainCount: Add support for OSRequiredCast().

2019-06-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Jun 19 16:33:34 2019 New Revision: 363891 URL: http://llvm.org/viewvc/llvm-project?rev=363891&view=rev Log: [analyzer] RetainCount: Add support for OSRequiredCast(). It's a new API for custom RTTI in Apple IOKit/DriverKit framework that is similar to OSDynamicCast() th

r363893 - [analyzer] NFC: Change evalCall() to provide a CallEvent.

2019-06-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Jun 19 16:33:42 2019 New Revision: 363893 URL: http://llvm.org/viewvc/llvm-project?rev=363893&view=rev Log: [analyzer] NFC: Change evalCall() to provide a CallEvent. This changes the checker callback signature to use the modern, easy to use interface. Additionally, thi

r363894 - [analyzer] Fix JSON dumps for dynamic type information.

2019-06-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Jun 19 16:33:45 2019 New Revision: 363894 URL: http://llvm.org/viewvc/llvm-project?rev=363894&view=rev Log: [analyzer] Fix JSON dumps for dynamic type information. They're now valid JSON. Differential Revision: https://reviews.llvm.org/D62716 Modified: cfe/trunk/

r363892 - [analyzer] DeadStores: Add a crude suppression files generated by DriverKit IIG.

2019-06-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Jun 19 16:33:39 2019 New Revision: 363892 URL: http://llvm.org/viewvc/llvm-project?rev=363892&view=rev Log: [analyzer] DeadStores: Add a crude suppression files generated by DriverKit IIG. IIG is a replacement for MIG in DriverKit: IIG is autogenerating C++ code. Suppr

r363896 - [analyzer] Fix JSON dumps for store clusters.

2019-06-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Jun 19 16:33:51 2019 New Revision: 363896 URL: http://llvm.org/viewvc/llvm-project?rev=363896&view=rev Log: [analyzer] Fix JSON dumps for store clusters. Include a unique pointer so that it was possible to figure out if it's the same cluster in different program states

r363895 - [analyzer] Fix JSON dumps for location contexts.

2019-06-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Jun 19 16:33:48 2019 New Revision: 363895 URL: http://llvm.org/viewvc/llvm-project?rev=363895&view=rev Log: [analyzer] Fix JSON dumps for location contexts. Location context ID is a property of the location context, not of an item within it. It's useful to know the id

r363897 - [analyzer] exploded-graph-rewriter: Fix escaping StringRegions.

2019-06-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Jun 19 16:33:55 2019 New Revision: 363897 URL: http://llvm.org/viewvc/llvm-project?rev=363897&view=rev Log: [analyzer] exploded-graph-rewriter: Fix escaping StringRegions. Quotes around StringRegions are now escaped and unescaped correctly, producing valid JSON. Addit

r363898 - [analyzer] exploded-graph-rewriter: Implement a --diff mode.

2019-06-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Jun 19 16:33:59 2019 New Revision: 363898 URL: http://llvm.org/viewvc/llvm-project?rev=363898&view=rev Log: [analyzer] exploded-graph-rewriter: Implement a --diff mode. In this mode the tool would avoid duplicating the contents of the program state on every node, repla

r365827 - [analyzer] exploded-graph-rewriter: Fix filenames in program point.

2019-07-11 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Jul 11 14:27:42 2019 New Revision: 365827 URL: http://llvm.org/viewvc/llvm-project?rev=365827&view=rev Log: [analyzer] exploded-graph-rewriter: Fix filenames in program point. Fix a typo in JSON field name. Modified: cfe/trunk/test/Analysis/exploded-graph-rewriter

r365861 - [analyzer] exploded-graph-rewriter: Improve source location dumps.

2019-07-11 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Jul 11 19:10:33 2019 New Revision: 365861 URL: http://llvm.org/viewvc/llvm-project?rev=365861&view=rev Log: [analyzer] exploded-graph-rewriter: Improve source location dumps. - Correctly display macro expansion and spelling locations. - Use the same procedure to displa

r365863 - NFC: Unforget a colon in a few CHECK: directives.

2019-07-11 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Jul 11 19:16:56 2019 New Revision: 365863 URL: http://llvm.org/viewvc/llvm-project?rev=365863&view=rev Log: NFC: Unforget a colon in a few CHECK: directives. Differential Revision: https://reviews.llvm.org/D64526 Modified: cfe/trunk/test/Analysis/cfg-rich-construc

r368338 - [analyzer] Fix scan-build's plist output in plist-html mode.

2019-08-08 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Aug 8 13:22:32 2019 New Revision: 368338 URL: http://llvm.org/viewvc/llvm-project?rev=368338&view=rev Log: [analyzer] Fix scan-build's plist output in plist-html mode. r366941 accidentally made it delete all plist files as soon as they're produced. Modified: cfe/

r368765 - [analyzer] Disable the checker-plugins test on Darwin.

2019-08-13 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue Aug 13 16:04:44 2019 New Revision: 368765 URL: http://llvm.org/viewvc/llvm-project?rev=368765&view=rev Log: [analyzer] Disable the checker-plugins test on Darwin. Fixes a buildbot. Modified: cfe/trunk/test/Analysis/checker-plugins.c Modified: cfe/trunk/test/Analy

r368768 - [analyzer] exploded-graph-rewriter: Implement manual graph trimming.

2019-08-13 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue Aug 13 16:04:53 2019 New Revision: 368768 URL: http://llvm.org/viewvc/llvm-project?rev=368768&view=rev Log: [analyzer] exploded-graph-rewriter: Implement manual graph trimming. When -trim-egraph is unavailable (say, when you're debugging a crash on a real-world code th

r368766 - [analyzer] exploded-graph-rewriter: Open the converted graph immediately.

2019-08-13 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue Aug 13 16:04:47 2019 New Revision: 368766 URL: http://llvm.org/viewvc/llvm-project?rev=368766&view=rev Log: [analyzer] exploded-graph-rewriter: Open the converted graph immediately. Change the default behavior: the tool no longer dumps the rewritten .dot file to stdout

r368767 - [analyzer] exploded-graph-rewriter: NFC: Refactor explorers into trimmers.

2019-08-13 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue Aug 13 16:04:50 2019 New Revision: 368767 URL: http://llvm.org/viewvc/llvm-project?rev=368767&view=rev Log: [analyzer] exploded-graph-rewriter: NFC: Refactor explorers into trimmers. Explorers aren't the right abstraction. For the purposes of displaying svg files we do

r368769 - [analyzer] exploded-graph-rewriter: Implement displaying Store pointers.

2019-08-13 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue Aug 13 16:04:56 2019 New Revision: 368769 URL: http://llvm.org/viewvc/llvm-project?rev=368769&view=rev Log: [analyzer] exploded-graph-rewriter: Implement displaying Store pointers. They're useful when trying to understand what's going on inside your LazyCompoundValues.

r369319 - [analyzer] NFC: Drop support for extra text attached to bug reports.

2019-08-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Aug 19 19:15:47 2019 New Revision: 369319 URL: http://llvm.org/viewvc/llvm-project?rev=369319&view=rev Log: [analyzer] NFC: Drop support for extra text attached to bug reports. It was introduced in 2011 but never used since then. Modified: cfe/trunk/include/clang/

r369320 - [analyzer] NFC: Rename GRBugReporter to PathSensitiveBugReporter.

2019-08-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Aug 19 19:15:50 2019 New Revision: 369320 URL: http://llvm.org/viewvc/llvm-project?rev=369320&view=rev Log: [analyzer] NFC: Rename GRBugReporter to PathSensitiveBugReporter. The GR prefix is super ancient. Modified: cfe/trunk/include/clang/StaticAnalyzer/Core/BugR

r369321 - [CallGraph] Take into accound calls that aren't within any function bodies.

2019-08-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Aug 19 19:22:37 2019 New Revision: 369321 URL: http://llvm.org/viewvc/llvm-project?rev=369321&view=rev Log: [CallGraph] Take into accound calls that aren't within any function bodies. This patch improves Clang call graph analysis by adding in expressions that are not f

r363995 - [analyzer] DeadStores: Update the crude suppression for files generated by IIG.

2019-06-20 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Jun 20 15:29:40 2019 New Revision: 363995 URL: http://llvm.org/viewvc/llvm-project?rev=363995&view=rev Log: [analyzer] DeadStores: Update the crude suppression for files generated by IIG. They changed the comments that we were looking for. Modified: cfe/trunk/lib/

r364267 - [analyzer] NFC: exploded-graph-rewriter: Extract some code into functions.

2019-06-24 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jun 24 19:16:50 2019 New Revision: 364267 URL: http://llvm.org/viewvc/llvm-project?rev=364267&view=rev Log: [analyzer] NFC: exploded-graph-rewriter: Extract some code into functions. Differential Revision: https://reviews.llvm.org/D63684 Modified: cfe/trunk/utils/

r364268 - [analyzer] exploded-graph-rewriter: Add support for range constraints.

2019-06-24 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jun 24 19:16:53 2019 New Revision: 364268 URL: http://llvm.org/viewvc/llvm-project?rev=364268&view=rev Log: [analyzer] exploded-graph-rewriter: Add support for range constraints. Diff support included. A cheap solution is implemented that treats range constraints as "

r364269 - [analyzer] exploded-graph-rewriter: Fix escaping for bitwise-or.

2019-06-24 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jun 24 19:16:56 2019 New Revision: 364269 URL: http://llvm.org/viewvc/llvm-project?rev=364269&view=rev Log: [analyzer] exploded-graph-rewriter: Fix escaping for bitwise-or. '|' is a special character in graphviz, so it needs to be properly escaped and unescaped. Modif

r364266 - [analyzer] Add more timers for performance profiling.

2019-06-24 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jun 24 19:16:47 2019 New Revision: 364266 URL: http://llvm.org/viewvc/llvm-project?rev=364266&view=rev Log: [analyzer] Add more timers for performance profiling. The -analyzer-stats flag now allows you to find out how much time was spent on AST-based analysis and on pa

r364365 - [analyzer] exploded-graph-rewriter: Prettier location context dumps.

2019-06-25 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue Jun 25 17:14:49 2019 New Revision: 364365 URL: http://llvm.org/viewvc/llvm-project?rev=364365&view=rev Log: [analyzer] exploded-graph-rewriter: Prettier location context dumps. Make them span wider. Modified: cfe/trunk/test/Analysis/exploded-graph-rewriter/environ

r364864 - [analyzer] exploded-graph-rewriter: Implement program point tags.

2019-07-01 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 1 16:01:55 2019 New Revision: 364864 URL: http://llvm.org/viewvc/llvm-project?rev=364864&view=rev Log: [analyzer] exploded-graph-rewriter: Implement program point tags. Keep them on a separate line for more visibility. Differential Revision: https://reviews.llvm.

r364865 - [analyzer] exploded-graph-rewriter: Add support for dynamic types.

2019-07-01 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 1 16:01:59 2019 New Revision: 364865 URL: http://llvm.org/viewvc/llvm-project?rev=364865&view=rev Log: [analyzer] exploded-graph-rewriter: Add support for dynamic types. Slightly cleanup emission of horizontal lines and unhardcode the title for generic maps. Diff

r364868 - [analyzer] CStringChecker: Modernize to use CallDescriptions.

2019-07-01 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 1 16:02:10 2019 New Revision: 364868 URL: http://llvm.org/viewvc/llvm-project?rev=364868&view=rev Log: [analyzer] CStringChecker: Modernize to use CallDescriptions. This patch uses the new CDF_MaybeBuiltin flag to handle C library functions. It's mostly an NFC/ref

r364869 - [analyzer] NonnullGlobalConstants: Don't be confused by a _Nonnull attribute.

2019-07-01 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 1 16:02:14 2019 New Revision: 364869 URL: http://llvm.org/viewvc/llvm-project?rev=364869&view=rev Log: [analyzer] NonnullGlobalConstants: Don't be confused by a _Nonnull attribute. The NonnullGlobalConstants checker models the rule "it doesn't make sense to make a

r364870 - [analyzer] Fix invalidation when returning into a ctor initializer.

2019-07-01 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 1 16:02:18 2019 New Revision: 364870 URL: http://llvm.org/viewvc/llvm-project?rev=364870&view=rev Log: [analyzer] Fix invalidation when returning into a ctor initializer. Due to RVO the target region of a function that returns an object by value isn't necessarily

r364866 - [analyzer] NFC: Add a convenient CallDescriptionMap class.

2019-07-01 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 1 16:02:03 2019 New Revision: 364866 URL: http://llvm.org/viewvc/llvm-project?rev=364866&view=rev Log: [analyzer] NFC: Add a convenient CallDescriptionMap class. It encapsulates the procedure of figuring out whether a call event corresponds to a function that's mo

r364867 - [analyzer] NFC: CallDescription: Implement describing C library functions.

2019-07-01 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 1 16:02:07 2019 New Revision: 364867 URL: http://llvm.org/viewvc/llvm-project?rev=364867&view=rev Log: [analyzer] NFC: CallDescription: Implement describing C library functions. When matching C standard library functions in the checker, it's easy to forget that th

r364871 - [analyzer] exploded-graph-rewriter: NFC: Add a forgotten test file.

2019-07-01 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 1 16:06:08 2019 New Revision: 364871 URL: http://llvm.org/viewvc/llvm-project?rev=364871&view=rev Log: [analyzer] exploded-graph-rewriter: NFC: Add a forgotten test file. This fell off of r364865. Added: cfe/trunk/test/Analysis/exploded-graph-rewriter/dynamic

r364880 - [analyzer] exploded-graph-rewriter: Add support for objects under construction.

2019-07-01 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 1 19:17:50 2019 New Revision: 364880 URL: http://llvm.org/viewvc/llvm-project?rev=364880&view=rev Log: [analyzer] exploded-graph-rewriter: Add support for objects under construction. This trait is Environment-like, so there was a chance to re-use a lot of code. D

r364881 - [analyzer] exploded-graph-rewriter: Improve program point dumps.

2019-07-01 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 1 19:17:53 2019 New Revision: 364881 URL: http://llvm.org/viewvc/llvm-project?rev=364881&view=rev Log: [analyzer] exploded-graph-rewriter: Improve program point dumps. - Take advantage of the stmt_point_kind. - Dump block IDs for BlockEntrance nodes. - Don't dump

r364882 - [analyzer] exploded-graph-rewriter: Implement a dark color scheme.

2019-07-01 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 1 19:17:56 2019 New Revision: 364882 URL: http://llvm.org/viewvc/llvm-project?rev=364882&view=rev Log: [analyzer] exploded-graph-rewriter: Implement a dark color scheme. Addresses a popular request. Activated via --dark. Differential Revision: https://reviews.llv

r364990 - [analyzer] exploded-graph-rewriter: Collapse very long statement pretty-prints.

2019-07-02 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue Jul 2 18:26:35 2019 New Revision: 364990 URL: http://llvm.org/viewvc/llvm-project?rev=364990&view=rev Log: [analyzer] exploded-graph-rewriter: Collapse very long statement pretty-prints. When printing various statements that include braces (compound statements, lambda

r364989 - [analyzer] exploded-graph-rewriter: Implement checker messages.

2019-07-02 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue Jul 2 18:26:32 2019 New Revision: 364989 URL: http://llvm.org/viewvc/llvm-project?rev=364989&view=rev Log: [analyzer] exploded-graph-rewriter: Implement checker messages. They are displayed as raw lines and diffed via difflib on a per-checker basis. Differential Revi

r364992 - [analyzer] exploded-graph-rewriter: Implement bug nodes and sink nodes.

2019-07-02 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue Jul 2 18:26:41 2019 New Revision: 364992 URL: http://llvm.org/viewvc/llvm-project?rev=364992&view=rev Log: [analyzer] exploded-graph-rewriter: Implement bug nodes and sink nodes. Add a label to nodes that have a bug report attached or on which the analysis was general

r364991 - [analyzer] exploded-graph-rewriter: NFC: Add more comments.

2019-07-02 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue Jul 2 18:26:38 2019 New Revision: 364991 URL: http://llvm.org/viewvc/llvm-project?rev=364991&view=rev Log: [analyzer] exploded-graph-rewriter: NFC: Add more comments. Modified: cfe/trunk/utils/analyzer/exploded-graph-rewriter.py Modified: cfe/trunk/utils/analyzer

r365085 - [analyzer] exploded-graph-rewriter: Implement a black-and-white color scheme.

2019-07-03 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Jul 3 13:48:23 2019 New Revision: 365085 URL: http://llvm.org/viewvc/llvm-project?rev=365085&view=rev Log: [analyzer] exploded-graph-rewriter: Implement a black-and-white color scheme. For accessibility! Differential Revision: https://reviews.llvm.org/D64153 Modifie

r365410 - [analyzer] exploded-graph-rewriter: Implement a topology-only mode.

2019-07-08 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 8 16:54:14 2019 New Revision: 365410 URL: http://llvm.org/viewvc/llvm-project?rev=365410&view=rev Log: [analyzer] exploded-graph-rewriter: Implement a topology-only mode. In this mode the rewriter will only rewrite program points and omit program states. Useful fo

r365409 - [analyzer] exploded-graph-rewriter: Implement a single-path mode.

2019-07-08 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Jul 8 16:54:11 2019 New Revision: 365409 URL: http://llvm.org/viewvc/llvm-project?rev=365409&view=rev Log: [analyzer] exploded-graph-rewriter: Implement a single-path mode. Instead of rewriting the whole graph, rewrite the leftmost path in the graph. Useful for trimme

r360737 - [analyzer] MIGChecker: Add support for os_ref_retain().

2019-05-14 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue May 14 18:19:19 2019 New Revision: 360737 URL: http://llvm.org/viewvc/llvm-project?rev=360737&view=rev Log: [analyzer] MIGChecker: Add support for os_ref_retain(). Suppress MIG checker false positives that occur when the programmer increments the reference count before

r360739 - [analyzer] MIGChecker: Fix redundant semicolon.

2019-05-14 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Tue May 14 18:36:41 2019 New Revision: 360739 URL: http://llvm.org/viewvc/llvm-project?rev=360739&view=rev Log: [analyzer] MIGChecker: Fix redundant semicolon. Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/MIGChecker.cpp Modified: cfe/trunk/lib/StaticAnalyzer/Checke

r360790 - [analyzer] RetainCount: Fix os_returns_retained_on_zero with weird return types.

2019-05-15 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed May 15 11:41:32 2019 New Revision: 360790 URL: http://llvm.org/viewvc/llvm-project?rev=360790&view=rev Log: [analyzer] RetainCount: Fix os_returns_retained_on_zero with weird return types. The checker was crashing when it was trying to assume a structure to be null or

r361586 - [CFG] NFC: Remove implicit conversion from CFGTerminator to Stmt *.

2019-05-23 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu May 23 18:34:22 2019 New Revision: 361586 URL: http://llvm.org/viewvc/llvm-project?rev=361586&view=rev Log: [CFG] NFC: Remove implicit conversion from CFGTerminator to Stmt *. Turn it into a variant class instead. This conversion does indeed save some code but there's

r361587 - [CFG] NFC: Modernize a test file for constructor initializer CFGs.

2019-05-23 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu May 23 18:34:26 2019 New Revision: 361587 URL: http://llvm.org/viewvc/llvm-project?rev=361587&view=rev Log: [CFG] NFC: Modernize a test file for constructor initializer CFGs. Move FileCheck directives around so that it was easy to understand what tests what and what ef

r361592 - [analyzer] NFC: Prevent multi-file plist test from spamming up the build folder.

2019-05-23 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu May 23 19:29:18 2019 New Revision: 361592 URL: http://llvm.org/viewvc/llvm-project?rev=361592&view=rev Log: [analyzer] NFC: Prevent multi-file plist test from spamming up the build folder. It was producing an HTML report with a random name on every tests run and never

r361681 - [CFG] Add branch to skip vbase inits when they're handled by superclass.

2019-05-24 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Fri May 24 16:37:08 2019 New Revision: 361681 URL: http://llvm.org/viewvc/llvm-project?rev=361681&view=rev Log: [CFG] Add branch to skip vbase inits when they're handled by superclass. This patch adds the run-time CFG branch that would skip initialization of virtual base c

r361682 - [analyzer] Add a prunable note for skipping vbase inits in subclasses.

2019-05-24 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Fri May 24 16:37:11 2019 New Revision: 361682 URL: http://llvm.org/viewvc/llvm-project?rev=361682&view=rev Log: [analyzer] Add a prunable note for skipping vbase inits in subclasses. When initialization of virtual base classes is skipped, we now tell the user about it, bec

r362009 - [analyzer] SATestBuild.py: Use driver for analyzing single-file tests.

2019-05-29 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed May 29 11:49:31 2019 New Revision: 362009 URL: http://llvm.org/viewvc/llvm-project?rev=362009&view=rev Log: [analyzer] SATestBuild.py: Use driver for analyzing single-file tests. Don't bother coming up with a -cc1 run-line ourselves. This, in particular, gets rid of a

r349000 - [analyzer] RunLoopAutoreleaseLeakChecker: Come up with a test for r348822.

2018-12-12 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Dec 12 17:30:47 2018 New Revision: 349000 URL: http://llvm.org/viewvc/llvm-project?rev=349000&view=rev Log: [analyzer] RunLoopAutoreleaseLeakChecker: Come up with a test for r348822. Statement memoization was removed in r348822 because it was noticed to cause memory co

r349190 - [analyzer] MoveChecker: Improve invalidation policies.

2018-12-14 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Fri Dec 14 12:47:58 2018 New Revision: 349190 URL: http://llvm.org/viewvc/llvm-project?rev=349190&view=rev Log: [analyzer] MoveChecker: Improve invalidation policies. If a moved-from object is passed into a conservatively evaluated function by pointer or by reference, we a

r349191 - [analyzer] MoveChecker Pt.6: Suppress the warning for the move-safe STL classes.

2018-12-14 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Fri Dec 14 12:52:57 2018 New Revision: 349191 URL: http://llvm.org/viewvc/llvm-project?rev=349191&view=rev Log: [analyzer] MoveChecker Pt.6: Suppress the warning for the move-safe STL classes. Some C++ standard library classes provide additional guarantees about their stat

r349225 - [analyzer] MoveChecker: NFC: De-duplicate a few checks.

2018-12-14 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Fri Dec 14 17:50:58 2018 New Revision: 349225 URL: http://llvm.org/viewvc/llvm-project?rev=349225&view=rev Log: [analyzer] MoveChecker: NFC: De-duplicate a few checks. No functional change intended. Differential Revision: https://reviews.llvm.org/D55387 Modified: cfe

r349226 - [analyzer] MoveChecker: Add checks for dereferencing a smart pointer after move.

2018-12-14 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Fri Dec 14 17:53:38 2018 New Revision: 349226 URL: http://llvm.org/viewvc/llvm-project?rev=349226&view=rev Log: [analyzer] MoveChecker: Add checks for dereferencing a smart pointer after move. Calling operator*() or operator->() on a null STL smart pointer is undefined beh

r349227 - [analyzer] ObjCContainers: Track index values.

2018-12-14 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Fri Dec 14 18:06:13 2018 New Revision: 349227 URL: http://llvm.org/viewvc/llvm-project?rev=349227&view=rev Log: [analyzer] ObjCContainers: Track index values. Use trackExpressionValue() (previously known as trackNullOrUndefValue()) to track index value in the report, so th

r349228 - [analyzer] ObjCDealloc: Fix a crash when a class attempts to deallocate a class.

2018-12-14 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Fri Dec 14 18:09:02 2018 New Revision: 349228 URL: http://llvm.org/viewvc/llvm-project?rev=349228&view=rev Log: [analyzer] ObjCDealloc: Fix a crash when a class attempts to deallocate a class. The checker wasn't prepared to see the dealloc message sent to the class itself

r349229 - [analyzer] Fix unknown block calls to have zero parameters.

2018-12-14 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Fri Dec 14 18:13:26 2018 New Revision: 349229 URL: http://llvm.org/viewvc/llvm-project?rev=349229&view=rev Log: [analyzer] Fix unknown block calls to have zero parameters. Right now they report to have one parameter with null decl, because initializing an ArrayRef of point

r349233 - Revert "[analyzer] MoveChecker: Add checks for dereferencing a smart pointer..."

2018-12-14 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Fri Dec 14 18:55:55 2018 New Revision: 349233 URL: http://llvm.org/viewvc/llvm-project?rev=349233&view=rev Log: Revert "[analyzer] MoveChecker: Add checks for dereferencing a smart pointer..." This reverts commit r349226. Fails on an MSVC buildbot. Modified: cfe/trun

r349320 - [analyzer] Fix some expressions staying live too long. Add a debug checker.

2018-12-16 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Sun Dec 16 15:44:06 2018 New Revision: 349320 URL: http://llvm.org/viewvc/llvm-project?rev=349320&view=rev Log: [analyzer] Fix some expressions staying live too long. Add a debug checker. StaticAnalyzer uses the CFG-based RelaxedLiveVariables analysis in order to, in parti

r349326 - Speculatively re-apply "[analyzer] MoveChecker: Add checks for dereferencing..."

2018-12-16 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Sun Dec 16 21:25:23 2018 New Revision: 349326 URL: http://llvm.org/viewvc/llvm-project?rev=349326&view=rev Log: Speculatively re-apply "[analyzer] MoveChecker: Add checks for dereferencing..." This re-applies commit r349226 that was reverted in r349233 due to failures on c

r349327 - [analyzer] MoveChecker: Add an option to suppress warnings on locals.

2018-12-16 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Sun Dec 16 22:19:32 2018 New Revision: 349327 URL: http://llvm.org/viewvc/llvm-project?rev=349327&view=rev Log: [analyzer] MoveChecker: Add an option to suppress warnings on locals. Re-using a moved-from local variable is most likely a bug because there's rarely a good mot

r349328 - [analyzer] MoveChecker: Enable by default as cplusplus.Move.

2018-12-16 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Sun Dec 16 22:30:39 2018 New Revision: 349328 URL: http://llvm.org/viewvc/llvm-project?rev=349328&view=rev Log: [analyzer] MoveChecker: Enable by default as cplusplus.Move. This checker warns you when you re-use an object after moving it. Mostly developed by Peter Szecsi!

r349394 - [analyzer] MoveChecker: Squash the bit field because it causes a GCC warning.

2018-12-17 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Mon Dec 17 13:07:38 2018 New Revision: 349394 URL: http://llvm.org/viewvc/llvm-project?rev=349394&view=rev Log: [analyzer] MoveChecker: Squash the bit field because it causes a GCC warning. The warning seems spurious (GCC bug 51242), but the bit field is simply not worth t

r349682 - [analyzer] CStringChecker: Fix a crash on C++ overloads of standard functions.

2018-12-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Dec 19 13:50:46 2018 New Revision: 349682 URL: http://llvm.org/viewvc/llvm-project?rev=349682&view=rev Log: [analyzer] CStringChecker: Fix a crash on C++ overloads of standard functions. It turns out that it's not all that uncommon to have a C++ override of, say, memcp

r349683 - [analyzer] CStringChecker: Add the forgotten test file.

2018-12-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Dec 19 13:51:59 2018 New Revision: 349683 URL: http://llvm.org/viewvc/llvm-project?rev=349683&view=rev Log: [analyzer] CStringChecker: Add the forgotten test file. Differential Revision: https://reviews.llvm.org/D55873 rdar://problem/45366551 Added: cfe/trunk/tes

r349696 - [analyzer] Improve modeling for returning an object from the top frame with RVO.

2018-12-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Dec 19 15:14:06 2018 New Revision: 349696 URL: http://llvm.org/viewvc/llvm-project?rev=349696&view=rev Log: [analyzer] Improve modeling for returning an object from the top frame with RVO. Static Analyzer processes the program function-by-function, sometimes diving int

r349698 - [analyzer] GenericTaint: Fix formatting to prepare for incoming improvements.

2018-12-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Dec 19 15:35:08 2018 New Revision: 349698 URL: http://llvm.org/viewvc/llvm-project?rev=349698&view=rev Log: [analyzer] GenericTaint: Fix formatting to prepare for incoming improvements. Patch by Gábor Borsik! Differential Revision: https://reviews.llvm.org/D54918 Mod

r349701 - [analyzer] pr38668: Do not attempt to cast loaded values of non-scalar types.

2018-12-19 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Dec 19 15:48:44 2018 New Revision: 349701 URL: http://llvm.org/viewvc/llvm-project?rev=349701&view=rev Log: [analyzer] pr38668: Do not attempt to cast loaded values of non-scalar types. It is expected to have the same object (memory region) treated as if it has differe

r349798 - Revert "[analyzer] pr38668: Do not attempt to cast loaded values..."

2018-12-20 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Dec 20 11:36:06 2018 New Revision: 349798 URL: http://llvm.org/viewvc/llvm-project?rev=349798&view=rev Log: Revert "[analyzer] pr38668: Do not attempt to cast loaded values..." This reverts commit r349701. The patch was incorrect. The whole point of CastRetrievedVal()

r349824 - [driver] [analyzer] Fix a backward compatibility issue after r348038.

2018-12-20 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Dec 20 13:26:40 2018 New Revision: 349824 URL: http://llvm.org/viewvc/llvm-project?rev=349824&view=rev Log: [driver] [analyzer] Fix a backward compatibility issue after r348038. Since r348038 we emit an error every time an -analyzer-config option is not found. The driv

r349828 - [driver] [analyzer] Fix buildbots after r349824.

2018-12-20 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Dec 20 13:45:33 2018 New Revision: 349828 URL: http://llvm.org/viewvc/llvm-project?rev=349828&view=rev Log: [driver] [analyzer] Fix buildbots after r349824. Buildbots can't find the linker, which we don't really need in our tests. Differential Revision: https://review

r349835 - [driver] [analyzer] Fix redundant test output.

2018-12-20 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Dec 20 13:56:49 2018 New Revision: 349835 URL: http://llvm.org/viewvc/llvm-project?rev=349835&view=rev Log: [driver] [analyzer] Fix redundant test output. The -c flag causes a .o file to appear every time we run a test. Remove it. Differential Revision: https://review

r349843 - Revert "[driver] [analyzer] Fix a backward compatibility issue after r348038."

2018-12-20 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Dec 20 14:29:49 2018 New Revision: 349843 URL: http://llvm.org/viewvc/llvm-project?rev=349843&view=rev Log: Revert "[driver] [analyzer] Fix a backward compatibility issue after r348038." This reverts commits r349824, r349828, r349835. More buildbot failures were notic

r349862 - [analyzer] RetainCount: Suppress retain detection heuristic on some CM methods.

2018-12-20 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Dec 20 16:18:58 2018 New Revision: 349862 URL: http://llvm.org/viewvc/llvm-project?rev=349862&view=rev Log: [analyzer] RetainCount: Suppress retain detection heuristic on some CM methods. If it ends with "Retain" like CFRetain and returns a CFTypeRef like CFRetain, the

r349866 - [driver] [analyzer] Fix --analyze -Xanalyzer after r349863.

2018-12-20 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Dec 20 17:11:21 2018 New Revision: 349866 URL: http://llvm.org/viewvc/llvm-project?rev=349866&view=rev Log: [driver] [analyzer] Fix --analyze -Xanalyzer after r349863. If an -analyzer-config is passed through -Xanalyzer, it is not found while looking for -Xclang. Addi

r349984 - [analyzer] pr38668: Do not attempt to cast loaded integers to floats.

2018-12-21 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Fri Dec 21 18:06:51 2018 New Revision: 349984 URL: http://llvm.org/viewvc/llvm-project?rev=349984&view=rev Log: [analyzer] pr38668: Do not attempt to cast loaded integers to floats. This patch is a different approach to landing the reverted r349701. It is expected to have

r350907 - [analyzer] pr38838, pr39976: Fix crash on diagnosing before implicit destructor.

2019-01-10 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Jan 10 15:44:44 2019 New Revision: 350907 URL: http://llvm.org/viewvc/llvm-project?rev=350907&view=rev Log: [analyzer] pr38838, pr39976: Fix crash on diagnosing before implicit destructor. We need to be able to emit the diagnostic at PreImplicitCall, and the patch impl

r371660 - [analyzer] NFC: Move resetDiagnosticLocationToMainFile() to BugReporter.

2019-09-11 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Sep 11 13:54:24 2019 New Revision: 371660 URL: http://llvm.org/viewvc/llvm-project?rev=371660&view=rev Log: [analyzer] NFC: Move resetDiagnosticLocationToMainFile() to BugReporter. This method of PathDiagnostic is a part of Static Analyzer's particular path diagnostic

r371658 - [analyzer] NFC: Re-implement stack hints as a side map in BugReport.

2019-09-11 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Sep 11 13:54:17 2019 New Revision: 371658 URL: http://llvm.org/viewvc/llvm-project?rev=371658&view=rev Log: [analyzer] NFC: Re-implement stack hints as a side map in BugReport. That's one of the few random entities in the PathDiagnostic interface that are specific to t

r371659 - [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic.

2019-09-11 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Sep 11 13:54:21 2019 New Revision: 371659 URL: http://llvm.org/viewvc/llvm-project?rev=371659&view=rev Log: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic. These static functions deal with ExplodedNodes which is something we don't want the P

[clang-tools-extra] r371661 - [analyzer] NFC: Move PathDiagnostic classes to libAnalysis.

2019-09-11 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Sep 11 13:54:27 2019 New Revision: 371661 URL: http://llvm.org/viewvc/llvm-project?rev=371661&view=rev Log: [analyzer] NFC: Move PathDiagnostic classes to libAnalysis. At this point the PathDiagnostic, PathDiagnosticLocation, PathDiagnosticPiece structures no longer re

r371781 - [analyzer] Fix the 'analyzer-enabled-checkers.c' test on non-linux machines.

2019-09-12 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Sep 12 15:11:15 2019 New Revision: 371781 URL: http://llvm.org/viewvc/llvm-project?rev=371781&view=rev Log: [analyzer] Fix the 'analyzer-enabled-checkers.c' test on non-linux machines. '-Xclang -triple' doesn't seem to override the default target triple as reliably as

r372942 - [analyzer] Avoid small vectors of non-default-constructibles.

2019-09-25 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Wed Sep 25 23:33:21 2019 New Revision: 372942 URL: http://llvm.org/viewvc/llvm-project?rev=372942&view=rev Log: [analyzer] Avoid small vectors of non-default-constructibles. Unconfuses certain compilers. Modified: cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensit

r372945 - [analyzer] A speculative attempt to avoid gcc-7 crashes caused by r372942.

2019-09-26 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Sep 26 00:01:31 2019 New Revision: 372945 URL: http://llvm.org/viewvc/llvm-project?rev=372945&view=rev Log: [analyzer] A speculative attempt to avoid gcc-7 crashes caused by r372942. Modified: cfe/trunk/lib/StaticAnalyzer/Core/Store.cpp Modified: cfe/trunk/lib/Sta

r373005 - Revert "[analyzer] A speculative attempt to avoid gcc-7 crashes..."

2019-09-26 Thread Artem Dergachev via cfe-commits
Author: dergachev Date: Thu Sep 26 11:52:00 2019 New Revision: 373005 URL: http://llvm.org/viewvc/llvm-project?rev=373005&view=rev Log: Revert "[analyzer] A speculative attempt to avoid gcc-7 crashes..." This reverts commit r372940 which was an overreaction to a flaky buildbot. Modified: cfe

<    1   2   3   4   5   6   7   8   9   10   >