[PATCH] D155921: [clang][dataflow] Reverse course on `getValue()` deprecation.

2023-07-27 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. Pre-merge failure looks unrelated. It's in AST/Interp/literals.cpp, and this patch shouldn't affect that in any way. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155921/new/ https://reviews.llvm.org/D155921 _

[PATCH] D155922: [clang][dataflow] Eliminate `ReferenceValue`.

2023-07-27 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG1b334a2ae7af: [clang][dataflow] Eliminate `ReferenceValue`. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D155921: [clang][dataflow] Reverse course on `getValue()` deprecation.

2023-07-27 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGe95134b9cb18: [clang][dataflow] Reverse course on `getValue()` deprecation. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SI

[PATCH] D156658: [clang][dataflow] When checking `ExprToLoc` convergence, only consider children of block terminator.

2023-08-22 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. Sorry for the late response -- I was on vacation. In D156658#4554347 , @xazax.hun wrote: > In D156658#4552965 , @mboehme wrote: > >> I've investigated this in more detail. Unfortunately,

[PATCH] D158513: [clang][dataflow] Add two repros for non-convergence involving pointers in loops.

2023-08-22 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. These are broken out from https://reviews.llvm.org/D156658, which it now seems

[PATCH] D156658: [clang][dataflow] When checking `ExprToLoc` convergence, only consider children of block terminator.

2023-08-22 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. I've broken out the tests into https://reviews.llvm.org/D158513, as it seems clear we want to get these submitted. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156658/new/ https://reviews.llvm.org/D156658 ___

[PATCH] D158513: [clang][dataflow] Add two repros for non-convergence involving pointers in loops.

2023-08-22 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. pre-merge failure appears to be unrelated to this patch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158513/new/ https://reviews.llvm.org/D158513 ___ cfe-commits mailing list c

[PATCH] D158513: [clang][dataflow] Add two repros for non-convergence involving pointers in loops.

2023-08-23 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGa1a63d68a468: [clang][dataflow] Add two repros for non-convergence involving pointers in… (authored by mboehme). Repository: rG LLVM Github Monore

[PATCH] D158592: [clang][dataflow] Produce pointer values for callees of member operator calls.

2023-08-23 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Calls to member operators are a special case in

[PATCH] D158628: [clang][dataflow][WIP] Prototype for pointer value widening (nullable `getPointeeLoc()` flavor)

2023-08-23 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. DO NOT REVIEW This is a WIP for discussion only

[PATCH] D158630: [clang][dataflow][WIP] Prototype for pointer value widening ("unknown storage location" flavor)

2023-08-23 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. DO NOT REVIEW This is a WIP for discussion only

[PATCH] D156658: [clang][dataflow] When checking `ExprToLoc` convergence, only consider children of block terminator.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The only entries in `ExprToLoc` that will be rea

[PATCH] D156658: [clang][dataflow] When checking `ExprToLoc` convergence, only consider children of block terminator.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. Retracting from review momentarily -- I've just realized that I should be comparing values the same way this is done for the `LocToVal` map. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156658/new/ https://reviews.llvm.or

[PATCH] D156658: [clang][dataflow] When checking `ExprToLoc` convergence, only consider children of block terminator.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 545561. mboehme added a comment. Make check for `Value` equivalence consistent with the corresponding check for `LocToVal`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156658/new/ https://reviews.llvm.org/D15

[PATCH] D156658: [clang][dataflow] When checking `ExprToLoc` convergence, only consider children of block terminator.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 545571. mboehme added a comment. Use `dyn_cast_or_null` instead of `dyn_cast`. (Children can be null.) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156658/new/ https://reviews.llvm.org/D156658 Files: clang/

[PATCH] D156672: [clang][dataflow] Use `Strict` accessors where we weren't using them yet.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This eliminates all uses of the deprecated acces

[PATCH] D156673: [clang][dataflow] Remove deprecated accessors as well as `SkipPast`.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Depends On D156672

[PATCH] D156674: [clang][dataflow] Remove `Strict` suffix from accessors.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. For the time being, we're keeping the `Strict` v

