Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline

xazax.hun (Gábor Horváth)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 17 2012, 3:16 AM (585 w, 5 d)

Recent Activity

Sep 6 2023

xazax.hun accepted D159355: [clang][dataflow] Unsoundly treat "Unknown" as "Equivalent" in widening..

Sorry for the late review. This looks good to me, but I hope we will be able to undo it soon :)

Sep 6 2023, 1:15 PM · Restricted Project, Restricted Project

Sep 1 2023

xazax.hun accepted D159109: [analyzer] CStringChecker buffer access checks should check the first bytes.

LG!

Sep 1 2023, 5:15 PM · Restricted Project, Restricted Project
xazax.hun accepted D159108: [analyzer] CStringChecker should check the first byte of the destination of strcpy, strncpy.

LG!

Sep 1 2023, 5:05 PM · Restricted Project, Restricted Project

Aug 31 2023

xazax.hun accepted D159274: [clang][dataflow] When dumping `ExprToVal`, dump the `Value`, not just its location..
Aug 31 2023, 9:25 AM · Restricted Project, Restricted Project
xazax.hun accepted D159264: [clang][dataflow] Remove deprecated synonyms related to `RecordStorageLocation` and `RecordValue`.
Aug 31 2023, 9:25 AM · Restricted Project, Restricted Project
xazax.hun accepted D159262: [clang][dataflow] Eliminate deprecated `ControlFlowContext::build()` overload..
Aug 31 2023, 9:25 AM · Restricted Project, Restricted Project
xazax.hun accepted D159261: [clang][dataflow] Eliminate deprecated `DataflowAnalysis` constructor..
Aug 31 2023, 9:25 AM · Restricted Project, Restricted Project

Aug 29 2023

xazax.hun accepted D159090: [clang][dataflow][NFC] Remove obsolete references to `ReferenceValue` from comments..
Aug 29 2023, 8:21 AM · Restricted Project, Restricted Project

Aug 28 2023

xazax.hun accepted D158977: [clang][dataflow] Don't associate prvalue expressions with storage locations..

Thanks! Sometimes I am wondering whether we actually need a full map for PRValues. E.g., once we processed a MaterializeTemporaryExpr, we now have a location for the value, and it feels like we represent the same thing twice, once in ExprToLoc + LocToVal and once in ExprToVal. It is probably not too bad and might be extra work to clean this up.

Aug 28 2023, 7:26 PM · Restricted Project, Restricted Project
xazax.hun accepted D158981: [clang][dataflow][NFC] Eliminate `getStorageLocation()` / `setStorageLocation()` in `DataflowAnalysisContext`..
Aug 28 2023, 8:02 AM · Restricted Project, Restricted Project

Aug 25 2023

xazax.hun added inline comments to D158855: [analyzer][NFC] Remove useless class BuiltinBug.
Aug 25 2023, 9:02 AM · Restricted Project, Restricted Project
xazax.hun accepted D158848: [clang][dataflow] Support range-for loops in fixpoint algorithm..
Aug 25 2023, 8:41 AM · Restricted Project, Restricted Project

Aug 23 2023

xazax.hun accepted D158592: [clang][dataflow] Produce pointer values for callees of member operator calls..
Aug 23 2023, 9:03 AM · Restricted Project, Restricted Project

Aug 22 2023

xazax.hun added a comment to D156658: [clang][dataflow] When checking `ExprToLoc` convergence, only consider children of block terminator..

We only do widening at loop heads, and this means that widening only affects locations and values that flow into the loop from the outside or from a previous loop iteration.

But convergence can also be blocked by locations and values that are only used within the loop body. If these change from loop iteration to loop iteration and we don't perform widening on them, we will conclude that the state of the loop body never converges.

Aug 22 2023, 9:59 AM · Restricted Project, Restricted Project
xazax.hun accepted D158513: [clang][dataflow] Add two repros for non-convergence involving pointers in loops..
Aug 22 2023, 9:07 AM · Restricted Project, Restricted Project

Aug 21 2023

xazax.hun reopened D157038: ASan: Add additional wcs* interceptors on Windows.

Reverted in https://github.com/llvm/llvm-project/commit/8330116ebdcba58926f4f6fb402a4a6f010e8afc to unbreak build bot.

