[PATCH] D66404: [CFG] Make destructor calls more accurate

2019-08-19 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. I have a few nitpicks but i still love this patch, thank you! It picks up the work exactly where i dropped it a year or so ago. > Respect C++17 copy elision; previously it would generate destructor calls for > elided temporaries, including in initialization and return state

[PATCH] D66325: [analyzer] CastValueChecker: Store the dynamic types and casts

2019-08-19 Thread Csaba Dabis via Phabricator via cfe-commits
Charusso added a comment. In D66325#1636091 , @NoQ wrote: > Yay! I understand the rough idea and it looks perfectly reasonable to start > with. Please add FIXMEs/TODOs on how we eventually want to support more > complicated inheritance hierarchies. I h

[PATCH] D66325: [analyzer] CastValueChecker: Store the dynamic types and casts

2019-08-19 Thread Csaba Dabis via Phabricator via cfe-commits
Charusso updated this revision to Diff 216023. Charusso edited the summary of this revision. Charusso added a comment. - Use a set factory to store a dynamic cast information set per memory region. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66325/new/ https://reviews.llvm.org/D66325

[clang-tools-extra] r369316 - Fix typo. "piont" => "point"

2019-08-19 Thread Richard Trieu via cfe-commits
Author: rtrieu Date: Mon Aug 19 17:28:21 2019 New Revision: 369316 URL: http://llvm.org/viewvc/llvm-project?rev=369316&view=rev Log: Fix typo. "piont" => "point" Found by Chris Morris (cwmorris). Modified: clang-tools-extra/trunk/clang-tidy/abseil/DurationConversionCastCheck.cpp clang-t

[PATCH] D66325: [analyzer] CastValueChecker: Store the dynamic types and casts

2019-08-19 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added inline comments. Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicCastInfo.h:19 +public: + enum CastKind { Success, Fail }; + I suggest `enum CastResult { Success, Failure }` ("a fail" is slang, also "result" because it's basi

[PATCH] D66325: [analyzer] CastValueChecker: Store the dynamic types and casts

2019-08-19 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. Also thanks, everything makes sense now! Do we already have a test that will cover the necessity for having a map from regions to cast results? Eg.: void foo(Shape *C, Shape *T) { if (isa(S) && !isa(T)) clang_analyzer_warnIfReached(); // expected-warning{{TRUE}}

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

[PATCH] D65453: [analyzer] Improve the accuracy of the Clang call graph analysis

2019-08-19 Thread Phabricator via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL369321: [CallGraph] Take into accound calls that aren't within any function bodies. (authored by dergachev, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed p

[PATCH] D66328: [DebugInfo] Add debug location to dynamic atexit destructor

2019-08-19 Thread Alexandre Ganea via Phabricator via cfe-commits
aganea updated this revision to Diff 216046. aganea marked 4 inline comments as done. aganea added a comment. As requested. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66328/new/ https://reviews.llvm.org/D66328 Files: lib/CodeGen/CGDebugInfo.cpp lib/CodeGen/CGDeclCXX.cpp test/C

[PATCH] D66460: [analyzer] Remove BugReporter.BugTypes.

2019-08-19 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ created this revision. NoQ added reviewers: dcoughlin, xazax.hun, a_sidorin, rnkovacs, Szelethus, baloghadamsoftware, Charusso. Herald added subscribers: cfe-commits, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, szepet. Herald added a project: clang. I'm slowly cleaning up `BugReporter` a

[PATCH] D66348: [ASTImporter] Do not look up lambda classes

2019-08-19 Thread Shafik Yaghmour via Phabricator via cfe-commits
shafik added a comment. I am not enthusiastic about this solution but I need to think about it some more. We can see that p0624r2 added assignable lambdas: bool f1() { auto x = []{} = {}; auto x2 = x; retur

[PATCH] D66460: [analyzer] Remove BugReporter.BugTypes.

2019-08-19 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus accepted this revision. Szelethus added a comment. This revision is now accepted and ready to land. > So we'll most likely make a clear separation between a basic bug report(er) > and a path-sensitive bug report(er), having them inherit from common bug > report(er) classes. That sound

[PATCH] D65410: [PassManager] First Pass implementation at -O1 pass pipeline

2019-08-19 Thread Eric Christopher via Phabricator via cfe-commits
echristo added a comment. In D65410#1613555 , @hfinkel wrote: > Thanks for starting on this. Can you go ahead and replace the sroa calls with > mem2reg calls for `O1` and then see what that does to the performance? That > strikes me as a major change, bu

<    1   2