Revision tags: llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0 |
|
#
8b9b3bd0 |
| 01-Mar-2018 |
Ilya Biryukov <ibiryukov@google.com> |
Resubmit [analyzer] Support for naive cross translation unit analysis
Originally submitted as r326323 and r326324. Reverted in r326432.
Reverting the commit was a mistake. The breakage was due to i
Resubmit [analyzer] Support for naive cross translation unit analysis
Originally submitted as r326323 and r326324. Reverted in r326432.
Reverting the commit was a mistake. The breakage was due to invalid build files in our internal buildsystem, CMakeLists did not have any cyclic dependencies.
llvm-svn: 326439
show more ...
|
#
d49e75af |
| 01-Mar-2018 |
Ilya Biryukov <ibiryukov@google.com> |
Revert "[analyzer] Support for naive cross translation unit analysis"
Also revert "[analyzer] Fix a compiler warning" This reverts commits r326323 and r326324.
Reason: the commits introduced a cycl
Revert "[analyzer] Support for naive cross translation unit analysis"
Also revert "[analyzer] Fix a compiler warning" This reverts commits r326323 and r326324.
Reason: the commits introduced a cyclic dependency in the build graph. This happens to work with cmake, but breaks out internal integrate.
llvm-svn: 326432
show more ...
|
#
eb0584be |
| 28-Feb-2018 |
Gabor Horvath <xazax.hun@gmail.com> |
[analyzer] Support for naive cross translation unit analysis
The aim of this patch is to be minimal to enable incremental development of the feature on the top of the tree. This patch should be an N
[analyzer] Support for naive cross translation unit analysis
The aim of this patch is to be minimal to enable incremental development of the feature on the top of the tree. This patch should be an NFC when the feature is turned off. It is turned off by default and still considered as experimental.
Technical details are available in the EuroLLVM Talk: http://llvm.org/devmtg/2017-03//2017/02/20/accepted-sessions.html#7
Note that the initial prototype was done by A. Sidorin et al.: http://lists.llvm.org/pipermail/cfe-dev/2015-October/045730.html
Contributions to the measurements and the new version of the code: Peter Szecsi, Zoltan Gera, Daniel Krupp, Kareem Khazem.
Differential Revision: https://reviews.llvm.org/D30691
llvm-svn: 326323
show more ...
|
#
1d3e49e7 |
| 26-Feb-2018 |
George Karpenkov <ekarpenkov@apple.com> |
[analyzer] Do not analyze bison-generated files
Bison/YACC generated files result in a very large number of (presumably) false positives from the analyzer. These false positives are "true" in a sens
[analyzer] Do not analyze bison-generated files
Bison/YACC generated files result in a very large number of (presumably) false positives from the analyzer. These false positives are "true" in a sense of the information analyzer sees: assuming that the lexer can return any token at any point a number of uninitialized reads does occur. (naturally, the analyzer can not capture a complex invariant that certain tokens can only occur under certain conditions).
Current fix simply stops analysis on those files. I have examined a very large number of such auto-generated files, and they do all start with such a comment. Conversely, user code is very unlikely to contain such a comment.
rdar://33608161
Differential Revision: https://reviews.llvm.org/D43421
llvm-svn: 326135
show more ...
|
Revision tags: llvmorg-6.0.0-rc3 |
|
#
5a755b33 |
| 10-Feb-2018 |
George Karpenkov <ekarpenkov@apple.com> |
[analyzer] Serialize statistics to plist when serialize-stats=true is set
Differential Revision: https://reviews.llvm.org/D43131
llvm-svn: 324793
|
#
2a639858 |
| 09-Feb-2018 |
George Karpenkov <ekarpenkov@apple.com> |
[analyzer] Introduce statistics for the total number of visited basic blocks
Differential Revision: https://reviews.llvm.org/D43133
llvm-svn: 324785
|
Revision tags: llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1, llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1 |
|
#
9707aa74 |
| 13-Sep-2017 |
Alexander Kornienko <alexfh@google.com> |
Update users of llvm::sys::ExecuteAndWait etc.
Summary: Clang part of https://reviews.llvm.org/D37563
Reviewers: bkramer
Subscribers: vsk, cfe-commits
Differential Revision: https://reviews.llvm.
Update users of llvm::sys::ExecuteAndWait etc.
Summary: Clang part of https://reviews.llvm.org/D37563
Reviewers: bkramer
Subscribers: vsk, cfe-commits
Differential Revision: https://reviews.llvm.org/D37564
llvm-svn: 313156
show more ...
|
Revision tags: llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1, llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2 |
|
#
704b4fbb |
| 18-May-2017 |
Craig Topper <craig.topper@gmail.com> |
[Statistics] Use the new Statistic::updateMax to atomically calculate a maximum value statistic.
llvm-svn: 303320
|
Revision tags: llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4 |
|
#
a166a2b6 |
| 07-Mar-2017 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[AST/ObjC] Make ObjCCategoryImplDecl consistent with ObjCCategoryDecl and use the category name as its DeclName
This also addresses the badness in ObjCCategoryImplDecl's API, which was hiding NamedD
[AST/ObjC] Make ObjCCategoryImplDecl consistent with ObjCCategoryDecl and use the category name as its DeclName
This also addresses the badness in ObjCCategoryImplDecl's API, which was hiding NamedDecl's APIs with different meaning.
llvm-svn: 297131
show more ...
|
Revision tags: llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
#
ae032b6c |
| 18-Nov-2016 |
Matthias Braun <matze@braunis.de> |
Adapt to llvm NamedRegionTimer changes
We have to specify a name and description for the timers and groups now.
llvm-svn: 287371
|
#
b1991c5f |
| 07-Oct-2016 |
Artem Dergachev <artem.dergachev@gmail.com> |
[analyzer] Re-apply r283092, attempt no.4, chunk no.4 (last)
The problem that caused the msvc crash has been indentified and fixed in the previous commit. This patch contains the rest of r283092.
l
[analyzer] Re-apply r283092, attempt no.4, chunk no.4 (last)
The problem that caused the msvc crash has been indentified and fixed in the previous commit. This patch contains the rest of r283092.
llvm-svn: 283584
show more ...
|
#
5d9278ef |
| 07-Oct-2016 |
Artem Dergachev <artem.dergachev@gmail.com> |
Revert "[analyzer] Try to re-apply r283092 "Extend bug reports with extra notes"
Vector of smart pointers wasn't the thing that caused msvc crash.
llvm-svn: 283537
|
#
fc36b586 |
| 07-Oct-2016 |
Artem Dergachev <artem.dergachev@gmail.com> |
[analyzer] Try to re-apply r283092 "Extend bug reports with extra notes"
Replace SmallVector<IntrusiveRefCntPtr> with a vector of plain pointers. Would insignificantly increase memory usage.
llvm-s
[analyzer] Try to re-apply r283092 "Extend bug reports with extra notes"
Replace SmallVector<IntrusiveRefCntPtr> with a vector of plain pointers. Would insignificantly increase memory usage.
llvm-svn: 283536
show more ...
|
#
20efb97f |
| 04-Oct-2016 |
Vitaly Buka <vitalybuka@google.com> |
Revert "[analyzer] Extend bug reports with extra notes" to fix Windows bot.
This reverts commit r283092.
llvm-svn: 283180
|
#
9dceb11b |
| 03-Oct-2016 |
Artem Dergachev <artem.dergachev@gmail.com> |
[analyzer] Extend bug reports with extra notes
These diagnostics are separate from the path-sensitive engine's path notes, and can be added manually on top of path-sensitive or path-insensitive repo
[analyzer] Extend bug reports with extra notes
These diagnostics are separate from the path-sensitive engine's path notes, and can be added manually on top of path-sensitive or path-insensitive reports.
The new note diagnostics would appear as note:-diagnostic on console and as blue bubbles in scan-build. In plist files they currently do not appear, because format needs to be discussed with plist file users.
The analyzer option "-analyzer-config notes-as-events=true" would convert notes to normal path notes, and put them at the beginning of the path. This is a temporary hack to show the new notes in plist files.
A few checkers would be updated in subsequent commits, including tests for this new feature.
Differential Revision: https://reviews.llvm.org/D24278
llvm-svn: 283092
show more ...
|
#
ec1c5a20 |
| 27-Sep-2016 |
Matthias Braun <matze@braunis.de> |
Adapt to LLVM EnableStatistics() change.
llvm-svn: 282533
|
#
abb6eea1 |
| 26-Sep-2016 |
Matthias Braun <matze@braunis.de> |
CC1: Add -save-stats option
This option behaves in a similar spirit as -save-temps and writes internal llvm statistics in json format to a file.
Differential Revision: https://reviews.llvm.org/D248
CC1: Add -save-stats option
This option behaves in a similar spirit as -save-temps and writes internal llvm statistics in json format to a file.
Differential Revision: https://reviews.llvm.org/D24820
llvm-svn: 282426
show more ...
|
#
a1fead29 |
| 23-Sep-2016 |
Alexander Shaposhnikov <shal1t712@gmail.com> |
[analyzer] Fix crash in RetainCountChecker::checkEndFunction
The class BodyFarm creates bodies for OSAtomicCompareAndSwap*, objc_atomicCompareAndSwap*, dispatch_sync*, dispatch_once* and for them th
[analyzer] Fix crash in RetainCountChecker::checkEndFunction
The class BodyFarm creates bodies for OSAtomicCompareAndSwap*, objc_atomicCompareAndSwap*, dispatch_sync*, dispatch_once* and for them the flag isBodyAutosynthesized is set to true.
This diff 1. makes AnalysisConsumer::HandleCode skip the autosynthesized code 2. replaces assert(LCtx->getParent()) in RetainCountChecker::checkEndFunction by assert(!LCtx->inTopFrame()) (minor cleanup)
Test plan: make -j8 check-clang-analysis
Differential revision: https://reviews.llvm.org/D24792
llvm-svn: 282293
show more ...
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2 |
|
#
6a76a163 |
| 08-Aug-2016 |
Artem Dergachev <artem.dergachev@gmail.com> |
[analyzer] Change -analyze-function to accept qualified names.
Both -analyze-function and -analyzer-display-progress now share the same convention for naming functions, which allows discriminating b
[analyzer] Change -analyze-function to accept qualified names.
Both -analyze-function and -analyzer-display-progress now share the same convention for naming functions, which allows discriminating between methods with the same name in different classes, C++ overloads, and also presents Objective-C instance and class methods in the convenient notation.
This also allows looking up the name for the particular function you're trying to restrict analysis to in the -analyzer-display-progress output, in case it was not instantly obvious.
Differential Revision: https://reviews.llvm.org/D22856
llvm-svn: 278018
show more ...
|
Revision tags: llvmorg-3.9.0-rc1 |
|
#
f57f90df |
| 21-Jul-2016 |
Devin Coughlin <dcoughlin@apple.com> |
[analyzer] Add checker modeling potential C++ self-assignment
This checker checks copy and move assignment operators whether they are protected against self-assignment. Since C++ core guidelines dis
[analyzer] Add checker modeling potential C++ self-assignment
This checker checks copy and move assignment operators whether they are protected against self-assignment. Since C++ core guidelines discourages explicit checking for `&rhs==this` in general we take a different approach: in top-frame analysis we branch the exploded graph for two cases, where &rhs==this and &rhs!=this and let existing checkers (e.g. unix.Malloc) do the rest of the work. It is important that we check all copy and move assignment operator in top frame even if we checked them already since self-assignments may happen undetected even in the same translation unit (e.g. using random indices for an array what may or may not be the same).
This reapplies r275820 after fixing a string-lifetime issue discovered by the bots.
A patch by Ádám Balogh!
Differential Revision: https://reviews.llvm.org/D19311
llvm-svn: 276365
show more ...
|
#
9670f847 |
| 18-Jul-2016 |
Mehdi Amini <mehdi.amini@apple.com> |
[NFC] Header cleanup
Summary: Removed unused headers, replaced some headers with forward class declarations
Patch by: Eugene <claprix@yandex.ru>
Differential Revision: https://reviews.llvm.org/D20
[NFC] Header cleanup
Summary: Removed unused headers, replaced some headers with forward class declarations
Patch by: Eugene <claprix@yandex.ru>
Differential Revision: https://reviews.llvm.org/D20100
llvm-svn: 275882
show more ...
|
#
d2387432 |
| 18-Jul-2016 |
Devin Coughlin <dcoughlin@apple.com> |
Revert "[analyzer] Add checker modeling potential C++ self-assignment"
This reverts commit r275820. It is failing on the bots.
llvm-svn: 275880
|
#
eea0737a |
| 18-Jul-2016 |
Devin Coughlin <dcoughlin@apple.com> |
[analyzer] Add checker modeling potential C++ self-assignment
This checker checks copy and move assignment operators whether they are protected against self-assignment. Since C++ core guidelines dis
[analyzer] Add checker modeling potential C++ self-assignment
This checker checks copy and move assignment operators whether they are protected against self-assignment. Since C++ core guidelines discourages explicit checking for `&rhs==this` in general we take a different approach: in top-frame analysis we branch the exploded graph for two cases, where &rhs==this and &rhs!=this and let existing checkers (e.g. unix.Malloc) do the rest of the work. It is important that we check all copy and move assignment operator in top frame even if we checked them already since self-assignments may happen undetected even in the same translation unit (e.g. using random indices for an array what may or may not be the same).
A patch by Ádám Balogh!
Differential Revision: https://reviews.llvm.org/D19311
llvm-svn: 275820
show more ...
|
#
30934738 |
| 02-Jul-2016 |
Benjamin Kramer <benny.kra@googlemail.com> |
Use arrays or initializer lists to feed ArrayRefs instead of SmallVector where possible.
No functionality change intended
llvm-svn: 274432
|
#
cf236ec2 |
| 08-Jun-2016 |
Benjamin Kramer <benny.kra@googlemail.com> |
Prune away some unused using decls. NFC.
Found by clang's misc-unused-using-decls.
llvm-svn: 272156
|