Aug 21 2023, 3:46 PM · Restricted Project, Restricted Project
xazax.hun added a reverting change for rGc0c83668f899: ASan: Add additional wcs* interceptors on Windows: rG8330116ebdcb: Revert "ASan: Add additional wcs* interceptors on Windows" to unbreak build bot.
Aug 21 2023, 3:46 PM · Restricted Project, Restricted Project
xazax.hun committed rG8330116ebdcb: Revert "ASan: Add additional wcs* interceptors on Windows" to unbreak build bot (authored by xazax.hun).
Revert "ASan: Add additional wcs* interceptors on Windows" to unbreak build bot
Aug 21 2023, 3:46 PM · Restricted Project, Restricted Project
xazax.hun added a reverting change for D157038: ASan: Add additional wcs* interceptors on Windows: rG8330116ebdcb: Revert "ASan: Add additional wcs* interceptors on Windows" to unbreak build bot.
Aug 21 2023, 3:46 PM · Restricted Project, Restricted Project
xazax.hun committed rGc0c83668f899: ASan: Add additional wcs* interceptors on Windows (authored by strega-nil).
ASan: Add additional wcs* interceptors on Windows
Aug 21 2023, 2:17 PM · Restricted Project, Restricted Project
xazax.hun closed D157038: ASan: Add additional wcs* interceptors on Windows.
Aug 21 2023, 2:17 PM · Restricted Project, Restricted Project

Aug 4 2023

xazax.hun accepted D153071: [clang][dataflow] Refactor `DataflowWorklist` types and add a WTO version..

Mea culpa. Looks like I did not anticipate non-RPO worklists. Thanks for cleaning this up, looks good to me!

Aug 4 2023, 2:45 PM · Restricted Project, Restricted Project

Aug 3 2023

xazax.hun accepted D157033: [clang][CFG] Fix 2 memory errors in interval computation..
Aug 3 2023, 2:20 PM · Restricted Project, Restricted Project

Aug 2 2023

xazax.hun added a comment to D156658: [clang][dataflow] When checking `ExprToLoc` convergence, only consider children of block terminator..

I've investigated this in more detail. Unfortunately, it turns out that it's not quite as simple as just implementing widening on ExprToLoc.

One of the reasons for this is that we only apply widening at loop heads, but the expressions that are "blocking" convergence may be contained in a block that is not a loop head.

Aug 2 2023, 8:46 AM · Restricted Project, Restricted Project
xazax.hun accepted D156859: [clang][dataflow] In `ControlFlowContext`, handle `Decl` by reference instead of pointer..
Aug 2 2023, 8:24 AM · Restricted Project, Restricted Project

Aug 1 2023

xazax.hun accepted D156790: [clang][dataflow] Remove deprecated `Strict` accessors..
Aug 1 2023, 10:37 AM · Restricted Project, Restricted Project
xazax.hun accepted D156788: [clang][dataflow] Rename `AggregateStorageLocation` to `RecordStorageLocation` and `StructValue` to `RecordValue`..
Aug 1 2023, 10:37 AM · Restricted Project, Restricted Project

Jul 31 2023

xazax.hun accepted D156672: [clang][dataflow] Use `Strict` accessors where we weren't using them yet..
Jul 31 2023, 8:09 AM · Restricted Project, Restricted Project
xazax.hun accepted D156674: [clang][dataflow] Remove `Strict` suffix from accessors..
Jul 31 2023, 7:49 AM · Restricted Project, Restricted Project
xazax.hun accepted D156673: [clang][dataflow] Remove deprecated accessors as well as `SkipPast`..
Jul 31 2023, 7:47 AM · Restricted Project, Restricted Project
xazax.hun added a comment to D156658: [clang][dataflow] When checking `ExprToLoc` convergence, only consider children of block terminator..

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.

Jul 31 2023, 7:45 AM · Restricted Project, Restricted Project

Jul 26 2023

xazax.hun accepted D156255: [clang-tidy] Update unchecked-optional-access-check to use convenience function for diagnosing `FunctionDecl`s..
Jul 26 2023, 9:07 AM · Restricted Project, Restricted Project, Restricted Project

Jul 25 2023

xazax.hun accepted D156229: [clang][dataflow] Remove checks that test for consistency between `StructValue` and `AggregateStorageLocation`..
Jul 25 2023, 8:28 AM · Restricted Project, Restricted Project

Jul 24 2023

xazax.hun added inline comments to D155446: [clang][dataflow] Eliminate duplication between `AggregateStorageLocation` and `StructValue`..
Jul 24 2023, 8:50 AM · Restricted Project, Restricted Project
xazax.hun accepted D153058: [clang][CFG] Support construction of a weak topological ordering of the CFG..

Thanks, looks good to me!

Jul 24 2023, 8:42 AM · Restricted Project, Restricted Project

Jul 21 2023