[PATCH] D156672: [clang][dataflow] Use `Strict` accessors where we weren't using them yet.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 545611. mboehme added a comment. Use `Loc == nullptr` instead of `!Loc`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156672/new/ https://reviews.llvm.org/D156672 Files: clang/lib/Analysis/FlowSensitive/Dat

[PATCH] D156672: [clang][dataflow] Use `Strict` accessors where we weren't using them yet.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked 2 inline comments as done. mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp:545 + &cast(State.Env.createStorageLocation(*E)); + State.Env.setStorageLocationStrict(*E, *Loc); +} --

[PATCH] D156674: [clang][dataflow] Remove `Strict` suffix from accessors.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 545615. mboehme added a comment. Rebased to head Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156674/new/ https://reviews.llvm.org/D156674 Files: clang/include/clang/Analysis/FlowSensitive/DataflowEnvironme

[PATCH] D156658: [clang][dataflow] When checking `ExprToLoc` convergence, only consider children of block terminator.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. Retracting from review. I think I was overly hasty with this change: - There are edges between expressions that cross CFG block boundaries but don't involve block terminators. Here's an example -- [B1 .1] ha

[PATCH] D156672: [clang][dataflow] Use `Strict` accessors where we weren't using them yet.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. mboehme marked an inline comment as done. Closed by commit rGf76f6674d822: [clang][dataflow] Use `Strict` accessors where we weren't using them yet. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINC

[PATCH] D156673: [clang][dataflow] Remove deprecated accessors as well as `SkipPast`.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG17ba278f7611: [clang][dataflow] Remove deprecated accessors as well as `SkipPast`. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D15667

[PATCH] D156674: [clang][dataflow] Remove `Strict` suffix from accessors.

2023-07-31 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGb244b6ae0b21: [clang][dataflow] Remove `Strict` suffix from accessors. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156674/new/ http

[PATCH] D156788: [clang][dataflow] Rename `AggregateStorageLocation` to `RecordStorageLocation` and `StructValue` to `RecordValue`.

2023-08-01 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. - Both of these constructs are used to represent

[PATCH] D156790: [clang][dataflow] Remove deprecated `Strict` accessors.

2023-08-01 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG LLVM Github Monorepo https://r

[PATCH] D156790: [clang][dataflow] Remove deprecated `Strict` accessors.

2023-08-01 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8c1a519ee423: [clang][dataflow] Remove deprecated `Strict` accessors. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156790/new/ https

[PATCH] D156788: [clang][dataflow] Rename `AggregateStorageLocation` to `RecordStorageLocation` and `StructValue` to `RecordValue`.

2023-08-01 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG9ecdbe3855a8: [clang][dataflow] Rename `AggregateStorageLocation` to `RecordStorageLocation`… (authored by mboehme). Changed prior to commit: https://reviews.llvm.org/D156788?vs=546021&id=546201#toc Re

[PATCH] D156856: [clang][dataflow] In `equivalentTo()`, ignore expression locations that are unlikely to matter.

2023-08-02 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The locations of some glvalue expressions are di

[PATCH] D156859: [clang][dataflow] In `ControlFlowContext`, handle `Decl` by reference instead of pointer.

2023-08-02 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. `build()` guarantees that we'll always have a `D

[PATCH] D156658: [clang][dataflow] When checking `ExprToLoc` convergence, only consider children of block terminator.

2023-08-02 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. In D156658#4546955 , @xazax.hun wrote: >> It looks as if, instead, what we should be doing to improve convergence in a >> sound manner is to implement widening for ExprToLoc. I'll submit a >> corresponding patch shortly. > > +1,

[PATCH] D156856: [clang][dataflow] In `equivalentTo()`, ignore expression locations that are unlikely to matter.

2023-08-02 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 546456. mboehme added a comment. Add a FIXME noting that this is a temporary solution. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156856/new/ https://reviews.llvm.org/D156856 Files: clang/include/clang/An

[PATCH] D156859: [clang][dataflow] In `ControlFlowContext`, handle `Decl` by reference instead of pointer.

