[clang] 056a539 - [libTooling] Rename overloaded `range` range selector.

2020-06-26 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2020-06-26T14:23:25Z New Revision: 056a539e570a49e27f88f4555d42f00be0500749 URL: https://github.com/llvm/llvm-project/commit/056a539e570a49e27f88f4555d42f00be0500749 DIFF: https://github.com/llvm/llvm-project/commit/056a539e570a49e27f88f4555d42f00be0500749.diff

[clang] 30deabf - [libTooling] Improve error message from failure in selection Stencil

2020-06-26 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2020-06-26T16:17:28Z New Revision: 30deabf89f93f724315e803ebcb2df09b8d36f2a URL: https://github.com/llvm/llvm-project/commit/30deabf89f93f724315e803ebcb2df09b8d36f2a DIFF: https://github.com/llvm/llvm-project/commit/30deabf89f93f724315e803ebcb2df09b8d36f2a.diff

[clang] 9945bd5 - Add Metadata to Transformer tooling

2020-06-30 Thread Yitzhak Mandelbaum via cfe-commits
Author: Andy Soffer Date: 2020-06-30T15:03:07Z New Revision: 9945bd5911636e7f821ac82fdcf8fdb22126e7dc URL: https://github.com/llvm/llvm-project/commit/9945bd5911636e7f821ac82fdcf8fdb22126e7dc DIFF: https://github.com/llvm/llvm-project/commit/9945bd5911636e7f821ac82fdcf8fdb22126e7dc.diff LOG: A

[clang] 645dd1b - [libTooling] Cleanup and reorder `RewriteRule.h`.

2020-08-11 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2020-08-11T16:35:36Z New Revision: 645dd1b3bf8d976683c72b9faf501d6f0b16326e URL: https://github.com/llvm/llvm-project/commit/645dd1b3bf8d976683c72b9faf501d6f0b16326e DIFF: https://github.com/llvm/llvm-project/commit/645dd1b3bf8d976683c72b9faf501d6f0b16326e.diff

[clang-tools-extra] d8c1f43 - [libTooling] Move RewriteRule include edits to ASTEdit granularity.

2020-08-11 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2020-08-11T16:47:14Z New Revision: d8c1f43dcc949fda5ce37a122d1a0d92975de82c URL: https://github.com/llvm/llvm-project/commit/d8c1f43dcc949fda5ce37a122d1a0d92975de82c DIFF: https://github.com/llvm/llvm-project/commit/d8c1f43dcc949fda5ce37a122d1a0d92975de82c.diff

[clang-tools-extra] c5b1a03 - [clang-tidy] In TransformerClangTidyCheck, support option IncludeStyle.

2020-05-05 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2020-05-05T10:38:31-04:00 New Revision: c5b1a0352535e138af867f7b63cf5b4793fd6de7 URL: https://github.com/llvm/llvm-project/commit/c5b1a0352535e138af867f7b63cf5b4793fd6de7 DIFF: https://github.com/llvm/llvm-project/commit/c5b1a0352535e138af867f7b63cf5b4793fd6de7.

[clang] abc16c7 - [NFC] Remove a FIXME fixed by an earlier patch.

2022-09-09 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-09-09T17:13:52Z New Revision: abc16c7a5b0a63d14172262153608b3d24de957f URL: https://github.com/llvm/llvm-project/commit/abc16c7a5b0a63d14172262153608b3d24de957f DIFF: https://github.com/llvm/llvm-project/commit/abc16c7a5b0a63d14172262153608b3d24de957f.diff