xazax.hun accepted D155922: [clang][dataflow] Eliminate `ReferenceValue`..
Jul 21 2023, 4:31 PM · Restricted Project, Restricted Project
xazax.hun accepted D155921: [clang][dataflow] Reverse course on `getValue()` deprecation..

Sounds good to me. I believe this will make check author's lives easier.

Jul 21 2023, 4:29 PM · Restricted Project, Restricted Project
xazax.hun accepted D155847: [analyzer] Fix crash in GenericTaintChecker when propagatig taint to AllocaRegion.

LGTM!

Jul 21 2023, 4:25 PM · Restricted Project, Restricted Project
xazax.hun accepted D155813: [clang][dataflow] Remove checks that test for consistency between `StructValue` and `AggregateStorageLocation`..
Jul 21 2023, 4:24 PM · Restricted Project, Restricted Project
xazax.hun accepted D155446: [clang][dataflow] Eliminate duplication between `AggregateStorageLocation` and `StructValue`..

I did not do a thorough review checking every line, but I read the design paper and skimmed through this patch. Love the direction, and I am OK with landing this as is.

Jul 21 2023, 4:19 PM · Restricted Project, Restricted Project
xazax.hun accepted D155694: [NFC][analyzer] Enable implicit destructor for cfg-lifetime tests.

Thanks!

Jul 21 2023, 3:55 PM · Restricted Project, Restricted Project

Jul 20 2023

xazax.hun added a comment to D155694: [NFC][analyzer] Enable implicit destructor for cfg-lifetime tests.

Updating this tests illustrated that we are missing a lot of coverage for the objects with trivial destructors, but I think this should be addressed as a separate patch.

Jul 20 2023, 9:45 AM · Restricted Project, Restricted Project

Jul 19 2023

xazax.hun added inline comments to D155547: [analyzer] Model lifetime of a variable declared in for condition in CFG correctly.
Jul 19 2023, 6:37 AM · Restricted Project, Restricted Project

Jul 18 2023

xazax.hun accepted D155636: [clang][dataflow] Add function to `WatchedLiteralsSolver` that reports whether the iteration limit has been reached..
Jul 18 2023, 2:21 PM · Restricted Project, Restricted Project
xazax.hun accepted D155547: [analyzer] Model lifetime of a variable declared in for condition in CFG correctly.

LG, thanks!

Jul 18 2023, 7:49 AM · Restricted Project, Restricted Project
xazax.hun added inline comments to D153058: [clang][CFG] Support construction of a weak topological ordering of the CFG..
Jul 18 2023, 7:46 AM · Restricted Project, Restricted Project
xazax.hun accepted D155067: [clang][dataflow] Strengthen flow condition assertions..
Jul 18 2023, 6:37 AM · Restricted Project, Restricted Project
xazax.hun added inline comments to D155547: [analyzer] Model lifetime of a variable declared in for condition in CFG correctly.
Jul 18 2023, 6:35 AM · Restricted Project, Restricted Project
xazax.hun accepted D155445: [analyzer][docs] Add CSA release notes.
Jul 18 2023, 5:13 AM · Restricted Project, Restricted Project

Jul 17 2023

xazax.hun accepted D153273: [analyzer] Rework support for CFGScopeBegin, CFGScopeEnd, CFGLifetime elements.

Thanks! Looks good to me.

Jul 17 2023, 6:33 PM · Restricted Project, Restricted Project
xazax.hun accepted D155465: [clang][dataflow] Bugfix for `refreshStructValue()`..
Jul 17 2023, 9:26 AM · Restricted Project, Restricted Project
xazax.hun added inline comments to D155445: [analyzer][docs] Add CSA release notes.
Jul 17 2023, 7:06 AM · Restricted Project, Restricted Project
xazax.hun added inline comments to D153273: [analyzer] Rework support for CFGScopeBegin, CFGScopeEnd, CFGLifetime elements.
Jul 17 2023, 5:55 AM · Restricted Project, Restricted Project
xazax.hun accepted D155445: [analyzer][docs] Add CSA release notes.
Jul 17 2023, 5:41 AM · Restricted Project, Restricted Project
xazax.hun accepted D155442: [analyzer] Bind return value for assigment and copies of trivial empty classes.
Jul 17 2023, 5:37 AM · Restricted Project, Restricted Project
xazax.hun updated the summary of D155442: [analyzer] Bind return value for assigment and copies of trivial empty classes.
Jul 17 2023, 5:32 AM · Restricted Project, Restricted Project
xazax.hun updated the summary of D155442: [analyzer] Bind return value for assigment and copies of trivial empty classes.
Jul 17 2023, 5:31 AM · Restricted Project, Restricted Project
xazax.hun updated the summary of D155442: [analyzer] Bind return value for assigment and copies of trivial empty classes.
Jul 17 2023, 5:31 AM · Restricted Project, Restricted Project
xazax.hun added inline comments to D155204: [clang][dataflow] Add `refreshStructValue()`..
Jul 17 2023, 4:57 AM · Restricted Project, Restricted Project