2023-08-02 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGe6cd409fc639: [clang][dataflow] In `ControlFlowContext`, handle `Decl` by reference instead… (authored by mboehme). Repository: rG LLVM Github Mon

[PATCH] D153006: [clang][dataflow] Perform deep copies in copy and move operations.

2023-07-03 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked an inline comment as done. mboehme added a subscriber: donat.nagy. mboehme added a comment. In D153006#4463759 , @RKSimon wrote: > @mboehme https://lab.llvm.org/buildbot/#/builders/124 is still broken - > please can you revert the patch se

[PATCH] D154339: [clang][dataflow] Make `runDataflowReturnError()` a non-template function.

2023-07-03 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. It turns out this didn't need to be a template a

[PATCH] D153006: [clang][dataflow] Perform deep copies in copy and move operations.

2023-07-03 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked 3 inline comments as done. mboehme added a comment. https://reviews.llvm.org/D154339 has changes in response to post-commit comments. Comment at: clang/include/clang/Analysis/FlowSensitive/RecordOps.h:26 +/// fields of record type. It also copies properties from

[PATCH] D154420: [clang][dataflow] Model variables / fields / funcs used in default initializers.

2023-07-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The newly added test fails without the other cha

[PATCH] D154421: [clang][dataflow] Add a test for a struct that is directly self-referential through a reference.