[clang] [clang][dataflow] Fix assert-fail when calling assignment operator with by-value parameter. (PR #71384)

2023-11-06 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/71384 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang][dataflow] Simplify flow conditions displayed in HTMLLogger. (PR #70848)

2023-11-06 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand edited https://github.com/llvm/llvm-project/pull/70848 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang][dataflow] Simplify flow conditions displayed in HTMLLogger. (PR #70848)

2023-11-06 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. Really nice! https://github.com/llvm/llvm-project/pull/70848 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [clang][dataflow] Simplify flow conditions displayed in HTMLLogger. (PR #70848)

2023-11-06 Thread Yitzhak Mandelbaum via cfe-commits
@@ -0,0 +1,55 @@ +//===-- SimplifyConstraints.h ---*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

[clang] [llvm] [clang][dataflow] Simplify flow conditions displayed in HTMLLogger. (PR #70848)

2023-11-06 Thread Yitzhak Mandelbaum via cfe-commits
@@ -0,0 +1,183 @@ +//===-- SimplifyConstraints.cpp -*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[llvm] [clang] [clang][dataflow] Simplify flow conditions displayed in HTMLLogger. (PR #70848)

2023-11-06 Thread Yitzhak Mandelbaum via cfe-commits
@@ -0,0 +1,183 @@ +//===-- SimplifyConstraints.cpp -*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [clang][dataflow] Simplify flow conditions displayed in HTMLLogger. (PR #70848)

2023-11-06 Thread Yitzhak Mandelbaum via cfe-commits
@@ -0,0 +1,183 @@ +//===-- SimplifyConstraints.cpp -*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [clang][dataflow] Simplify flow conditions displayed in HTMLLogger. (PR #70848)

2023-11-06 Thread Yitzhak Mandelbaum via cfe-commits
@@ -0,0 +1,183 @@ +//===-- SimplifyConstraints.cpp -*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [clang][dataflow] Simplify flow conditions displayed in HTMLLogger. (PR #70848)

2023-11-06 Thread Yitzhak Mandelbaum via cfe-commits
@@ -0,0 +1,183 @@ +//===-- SimplifyConstraints.cpp -*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [clang][dataflow] Simplify flow conditions displayed in HTMLLogger. (PR #70848)

2023-11-06 Thread Yitzhak Mandelbaum via cfe-commits
@@ -0,0 +1,183 @@ +//===-- SimplifyConstraints.cpp -*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [clang][dataflow] Expand debug dumping of `Value`s. (PR #71527)

2023-11-07 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/71527 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Replace one remaining call to deprecated `addToFlowCondition()`. (PR #71547)

2023-11-07 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/71547 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow][NFC] Fix stale comments. (PR #71654)

2023-11-08 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/71654 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Discard unneeded `ExprToLoc` and `ExprToVal` entries. (PR #72850)

2023-11-20 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand edited https://github.com/llvm/llvm-project/pull/72850 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Discard unneeded `ExprToLoc` and `ExprToVal` entries. (PR #72850)

2023-11-20 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand requested changes to this pull request. Overall seemed good (mostly just piping), but I think we need more explanation (on the review thread and somewhere appropriate in the code) of what exactly determines whether an expression is "needed". I was wondering, when readi

[clang] [clang][dataflow] Discard unneeded `ExprToLoc` and `ExprToVal` entries. (PR #72850)

2023-11-20 Thread Yitzhak Mandelbaum via cfe-commits
@@ -256,8 +259,12 @@ class JoinedStateBuilder { // to enable building analyses like computation of dominators that // initialize the state of each basic block differently. return {AC.Analysis.typeErasedInitialElement(), AC.InitEnv.fork()}; + if (All.size(

[clang] [clang][dataflow] Discard unneeded `ExprToLoc` and `ExprToVal` entries. (PR #72850)

2023-11-20 Thread Yitzhak Mandelbaum via cfe-commits
@@ -24,25 +24,35 @@ namespace clang { namespace dataflow { -/// Returns a map from statements to basic blocks that contain them. -static llvm::DenseMap -buildStmtToBasicBlockMap(const CFG &Cfg) { - llvm::DenseMap StmtToBlock; +/// Builds maps: +/// - From statements to basic

[clang] [clang][dataflow] Remove deprecated synonyms from `Environment`. (PR #72987)

2023-11-21 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/72987 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Clear `ExprToLoc` and `ExprToVal` at the start of a block. (PR #72985)

2023-11-22 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/72985 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][nullability] Use `proves()` and `assume()` instead of deprecated synonyms. (PR #70297)

2023-10-30 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/70297 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow][NFC] Move `parseAll()` to TestingSupport and rename `parseFormulas()` (PR #70437)

2023-10-30 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/70437 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Fix an issue with `Environment::getResultObjectLocation()`. (PR #75483)

2023-12-14 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand edited https://github.com/llvm/llvm-project/pull/75483 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Fix an issue with `Environment::getResultObjectLocation()`. (PR #75483)

2023-12-14 Thread Yitzhak Mandelbaum via cfe-commits
@@ -726,27 +726,69 @@ void Environment::setStorageLocation(const Expr &E, StorageLocation &Loc) { // so allow these as an exception. assert(E.isGLValue() || E.getType()->isSpecificBuiltinType(BuiltinType::BuiltinFn)); - setStorageLocationInternal(E, Loc); + cons

[clang] [clang][dataflow] Fix an issue with `Environment::getResultObjectLocation()`. (PR #75483)

2023-12-14 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/75483 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Fix an issue with `Environment::getResultObjectLocation()`. (PR #75483)

2023-12-14 Thread Yitzhak Mandelbaum via cfe-commits
@@ -726,27 +726,69 @@ void Environment::setStorageLocation(const Expr &E, StorageLocation &Loc) { // so allow these as an exception. assert(E.isGLValue() || E.getType()->isSpecificBuiltinType(BuiltinType::BuiltinFn)); - setStorageLocationInternal(E, Loc); + cons

[clang] [clang][dataflow] Add `Environment::get<>()`. (PR #76027)

2023-12-20 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand edited https://github.com/llvm/llvm-project/pull/76027 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Add `Environment::get<>()`. (PR #76027)

2023-12-20 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/76027 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Add `Environment::get<>()`. (PR #76027)

2023-12-20 Thread Yitzhak Mandelbaum via cfe-commits
@@ -489,8 +489,7 @@ Environment Environment::pushCall(const CallExpr *Call) const { if (const auto *MethodCall = dyn_cast(Call)) { if (const Expr *Arg = MethodCall->getImplicitObjectArgument()) { if (!isa(Arg)) - Env.ThisPointeeLoc = - cast(ge

[clang] [clang][dataflow] Strengthen pointer comparison. (PR #75170)

2023-12-20 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/75170 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Add synthetic fields to `RecordStorageLocation` (PR #73860)

2023-11-30 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. This is amazing! I spent a while searching for changes to join/widen to account for synthetic fields and then realized that (of course!) no special handling is needed! I also love that we now have the hooks we've wanted since the beginning.

[clang] [clang][dataflow] Add synthetic fields to `RecordStorageLocation` (PR #73860)

2023-11-30 Thread Yitzhak Mandelbaum via cfe-commits
@@ -73,7 +73,13 @@ class ScalarStorageLocation final : public StorageLocation { /// /// Contains storage locations for all modeled fields of the record (also /// referred to as "children"). The child map is flat, so accessible members of -/// the base class are directly accesib

[clang] [clang][dataflow] Add synthetic fields to `RecordStorageLocation` (PR #73860)

2023-11-30 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand edited https://github.com/llvm/llvm-project/pull/73860 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Add synthetic fields to `RecordStorageLocation` (PR #73860)

2023-11-30 Thread Yitzhak Mandelbaum via cfe-commits
@@ -492,6 +492,56 @@ transferCFGBlock(const CFGBlock &Block, AnalysisContext &AC, return State; } +static Environment initializeEnvironment(const Environment &InitEnv) { ymand wrote: Why not include this function as part of the Environment API? At the leas

[clang] [clang][dataflow] Add synthetic fields to `RecordStorageLocation` (PR #73860)

2023-11-30 Thread Yitzhak Mandelbaum via cfe-commits
@@ -54,6 +54,18 @@ void clang::dataflow::copyRecord(RecordStorageLocation &Src, } } + for (const auto &[Name, PropLocSrc] : Src.synthetic_fields()) { +if (PropLocSrc->getType()->isRecordType()) { + copyRecord(*cast(PropLocSrc), + cast(Dst.getSyn

[clang] [clang][dataflow] Add synthetic fields to `RecordStorageLocation` (PR #73860)

2023-11-30 Thread Yitzhak Mandelbaum via cfe-commits
@@ -492,6 +492,56 @@ transferCFGBlock(const CFGBlock &Block, AnalysisContext &AC, return State; } +static Environment initializeEnvironment(const Environment &InitEnv) { + Environment ResultEnv = InitEnv.fork(); ymand wrote: Why `fork`? The function name

[clang] [clang][dataflow] Add synthetic fields to `RecordStorageLocation` (PR #73860)

2023-11-30 Thread Yitzhak Mandelbaum via cfe-commits
@@ -92,11 +96,39 @@ class DataflowAnalysisContext { /*Logger=*/nullptr}); ~DataflowAnalysisContext(); + /// Sets a callback that returns the names and types of the synthetic fields + /// to add to a `RecordStorageLocation` of a given type. +

[clang] [clang][dataflow] Retrieve members from accessors called using member… (PR #73978)

2023-12-01 Thread Yitzhak Mandelbaum via cfe-commits
ymand wrote: > @ymand Can you review? sure https://github.com/llvm/llvm-project/pull/73978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Retrieve members from accessors called using member… (PR #73978)

2023-12-01 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand edited https://github.com/llvm/llvm-project/pull/73978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Retrieve members from accessors called using member… (PR #73978)

2023-12-01 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. Thanks! https://github.com/llvm/llvm-project/pull/73978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Retrieve members from accessors called using member… (PR #73978)

2023-12-01 Thread Yitzhak Mandelbaum via cfe-commits
@@ -300,9 +300,10 @@ static void insertIfFunction(const Decl &D, } static MemberExpr *getMemberForAccessor(const CXXMemberCallExpr &C) { - if (!C.getMethodDecl()) + const auto *MethodDecl = dyn_cast_or_null(C.getCalleeDecl()); ymand wrote: Please add a comm

[clang] [clang][dataflow] Fix bug in `Value` comparison. (PR #76746)

2024-01-02 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand created https://github.com/llvm/llvm-project/pull/76746 Makes value equivalence require that the values have no properties, except in the case of equivalence by pointer equality (if the pointers are equal, nothing else is checked). Fixes issue #76459. >From 87cc967ebb2

[clang] [clang][dataflow] Fix bug in `Value` comparison. (PR #76746)

2024-01-02 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand updated https://github.com/llvm/llvm-project/pull/76746 >From 3524e2bc42aa6f83a8ecb3ad892d4a7a33f31f03 Mon Sep 17 00:00:00 2001 From: Yitzhak Mandelbaum Date: Tue, 2 Jan 2024 19:27:21 + Subject: [PATCH] [clang][dataflow] Fix bug in `Value` comparison. Makes value eq

[clang] [clang][dataflow] Fix bug in `Value` comparison. (PR #76746)

2024-01-03 Thread Yitzhak Mandelbaum via cfe-commits
@@ -27,9 +27,13 @@ static bool areEquivalentIndirectionValues(const Value &Val1, } bool areEquivalentValues(const Value &Val1, const Value &Val2) { - return &Val1 == &Val2 || (Val1.getKind() == Val2.getKind() && -(isa(&Val1) || -

[clang] [Clang][NFC] Fix out-of-bounds access (PR #77193)

2024-01-08 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. Thanks! https://github.com/llvm/llvm-project/pull/77193 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][NFC] Fix out-of-bounds access (PR #77193)

2024-01-08 Thread Yitzhak Mandelbaum via cfe-commits
@@ -1215,7 +1215,7 @@ class CFG { //======// class BuildOptions { -std::bitset alwaysAddMask; ymand wrote: Maybe add a comment explaining the new size? I see why it might be obvious,

[clang] [Clang][NFC] Fix out-of-bounds access (PR #77193)

2024-01-08 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand edited https://github.com/llvm/llvm-project/pull/77193 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Make cap on block visits configurable by caller. (PR #77481)

2024-01-09 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand created https://github.com/llvm/llvm-project/pull/77481 Previously, we hard-coded the cap on block visits inside the framework. This patch enables the caller to specify the cap in the APIs for running an analysis. >From 34121d09cbb833c6462d516767f14b2cd05db82d Mon Sep 1

[clang] [clang][dataflow] Add an early-out to `flowConditionImplies()` / `flowConditionAllows()`. (PR #77453)

2024-01-09 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/77453 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Make cap on block visits configurable by caller. (PR #77481)

2024-01-10 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand updated https://github.com/llvm/llvm-project/pull/77481 >From 34121d09cbb833c6462d516767f14b2cd05db82d Mon Sep 17 00:00:00 2001 From: Yitzhak Mandelbaum Date: Thu, 4 Jan 2024 15:36:40 + Subject: [PATCH 1/2] [clang][dataflow] Make cap on block visits configurable by

[clang] [clang][dataflow] Fix bug in `Value` comparison. (PR #76746)

2024-01-10 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand updated https://github.com/llvm/llvm-project/pull/76746 >From 3524e2bc42aa6f83a8ecb3ad892d4a7a33f31f03 Mon Sep 17 00:00:00 2001 From: Yitzhak Mandelbaum Date: Tue, 2 Jan 2024 19:27:21 + Subject: [PATCH 1/2] [clang][dataflow] Fix bug in `Value` comparison. Makes valu

[clang] [clang][dataflow] Fix bug in `Value` comparison. (PR #76746)

2024-01-10 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand updated https://github.com/llvm/llvm-project/pull/76746 >From 3524e2bc42aa6f83a8ecb3ad892d4a7a33f31f03 Mon Sep 17 00:00:00 2001 From: Yitzhak Mandelbaum Date: Tue, 2 Jan 2024 19:27:21 + Subject: [PATCH 1/3] [clang][dataflow] Fix bug in `Value` comparison. Makes valu

[clang] [clang][dataflow] Fix bug in `Value` comparison. (PR #76746)

2024-01-10 Thread Yitzhak Mandelbaum via cfe-commits
@@ -53,8 +53,8 @@ TEST(ValueTest, EquivalentValuesWithDifferentPropsEquivalent) { TopBoolValue V2(A.makeAtomRef(Atom(3))); V1.setProperty("foo", Prop1); V2.setProperty("bar", Prop2); - EXPECT_TRUE(areEquivalentValues(V1, V2)); - EXPECT_TRUE(areEquivalentValues(V2, V1))

[clang] [clang][dataflow] Fix bug in `Value` comparison. (PR #76746)

2024-01-10 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand updated https://github.com/llvm/llvm-project/pull/76746 >From 3524e2bc42aa6f83a8ecb3ad892d4a7a33f31f03 Mon Sep 17 00:00:00 2001 From: Yitzhak Mandelbaum Date: Tue, 2 Jan 2024 19:27:21 + Subject: [PATCH 1/4] [clang][dataflow] Fix bug in `Value` comparison. Makes valu

[clang] [clang][dataflow] Fix bug in `Value` comparison. (PR #76746)

2024-01-10 Thread Yitzhak Mandelbaum via cfe-commits
ymand wrote: Martin, I've completed your requested changes. PTAL. https://github.com/llvm/llvm-project/pull/76746 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Process terminator condition within `transferCFGBlock()`. (PR #77750)

2024-01-11 Thread Yitzhak Mandelbaum via cfe-commits
@@ -489,6 +482,31 @@ transferCFGBlock(const CFGBlock &Block, AnalysisContext &AC, } AC.Log.recordState(State); } + + // If we have a terminator, evaluate its condition. + // This `Expr` may not appear as a `CFGElement` anywhere else, and it's + // important that w

[clang] [clang][dataflow] Process terminator condition within `transferCFGBlock()`. (PR #77750)

2024-01-11 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/77750 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Process terminator condition within `transferCFGBlock()`. (PR #77750)

2024-01-11 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand edited https://github.com/llvm/llvm-project/pull/77750 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] 0079343 - [libTooling][NFC] Add a comment about comment parsing to getAssociatedRange.

2022-06-30 Thread Yitzhak Mandelbaum via cfe-commits
Author: Aaron Jacobs Date: 2022-06-30T12:46:57Z New Revision: 007934343c4c18102b2b3e4195d356dbcdf9a3fc URL: https://github.com/llvm/llvm-project/commit/007934343c4c18102b2b3e4195d356dbcdf9a3fc DIFF: https://github.com/llvm/llvm-project/commit/007934343c4c18102b2b3e4195d356dbcdf9a3fc.diff LOG:

[clang] a184a0d - [clang][dataflow] Add support for disabling warnings on smart pointers.

2022-03-25 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-03-25T16:44:34Z New Revision: a184a0d8aae6efc1d7f19a900155b8694178d617 URL: https://github.com/llvm/llvm-project/commit/a184a0d8aae6efc1d7f19a900155b8694178d617 DIFF: https://github.com/llvm/llvm-project/commit/a184a0d8aae6efc1d7f19a900155b8694178d617.diff

[clang] e334f04 - [libTooling] Support TransformerResult in consumer callbacks

2022-03-28 Thread Yitzhak Mandelbaum via cfe-commits
Author: Eric Li Date: 2022-03-28T15:39:46Z New Revision: e334f044cdb5c0f4f549fc0380a6757e37ccb105 URL: https://github.com/llvm/llvm-project/commit/e334f044cdb5c0f4f549fc0380a6757e37ccb105 DIFF: https://github.com/llvm/llvm-project/commit/e334f044cdb5c0f4f549fc0380a6757e37ccb105.diff LOG: [libT

[clang] 7f07600 - [clang][dataflow] Add support for `value_or` in a comparison.

2022-03-31 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-03-31T13:21:39Z New Revision: 7f076004e941fe60ab613a218da31a25b09b0925 URL: https://github.com/llvm/llvm-project/commit/7f076004e941fe60ab613a218da31a25b09b0925 DIFF: https://github.com/llvm/llvm-project/commit/7f076004e941fe60ab613a218da31a25b09b0925.diff

[clang] 36d4e84 - [clang][dataflow] Fix handling of base-class fields.

2022-04-01 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-04-01T15:01:32Z New Revision: 36d4e84427a704599bfd8bd72edf46ecd27ff5e5 URL: https://github.com/llvm/llvm-project/commit/36d4e84427a704599bfd8bd72edf46ecd27ff5e5 DIFF: https://github.com/llvm/llvm-project/commit/36d4e84427a704599bfd8bd72edf46ecd27ff5e5.diff

[clang] ef1e1b3 - [clang][dataflow] Add support for (built-in) (in)equality operators

2022-04-01 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-04-01T17:13:21Z New Revision: ef1e1b3106a544389cf393647cda57b5b0642ef3 URL: https://github.com/llvm/llvm-project/commit/ef1e1b3106a544389cf393647cda57b5b0642ef3 DIFF: https://github.com/llvm/llvm-project/commit/ef1e1b3106a544389cf393647cda57b5b0642ef3.diff

[clang] 01db103 - [clang][dataflow] Add support for correlation of boolean (tracked) values

2022-04-01 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-04-01T17:25:49Z New Revision: 01db10365e935ccca9dc2ed449b23319e170eea0 URL: https://github.com/llvm/llvm-project/commit/01db10365e935ccca9dc2ed449b23319e170eea0 DIFF: https://github.com/llvm/llvm-project/commit/01db10365e935ccca9dc2ed449b23319e170eea0.diff

[clang] 506ec85 - [clang][dataflow] Add support for clang's `__builtin_expect`.

2022-04-04 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-04-04T12:20:43Z New Revision: 506ec85ba82a39748f8fb07c15b93e1e958a9611 URL: https://github.com/llvm/llvm-project/commit/506ec85ba82a39748f8fb07c15b93e1e958a9611 DIFF: https://github.com/llvm/llvm-project/commit/506ec85ba82a39748f8fb07c15b93e1e958a9611.diff

[clang] d002495 - [clang][dataflow] Support integral casts

2022-04-05 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-04-05T13:55:32Z New Revision: d002495b949c1d0d2db22605f134d722a39637fa URL: https://github.com/llvm/llvm-project/commit/d002495b949c1d0d2db22605f134d722a39637fa DIFF: https://github.com/llvm/llvm-project/commit/d002495b949c1d0d2db22605f134d722a39637fa.diff

[clang] 692e030 - [clang][dataflow] Add cache of `ControlFlowContext`s for function decls.

2022-08-03 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-08-03T15:17:49Z New Revision: 692e03039d1ee57c06c0cfae68b91bc5bfd99f6e URL: https://github.com/llvm/llvm-project/commit/692e03039d1ee57c06c0cfae68b91bc5bfd99f6e DIFF: https://github.com/llvm/llvm-project/commit/692e03039d1ee57c06c0cfae68b91bc5bfd99f6e.diff

[clang] 4633c02 - [clang][dataflow] Allow disabling built-in transfer functions for CFG terminators

2022-03-15 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-03-15T15:10:32Z New Revision: 4633c02eb0013ed38319b3fd708f59251bcd2aaf URL: https://github.com/llvm/llvm-project/commit/4633c02eb0013ed38319b3fd708f59251bcd2aaf DIFF: https://github.com/llvm/llvm-project/commit/4633c02eb0013ed38319b3fd708f59251bcd2aaf.diff

[clang] e0aefb4 - [clang][dataflow] Add an API for dataflow "models" -- reusable analysis components.

2022-03-16 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-03-16T19:47:57Z New Revision: e0aefb4f92782f0679470ee3834801977199a1b1 URL: https://github.com/llvm/llvm-project/commit/e0aefb4f92782f0679470ee3834801977199a1b1 DIFF: https://github.com/llvm/llvm-project/commit/e0aefb4f92782f0679470ee3834801977199a1b1.diff

[clang] a36c2dd - [clang][dataflow] Add modeling of Chromium's CHECK functionality

2022-03-18 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-03-18T14:39:23Z New Revision: a36c2dd6d54c6ff854cb4872cd2831ed995e9275 URL: https://github.com/llvm/llvm-project/commit/a36c2dd6d54c6ff854cb4872cd2831ed995e9275 DIFF: https://github.com/llvm/llvm-project/commit/a36c2dd6d54c6ff854cb4872cd2831ed995e9275.diff

[clang-tools-extra] 1844054 - [libTooling] Generalize string explanation as templated metadata

2022-03-21 Thread Yitzhak Mandelbaum via cfe-commits
Author: Eric Li Date: 2022-03-21T18:45:39Z New Revision: 18440547d3520b78c9ab929685309419fc1fbe95 URL: https://github.com/llvm/llvm-project/commit/18440547d3520b78c9ab929685309419fc1fbe95 DIFF: https://github.com/llvm/llvm-project/commit/18440547d3520b78c9ab929685309419fc1fbe95.diff LOG: [libT

[clang] 8351726 - Revert "[libTooling] Generalize string explanation as templated metadata"

2022-03-21 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-03-21T19:06:59Z New Revision: 8351726e6dba0ca08b477276f22361c2ab609ecf URL: https://github.com/llvm/llvm-project/commit/8351726e6dba0ca08b477276f22361c2ab609ecf DIFF: https://github.com/llvm/llvm-project/commit/8351726e6dba0ca08b477276f22361c2ab609ecf.diff

[clang-tools-extra] 9edecea - [libTooling] Generalize string explanation as templated metadata

2022-03-21 Thread Yitzhak Mandelbaum via cfe-commits
Author: Eric Li Date: 2022-03-21T20:39:35Z New Revision: 9edeceaece606125fa392e1648e549d256df423a URL: https://github.com/llvm/llvm-project/commit/9edeceaece606125fa392e1648e549d256df423a DIFF: https://github.com/llvm/llvm-project/commit/9edeceaece606125fa392e1648e549d256df423a.diff LOG: [libT

[clang] bbcf11f - [clang][dataflow] Weaken abstract comparison to enable loop termination.

2022-04-13 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-04-13T19:49:50Z New Revision: bbcf11f5af98a6e0fa008e180404cfc397f336fa URL: https://github.com/llvm/llvm-project/commit/bbcf11f5af98a6e0fa008e180404cfc397f336fa DIFF: https://github.com/llvm/llvm-project/commit/bbcf11f5af98a6e0fa008e180404cfc397f336fa.diff

[clang] eb2131b - [clang][dataflow] Do not crash on missing `Value` for struct-typed variable init.

2022-04-19 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-04-19T20:52:29Z New Revision: eb2131bdbad3f74be2fcf236b4d6921612af47a9 URL: https://github.com/llvm/llvm-project/commit/eb2131bdbad3f74be2fcf236b4d6921612af47a9 DIFF: https://github.com/llvm/llvm-project/commit/eb2131bdbad3f74be2fcf236b4d6921612af47a9.diff

[clang] c8f822a - [clang][dataflow] Ensure well-formed flow conditions.

2022-04-20 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-04-20T17:01:55Z New Revision: c8f822ad51951094504866049546bd2c3446728f URL: https://github.com/llvm/llvm-project/commit/c8f822ad51951094504866049546bd2c3446728f DIFF: https://github.com/llvm/llvm-project/commit/c8f822ad51951094504866049546bd2c3446728f.diff

[clang-tools-extra] d038fae - [clang-tidy] add option performance-move-const-arg.CheckMoveToConstRef

2022-02-10 Thread Yitzhak Mandelbaum via cfe-commits
Author: Greg Miller Date: 2022-02-10T13:31:07Z New Revision: d038faea4608f8f39602fb557666281c49de5722 URL: https://github.com/llvm/llvm-project/commit/d038faea4608f8f39602fb557666281c49de5722 DIFF: https://github.com/llvm/llvm-project/commit/d038faea4608f8f39602fb557666281c49de5722.diff LOG: [

[clang] d1e3235 - [libTooling] Change Tranformer's consumer to take multiple changes

2022-02-15 Thread Yitzhak Mandelbaum via cfe-commits
Author: Eric Li Date: 2022-02-15T16:34:36Z New Revision: d1e3235f604d65a62d25842305f54e43bd36681f URL: https://github.com/llvm/llvm-project/commit/d1e3235f604d65a62d25842305f54e43bd36681f DIFF: https://github.com/llvm/llvm-project/commit/d1e3235f604d65a62d25842305f54e43bd36681f.diff LOG: [libT

[clang] 37b4782 - [clang][dataflow] Fix `Environment::join`'s handling of flow-condition merging.

2022-04-25 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-04-25T15:05:50Z New Revision: 37b4782e3e53cba265d26843f222134ed21e1974 URL: https://github.com/llvm/llvm-project/commit/37b4782e3e53cba265d26843f222134ed21e1974 DIFF: https://github.com/llvm/llvm-project/commit/37b4782e3e53cba265d26843f222134ed21e1974.diff

[clang] 6c81b57 - [clang][dataflow] Perform structural comparison of indirection values in `join`.

2022-04-28 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-04-28T17:55:09Z New Revision: 6c81b57237164319b5429ee33957004aa21db2fa URL: https://github.com/llvm/llvm-project/commit/6c81b57237164319b5429ee33957004aa21db2fa DIFF: https://github.com/llvm/llvm-project/commit/6c81b57237164319b5429ee33957004aa21db2fa.diff

[clang-tools-extra] 9a8d33d - [clang-tidy] Escape diagnostic messages before passing to `diag` in Transformer.

2022-05-04 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-05-04T20:56:56Z New Revision: 9a8d33dbd8a851ccb9821d5d1346aa225398cadc URL: https://github.com/llvm/llvm-project/commit/9a8d33dbd8a851ccb9821d5d1346aa225398cadc DIFF: https://github.com/llvm/llvm-project/commit/9a8d33dbd8a851ccb9821d5d1346aa225398cadc.diff

[clang] a45647d - [clang][dataflow][NFC] Clarify guarantees on returned vector size for `runDataflowAnalysis`.

2022-05-06 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-05-06T13:30:01Z New Revision: a45647d82b728a7ccdfe28338bb8a115dee7a735 URL: https://github.com/llvm/llvm-project/commit/a45647d82b728a7ccdfe28338bb8a115dee7a735 DIFF: https://github.com/llvm/llvm-project/commit/a45647d82b728a7ccdfe28338bb8a115dee7a735.diff

[clang] 7e63a0d - [clang-tidy] New check for safe usage of `std::optional` and like types.

2022-05-06 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-05-06T18:50:36Z New Revision: 7e63a0d479dd3ccce20de5cddb0f138b537c08bb URL: https://github.com/llvm/llvm-project/commit/7e63a0d479dd3ccce20de5cddb0f138b537c08bb DIFF: https://github.com/llvm/llvm-project/commit/7e63a0d479dd3ccce20de5cddb0f138b537c08bb.diff

[clang-tools-extra] ec34de1 - [clang-tidy][NFC] Fix doc typo for bugprone-unchecked-optional-access

2022-05-06 Thread Yitzhak Mandelbaum via cfe-commits
Author: Yitzhak Mandelbaum Date: 2022-05-06T19:23:43Z New Revision: ec34de1bfe5501fd3017ff867bc2481dc052788d URL: https://github.com/llvm/llvm-project/commit/ec34de1bfe5501fd3017ff867bc2481dc052788d DIFF: https://github.com/llvm/llvm-project/commit/ec34de1bfe5501fd3017ff867bc2481dc052788d.diff

[clang] [clang][dataflow] Make optional checker work for types derived from optional. (PR #84138)

2024-03-14 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand edited https://github.com/llvm/llvm-project/pull/84138 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Make optional checker work for types derived from optional. (PR #84138)

2024-03-14 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand commented: One high level question: is there a simpler path by which we avoid crashing on derived types but also don't support them? It seems like there is a lot of complexity required in getting this just right. Is it worth it (both in the code itself and in terms of

[clang] [clang][dataflow] Make optional checker work for types derived from optional. (PR #84138)

2024-03-14 Thread Yitzhak Mandelbaum via cfe-commits
@@ -64,39 +64,117 @@ static bool hasOptionalClassName(const CXXRecordDecl &RD) { return false; } +static const CXXRecordDecl *getOptionalBaseClass(const CXXRecordDecl *RD) { + if (RD == nullptr) +return nullptr; + if (hasOptionalClassName(*RD)) +return RD; + + if

[clang] [clang][dataflow] Make optional checker work for types derived from optional. (PR #84138)

2024-03-14 Thread Yitzhak Mandelbaum via cfe-commits
@@ -64,39 +64,117 @@ static bool hasOptionalClassName(const CXXRecordDecl &RD) { return false; } +static const CXXRecordDecl *getOptionalBaseClass(const CXXRecordDecl *RD) { + if (RD == nullptr) +return nullptr; + if (hasOptionalClassName(*RD)) +return RD; + + if

[clang] [clang][dataflow] Make optional checker work for types derived from optional. (PR #84138)

2024-03-14 Thread Yitzhak Mandelbaum via cfe-commits
@@ -64,39 +64,117 @@ static bool hasOptionalClassName(const CXXRecordDecl &RD) { return false; } +static const CXXRecordDecl *getOptionalBaseClass(const CXXRecordDecl *RD) { + if (RD == nullptr) +return nullptr; + if (hasOptionalClassName(*RD)) +return RD; + + if

[clang] [clang][dataflow] Make optional checker work for types derived from optional. (PR #84138)

2024-03-14 Thread Yitzhak Mandelbaum via cfe-commits
@@ -129,19 +207,19 @@ auto inPlaceClass() { auto isOptionalNulloptConstructor() { return cxxConstructExpr( - hasOptionalType(), + hasOptionalOrDerivedType(), ymand wrote: Here and below: Why admit a derived class here? I would think that we don't

[clang] [clang][dataflow] Make optional checker work for types derived from optional. (PR #84138)

2024-03-14 Thread Yitzhak Mandelbaum via cfe-commits
@@ -64,39 +64,117 @@ static bool hasOptionalClassName(const CXXRecordDecl &RD) { return false; } +static const CXXRecordDecl *getOptionalBaseClass(const CXXRecordDecl *RD) { + if (RD == nullptr) +return nullptr; + if (hasOptionalClassName(*RD)) +return RD; + + if

[clang] [clang][dataflow] Model assignment to derived class from base. (PR #85064)

2024-03-14 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. modulo Gabor's comments. https://github.com/llvm/llvm-project/pull/85064 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] Fix `getResultObjectLocation()` on `CXXDefaultArgExpr`. (PR #85072)

2024-03-14 Thread Yitzhak Mandelbaum via cfe-commits
https://github.com/ymand approved this pull request. https://github.com/llvm/llvm-project/pull/85072 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

<    1   2   3   4   5   6   7   >