Jul 15 2023

xazax.hun accepted D155202: [clang][dataflow] Simplify implementation of `transferStdForwardCall()` in optional check..
Jul 15 2023, 7:42 AM · Restricted Project, Restricted Project
xazax.hun accepted D155204: [clang][dataflow] Add `refreshStructValue()`..
Jul 15 2023, 7:41 AM · Restricted Project, Restricted Project
xazax.hun accepted D155075: [clang][dataflow] Add `DataflowEnvironment::createObject()`..
Jul 15 2023, 7:35 AM · Restricted Project, Restricted Project

Jul 12 2023

xazax.hun accepted D155084: [analyzer] Fix crash in MoveChecker when it tries to report duplicate issue.
Jul 12 2023, 7:16 AM · Restricted Project, Restricted Project

Jul 11 2023

xazax.hun accepted D154969: [dataflow] document flow condition.
Jul 11 2023, 7:41 AM · Restricted Project, Restricted Project
xazax.hun accepted D154965: [clang][dataflow] Fix initializing a reference field with an `InitListExpr`..
Jul 11 2023, 7:37 AM · Restricted Project, Restricted Project
xazax.hun accepted D154961: [clang][dataflow] Include fields initialized in an `InitListExpr` in `getModeledFields()`..
Jul 11 2023, 7:34 AM · Restricted Project, Restricted Project
xazax.hun accepted D154952: [clang][dataflow] Various refactorings in TypeErasedDataflowAnalysisTest.cpp.
Jul 11 2023, 7:27 AM · Restricted Project, Restricted Project
xazax.hun accepted D154949: [clang][dataflow] Use `getFieldValue()` in TransferTest.cpp..
Jul 11 2023, 7:24 AM · Restricted Project, Restricted Project
xazax.hun accepted D154948: [dataflow] improve determinism of generated SAT system.
Jul 11 2023, 7:23 AM · Restricted Project, Restricted Project
xazax.hun accepted D154935: [clang][dataflow] Introduce `getFieldValue()` test helpers..
Jul 11 2023, 7:17 AM · Restricted Project, Restricted Project
xazax.hun accepted D154934: [clang][dataflow] Use `IntegerValue` instead of `StructValue` in `ValueTest`..
Jul 11 2023, 7:14 AM · Restricted Project, Restricted Project

Jul 10 2023

xazax.hun accepted D154827: [analyzer] NonParamVarRegion should prefer definition over canonical decl.
Jul 10 2023, 1:06 PM · Restricted Project, Restricted Project

Jul 5 2023

xazax.hun accepted D154481: [analyzer] Remove deprecated analyzer-config options.
Jul 5 2023, 3:09 AM · Restricted Project, Restricted Project
xazax.hun accepted D154479: [clang][dataflow] Bug fix: `BuiltinFnToFnPtr` cast does not produce a pointer..
Jul 5 2023, 3:08 AM · Restricted Project, Restricted Project
xazax.hun accepted D154478: [analyzer][NFC] Use unique_ptrs for PathDiagnosticConsumers.

Thanks!

Jul 5 2023, 3:05 AM · Restricted Project, Restricted Project, Restricted Project
xazax.hun added inline comments to D153058: [clang][CFG] Support construction of a weak topological ordering of the CFG..
Jul 5 2023, 2:58 AM · Restricted Project, Restricted Project

Jul 4 2023

xazax.hun added inline comments to D151325: [analyzer] Differentiate lifetime extended temporaries.
Jul 4 2023, 8:27 AM · Restricted Project, Restricted Project
xazax.hun added a reviewer for D153273: [analyzer] Rework support for CFGScopeBegin, CFGScopeEnd, CFGLifetime elements: mboehme.
Jul 4 2023, 8:25 AM · Restricted Project, Restricted Project
xazax.hun accepted D154325: [analyzer][NFC] Move away from using raw-for loops inside StaticAnalyzer.

I love it, I think we can land this as is. If there are further comments, we can address those in follow-up PRs.