2023-07-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The ongoing migration to strict handling of value categories (see https://disc

[PATCH] D154420: [clang][dataflow] Model variables / fields / funcs used in default initializers.

2023-07-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. pre-merge failure looks unrelated Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154420/new/ https://reviews.llvm.org/D154420 ___ cfe-commits mailing list cfe-commits@lists.llvm.o

[PATCH] D154421: [clang][dataflow] Add a test for a struct that is directly self-referential through a reference.

2023-07-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 537029. mboehme added a comment. Actually make the test pass. It was missing an indirection. No idea how I missed this on the initial upload... Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154421/new/ https:/

[PATCH] D154339: [clang][dataflow] Make `runDataflowReturnError()` a non-template function.

2023-07-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/unittests/Analysis/FlowSensitive/TestingSupport.h:389 /// verify the results. -template -llvm::Error -runDataflowReturnError(llvm::StringRef Code, VerifyResultsT VerifyResults, - DataflowAnalysisOptions Opti

[PATCH] D154339: [clang][dataflow] Make `runDataflowReturnError()` a non-template function.

2023-07-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/unittests/Analysis/FlowSensitive/TestingSupport.h:389 /// verify the results. -template -llvm::Error -runDataflowReturnError(llvm::StringRef Code, VerifyResultsT VerifyResults, - DataflowAnalysisOptions Opti

[PATCH] D154421: [clang][dataflow] Add a test for a struct that is directly self-referential through a reference.

2023-07-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. Pre-merge failure looks unrelated Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154421/new/ https://reviews.llvm.org/D154421 ___ cfe-commits mailing list cfe-commits@lists.llvm.o

[PATCH] D154420: [clang][dataflow] Model variables / fields / funcs used in default initializers.

2023-07-04 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG1e7329cd79c5: [clang][dataflow] Model variables / fields / funcs used in default initializers. (authored by mboehme). Repository: rG LLVM Github M

[PATCH] D154421: [clang][dataflow] Add a test for a struct that is directly self-referential through a reference.

2023-07-04 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG880f306226fc: [clang][dataflow] Add a test for a struct that is directly self-referential… (authored by mboehme). Repository: rG LLVM Github Monor

[PATCH] D154339: [clang][dataflow] Make `runDataflowReturnError()` a non-template function.

2023-07-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 537061. mboehme added a comment. Rename `runDataflowReturnError()` as discussed in review. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154339/new/ https://reviews.llvm.org/D154339 Files: clang/include/clan

[PATCH] D154339: [clang][dataflow] Make `runDataflowReturnError()` a non-template function.

2023-07-04 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGd0be47c51cfd: [clang][dataflow] Make `runDataflowReturnError()` a non-template function. (authored by mboehme). Repository: rG LLVM Github Monorep

[PATCH] D154479: [clang][dataflow] Bug fix: `BuiltinFnToFnPtr` cast does not produce a pointer.

2023-07-05 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. See comments in the code for details. Reposito

[PATCH] D154479: [clang][dataflow] Bug fix: `BuiltinFnToFnPtr` cast does not produce a pointer.

2023-07-05 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. See also https://github.com/google/crubit/commit/381e2b904073a1c6490f1e1c323eb1b8e5b8595f for a corresponding change in the Crubit nullability checker. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154479/new/ https://rev

[PATCH] D154479: [clang][dataflow] Bug fix: `BuiltinFnToFnPtr` cast does not produce a pointer.

2023-07-05 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. Pre-merge failure looks unrelated Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154479/new/ https://reviews.llvm.org/D154479 ___ cfe-commits mailing list cfe-commits@lists.llvm.o

[PATCH] D154479: [clang][dataflow] Bug fix: `BuiltinFnToFnPtr` cast does not produce a pointer.

2023-07-05 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGca01be54c1e9: [clang][dataflow] Bug fix: `BuiltinFnToFnPtr` cast does not produce a pointer. (authored by mboehme). Repository: rG LLVM Github Mon

[PATCH] D154586: [clang][dataflow] Various changes to handling of modeled fields.

2023-07-06 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. - Rename `getReferencedFields()` to `getModeledF

[PATCH] D154597: [clang][dataflow] Various refactorings to UncheckedOptionalAccessModel.

2023-07-06 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. These are intended to ease an upcoming change th

[PATCH] D154597: [clang][dataflow] Various refactorings to UncheckedOptionalAccessModel.

2023-07-06 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp:258 /// symbolic value of its "has_value" property. -StructValue &createOptionalValue(Environment &Env, BoolValue &HasValueVal) { +StructValue &createOptionalValu

[PATCH] D154597: [clang][dataflow] Various refactorings to UncheckedOptionalAccessModel.

2023-07-09 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. libcxx and clangd failures look unrelated Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154597/new/ https://reviews.llvm.org/D154597 ___ cfe-commits mailing list cfe-commits@list

[PATCH] D154586: [clang][dataflow] Various changes to handling of modeled fields.

2023-07-09 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. libcxx failure looks unrelated Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154586/new/ https://reviews.llvm.org/D154586 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D154586: [clang][dataflow] Various changes to handling of modeled fields.

2023-07-09 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGe8a1560d1de9: [clang][dataflow] Various changes to handling of modeled fields. (authored by mboehme). Changed prior to commit: https://reviews.llv

[PATCH] D154597: [clang][dataflow] Various refactorings to UncheckedOptionalAccessModel.

2023-07-09 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGf653d14065a3: [clang][dataflow] Various refactorings to UncheckedOptionalAccessModel. (authored by mboehme). Repository: rG LLVM Github Monorepo

[PATCH] D154833: [clang][dataflow] Add `AnalysisInputs::withSolverFactory()`.

2023-07-10 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D154833 Files

[PATCH] D154834: [clang][dataflow][NFC] Expand a comment.

2023-07-10 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG LLVM Github Monorepo https://r

[PATCH] D154833: [clang][dataflow] Add `AnalysisInputs::withSolverFactory()`.

2023-07-10 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. libcxx failure looks unrelated Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154833/new/ https://reviews.llvm.org/D154833 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D154833: [clang][dataflow] Add `AnalysisInputs::withSolverFactory()`.

2023-07-10 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG8bc13c884727: [clang][dataflow] Add `AnalysisInputs::withSolverFactory()`. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SIN

[PATCH] D154834: [clang][dataflow][NFC] Expand a comment.

2023-07-10 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGe53da3eab42e: [clang][dataflow][NFC] Expand a comment. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION htt

[PATCH] D154934: [clang][dataflow] Use `IntegerValue` instead of `StructValue` in `ValueTest`.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Soon, it will no longer be possible to default-construct `StructValue`. For de

[PATCH] D154935: [clang][dataflow] Introduce `getFieldValue()` test helpers.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a project: All. mboehme requested review of this revision. Herald added subscribers: cfe-commits, wangpc. Herald added a project: clang. These insulate tests against changes to the `getChild()` functions of `

[PATCH] D154935: [clang][dataflow] Introduce `getFieldValue()` test helpers.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp:95 - StructValue *SVal = clang::dyn_cast(Val); - ASSERT_NE(SVal, nullptr); - Val = SVal->getChild(*R); Using the opportunity to simplify the code her

[PATCH] D154949: [clang][dataflow] Use `getFieldValue()` in TransferTest.cpp.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. For context, see https://reviews.llvm.org/D154935. Depends On D154935

[PATCH] D154952: [clang][dataflow] Various refactorings in TypeErasedDataflowAnalysisTest.cpp

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. These simplify the code in their own right, but they are also useful in that t

[PATCH] D154952: [clang][dataflow] Various refactorings in TypeErasedDataflowAnalysisTest.cpp

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp:400 getASTContext( { - auto &ConstructorVal = *Env.createValue(E->getType()); - ConstructorVal.setProperty("is_set", Env.

[PATCH] D154961: [clang][dataflow] Include fields initialized in an `InitListExpr` in `getModeledFields()`.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Previously, we were including these fields only

[PATCH] D154965: [clang][dataflow] Fix initializaing a reference field with an `InitListExpr`.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. I added a test for this as the ongoing migration

[PATCH] D154935: [clang][dataflow] Introduce `getFieldValue()` test helpers.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 539365. mboehme added a comment. Changes in response to review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154935/new/ https://reviews.llvm.org/D154935 Files: clang/unittests/Analysis/FlowSensitiv

[PATCH] D154965: [clang][dataflow] Fix initializing a reference field with an `InitListExpr`.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 539366. mboehme added a comment. Changes in response to review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154965/new/ https://reviews.llvm.org/D154965 Files: clang/lib/Analysis/FlowSensitive/Tran

[PATCH] D154934: [clang][dataflow] Use `IntegerValue` instead of `StructValue` in `ValueTest`.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG0014aab2d588: [clang][dataflow] Use `IntegerValue` instead of `StructValue` in `ValueTest`. (authored by mboehme). Repository: rG LLVM Github Mono

[PATCH] D154935: [clang][dataflow] Introduce `getFieldValue()` test helpers.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG2902ea3d817b: [clang][dataflow] Introduce `getFieldValue()` test helpers. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINC

[PATCH] D154949: [clang][dataflow] Use `getFieldValue()` in TransferTest.cpp.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG103a0fc08460: [clang][dataflow] Use `getFieldValue()` in TransferTest.cpp. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SIN

[PATCH] D154952: [clang][dataflow] Various refactorings in TypeErasedDataflowAnalysisTest.cpp

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG1e9b4fc1dcf2: [clang][dataflow] Various refactorings in TypeErasedDataflowAnalysisTest.cpp (authored by mboehme). Repository: rG LLVM Github Monor

[PATCH] D154961: [clang][dataflow] Include fields initialized in an `InitListExpr` in `getModeledFields()`.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGb47bdcbc7207: [clang][dataflow] Include fields initialized in an `InitListExpr` in… (authored by mboehme). Repository: rG LLVM Github Monorepo CH

[PATCH] D154965: [clang][dataflow] Fix initializing a reference field with an `InitListExpr`.

2023-07-11 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGbd9b57de4ff7: [clang][dataflow] Fix initializing a reference field with an `InitListExpr`. (authored by mboehme). Repository: rG LLVM Github Monor

[PATCH] D155067: [clang][dataflow] Strengthen flow condition assertions.

2023-07-12 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Instead of asserting merely that the flow condition doesn't imply that a varia

[PATCH] D155074: [clang][dataflow] Add a test for not explicitly initialized fields in aggregate initialization.

2023-07-12 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D155074 Files

[PATCH] D155075: [clang][dataflow] Add `DataflowEnvironment::createObject()`.

2023-07-12 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added subscribers: cfe-commits, wangpc. Herald added a project: clang. This consolidates the code used in variou

[PATCH] D155075: [clang][dataflow] Add `DataflowEnvironment::createObject()`.

2023-07-13 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 540022. mboehme added a comment. Rebased to head Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155075/new/ https://reviews.llvm.org/D155075 Files: clang/include/clang/Analysis/FlowSensitive/DataflowEnvironme

[PATCH] D155202: [clang][dataflow] Simplify implementation of `transferStdForwardCall()` in optional check.

2023-07-13 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The argument and return value of `std::forward`

[PATCH] D155204: [clang][dataflow] Add `refreshStructValue()`.

2023-07-13 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added subscribers: cfe-commits, wangpc. Herald added a project: clang. Besides being a useful abstraction, this

[PATCH] D155202: [clang][dataflow] Simplify implementation of `transferStdForwardCall()` in optional check.

2023-07-14 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked an inline comment as done. mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp:683 - StorageLocation *LocRet = State.Env.getStorageLocation(*E, SkipPast::None); - if (LocRet != nullptr) -retur

[PATCH] D155075: [clang][dataflow] Add `DataflowEnvironment::createObject()`.

2023-07-16 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 540871. mboehme added a comment. Add comment for `createObjectInternal()` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155075/new/ https://reviews.llvm.org/D155075 Files: clang/include/clang/Analysis/FlowSe

[PATCH] D155204: [clang][dataflow] Add `refreshStructValue()`.

2023-07-17 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h:706-711 +/// This function is primarily intended for use by checks that set custom +/// properties on `StructValue`s to model the state of these values. Such checks +///

[PATCH] D155074: [clang][dataflow] Add a test for not explicitly initialized fields in aggregate initialization.

2023-07-17 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG4782597e3cd1: [clang][dataflow] Add a test for not explicitly initialized fields in aggregate… (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llv

[PATCH] D155075: [clang][dataflow] Add `DataflowEnvironment::createObject()`.

2023-07-17 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG6d768548ecc0: [clang][dataflow] Add `DataflowEnvironment::createObject()`. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SIN

[PATCH] D155202: [clang][dataflow] Simplify implementation of `transferStdForwardCall()` in optional check.

2023-07-17 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. mboehme marked an inline comment as done. Closed by commit rG243a79ca01f8: [clang][dataflow] Simplify implementation of `transferStdForwardCall()` in… (authored by mboe

[PATCH] D155204: [clang][dataflow] Add `refreshStructValue()`.

2023-07-17 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGd17f455a6348: [clang][dataflow] Add `refreshStructValue()`. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D155446: [clang][dataflow] Eliminate duplication between `AggregateStorageLocation` and `StructValue`.

2023-07-17 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. After this change, `StructValue` is just a wrapp

[PATCH] D155465: [clang][dataflow] Bugfix for `refreshStructValue()`.

2023-07-17 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. In the case where the expression was not yet ass

[PATCH] D155446: [clang][dataflow] Eliminate duplication between `AggregateStorageLocation` and `StructValue`.

2023-07-17 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 541021. mboehme added a comment. Added bugfix for `refreshStructValue()` as a diffbase. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155446/new/ https://reviews.llvm.org/D155446 Files: clang/include/clang/A

[PATCH] D155465: [clang][dataflow] Bugfix for `refreshStructValue()`.

2023-07-17 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG0f6cf5556749: [clang][dataflow] Bugfix for `refreshStructValue()`. (authored by mboehme). Changed prior to commit: https://reviews.llvm.org/D15546

[PATCH] D158592: [clang][dataflow] Produce pointer values for callees of member operator calls.

2023-08-23 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. CI failure looks unrelated Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158592/new/ https://reviews.llvm.org/D158592 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http

[PATCH] D158592: [clang][dataflow] Produce pointer values for callees of member operator calls.

2023-08-24 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG4866a6e1d332: [clang][dataflow] Produce pointer values for callees of member operator calls. (authored by mboehme). Repository: rG LLVM Github Mon

[PATCH] D158630: [clang][dataflow][WIP] Prototype for pointer value widening ("unknown storage location" flavor)

2023-08-24 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 553021. mboehme added a comment. Added comment on self-referential data structurs. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158630/new/ https://reviews.llvm.org/D158630 Files: clang/include/clang/Analys

<    1   2   3   4   5   6   >