Jul 4 2023, 8:18 AM · Restricted Project, Restricted Project
xazax.hun added inline comments to D151325: [analyzer] Differentiate lifetime extended temporaries.
Jul 4 2023, 8:15 AM · Restricted Project, Restricted Project
xazax.hun accepted D151325: [analyzer] Differentiate lifetime extended temporaries.
Jul 4 2023, 8:07 AM · Restricted Project, Restricted Project
xazax.hun accepted D154421: [clang][dataflow] Add a test for a struct that is directly self-referential through a reference..
Jul 4 2023, 3:29 AM · Restricted Project, Restricted Project
xazax.hun accepted D151325: [analyzer] Differentiate lifetime extended temporaries.

Overall looks good to me. I think the changes to the notes already make the analyzer more useful so there are some observable benefits to this patch.

Jul 4 2023, 3:22 AM · Restricted Project, Restricted Project
xazax.hun accepted D154325: [analyzer][NFC] Move away from using raw-for loops inside StaticAnalyzer.
Jul 4 2023, 3:18 AM · Restricted Project, Restricted Project

Jun 30 2023

xazax.hun accepted D154221: [analyzer] Fix false negative when pass implicit cast nil to nonnull.
Jun 30 2023, 7:29 AM · Restricted Project, Restricted Project

Jun 28 2023

xazax.hun added inline comments to D153058: [clang][CFG] Support construction of a weak topological ordering of the CFG..
Jun 28 2023, 9:49 AM · Restricted Project, Restricted Project
xazax.hun added inline comments to D153058: [clang][CFG] Support construction of a weak topological ordering of the CFG..
Jun 28 2023, 8:47 AM · Restricted Project, Restricted Project
xazax.hun accepted D153960: [clang][dataflow] Don't crash when creating pointers to members..
Jun 28 2023, 8:46 AM · Restricted Project, Restricted Project
xazax.hun added a comment to D153058: [clang][CFG] Support construction of a weak topological ordering of the CFG..

Could you rebase this patch to the latest tip of tree?

Jun 28 2023, 2:34 AM · Restricted Project, Restricted Project
xazax.hun accepted D153956: [clang][dataflow] Don't crash if copy constructor arg doesn't have a storage location..
Jun 28 2023, 2:23 AM · Restricted Project, Restricted Project

Jun 27 2023

xazax.hun accepted D153889: [analyzer][NFC] Fix dangling StringRef in barely used code.
Jun 27 2023, 10:36 AM · Restricted Project, Restricted Project
xazax.hun accepted D153854: [clang][dataflow] Make `getThisPointeeStorageLocation()` return an `AggregateStorageLocation`..
Jun 27 2023, 9:20 AM · Restricted Project, Restricted Project
xazax.hun accepted D153851: [clang][dataflow] Output debug info if `getChild()` doesn't find field..
Jun 27 2023, 9:19 AM · Restricted Project, Restricted Project
xazax.hun accepted D153409: [clang][dataflow] Add a test that we can access fields of anonymous records..
Jun 27 2023, 9:19 AM · Restricted Project, Restricted Project
xazax.hun accepted D152263: [clang][CFG] Add support for partitioning CFG into intervals..

Thanks!

Jun 27 2023, 9:14 AM · Restricted Project, Restricted Project

Jun 26 2023

xazax.hun accepted D153833: [clang][dataflow] Use namespace qualifiers when defining functions..
Jun 26 2023, 11:05 PM · Restricted Project, Restricted Project
xazax.hun accepted D153674: [dataflow] Disallow implicit copy of Environment, use fork() instead.

Nice, looks like this change did catch some unintentional copies! Already paying dividends :)

Jun 26 2023, 12:54 AM · Restricted Project, Restricted Project
xazax.hun added a comment to D153491: [dataflow] Avoid copying environment.

This sounds extremely error-prone to me. In case copying the analysis state has side effects like this, I would argue we want such operations to be really explicit. What do you think?

Can you expand on this concern? Are you referring to the removal of the unintended copy (ie. this patch), or raising a concern about the how the underlying system handles copies altogether?

Jun 26 2023, 12:49 AM · Restricted Project, Restricted Project

Jun 23 2023

xazax.hun added a comment to D153584: [dataflow] Make SAT solver deterministic.

Is there a measurable perf cost for this determinism?

Jun 23 2023, 2:16 AM · Restricted Project, Restricted Project
xazax.hun accepted D153488: [dataflow] HTMLLogger: meaningful names for flow condition variables.

Should we have some documentation or tooltip explaining the users what the meaning of those names are?

Jun 23 2023, 2:09 AM · Restricted Project, Restricted Project