Page MenuHomePhabricator

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

davidtgoldblatt (David Goldblatt)
User

Projects

User does not belong to any projects.

User Details

User Since
May 19 2021, 10:18 AM (122 w, 6 d)

Recent Activity

Jul 28 2023

davidtgoldblatt committed rGd020fa2b29d8: [AA] Skip the layer of indirection in returning conservative results. (authored by davidtgoldblatt).
[AA] Skip the layer of indirection in returning conservative results.
Jul 28 2023, 12:28 PM · Restricted Project, Restricted Project
davidtgoldblatt closed D149100: [AA] Skip the layer of indirection in returning conservative results..
Jul 28 2023, 12:28 PM · Restricted Project, Restricted Project

Jul 27 2023

davidtgoldblatt added a comment to D149100: [AA] Skip the layer of indirection in returning conservative results..

Sorry for leaving this open for so long; various distractions kept popping up -- I'll wait a day to give a last chance for any objections and land tomorrow.

Jul 27 2023, 10:51 AM · Restricted Project, Restricted Project

Apr 24 2023

davidtgoldblatt added a comment to D147020: [AA] Add a tbaa-fence intrinsic..

I think we do need to settle the question of whether "new" also needs to call this fence... if it does, we need to measure the compile-time/performance impact on existing code, and if it doesn't, we'll likely end up with two overlapping solutions for very similar issues.

Apr 24 2023, 4:29 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D147020: [AA] Add a tbaa-fence intrinsic..

Just return void instead of an opaque pointer, take a size argument, drop early CodeGenPrepare lowering.

Apr 24 2023, 4:21 PM · Restricted Project, Restricted Project
davidtgoldblatt added a comment to D149100: [AA] Skip the layer of indirection in returning conservative results..

I *didn't* change ObjCARCAliasAnalysis, but left a TODO. I don't have any good way to evaluate a "real" fix (i.e. doing the recursive queries in the modern way), and having the intent only documented in years-old revision history feels hard to spot. Not really a strong opinion though, happy to do something more intrusive there.

Apr 24 2023, 2:26 PM · Restricted Project, Restricted Project
davidtgoldblatt requested review of D149100: [AA] Skip the layer of indirection in returning conservative results..
Apr 24 2023, 2:23 PM · Restricted Project, Restricted Project

Apr 4 2023

davidtgoldblatt added a comment to D147020: [AA] Add a tbaa-fence intrinsic..

I'm also happy to just strengthen this to a pointer-specific fence (that returns void), that acts otherwise just like asm volatile("" : : "r"(ptr) : "memory") if that would make this more palatable. The only optimization I have in mind for the pointer-returning version is something to allow folding "store/fence/load" to a bitcast, which I don't think is important enough to be worth spending a lot of time on.

Apr 4 2023, 5:55 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D147020: [AA] Add a tbaa-fence intrinsic..

Rewrite the LangRef entry. This makes the operation of the fence clearer (it doesn't really change the behavior of TBAA at all; instead it just prevents any other optimization pass from being able to make use of TBAA for the given pointer).

Apr 4 2023, 5:52 PM · Restricted Project, Restricted Project

Mar 31 2023

davidtgoldblatt added a comment to D147020: [AA] Add a tbaa-fence intrinsic..

This doesn't necessitate any changes to TBAA (i.e. it doesn't have to try to identify the "source" of a pointer to know if it comes from a fence or not). Instead, what prevents incorrect behavior is that, since llvm.tbaa.fence's memory effects are opaque (well, aside from being ArgMemOnly), the subsequent operation can't be reordered or eliminated. In this case, TBAA will still report NoAlias if asked about the two operations; but that result doesn't matter because you can't optimize based on that fact with a fence in between them (since the fence could, as far as the optimizer is concerned, do arbitrary loads and stores to the region of memory).

Mar 31 2023, 7:07 AM · Restricted Project, Restricted Project

Mar 30 2023

davidtgoldblatt added a comment to D147020: [AA] Add a tbaa-fence intrinsic..

Added a LangRef entry that I hope clarifies things.

Mar 30 2023, 3:02 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D147020: [AA] Add a tbaa-fence intrinsic..

Add LangRef entry.

Mar 30 2023, 2:19 PM · Restricted Project, Restricted Project

Mar 28 2023

davidtgoldblatt published D147020: [AA] Add a tbaa-fence intrinsic. for review.
Mar 28 2023, 10:32 AM · Restricted Project, Restricted Project
davidtgoldblatt published D147021: [Builtins] Add __builtin_implicit_object_fence. for review.

Adding @zygoloid as a p2590 author for review

Mar 28 2023, 10:32 AM · Restricted Project, Restricted Project

Mar 21 2023

davidtgoldblatt updated the diff for D136515: [builtins] Add __builtin_assume_separate_storage..

Rebase

Mar 21 2023, 2:54 PM · Restricted Project, Restricted Project

Mar 15 2023

davidtgoldblatt added inline comments to D136515: [builtins] Add __builtin_assume_separate_storage..
Mar 15 2023, 2:29 PM · Restricted Project, Restricted Project

Mar 1 2023

davidtgoldblatt added a comment to D144933: [instcombine] Simplify separate_storage hints..

Would you mind committing for me? I don't have commit access.

Mar 1 2023, 9:10 AM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D144933: [instcombine] Simplify separate_storage hints..

Nits.

Mar 1 2023, 9:09 AM · Restricted Project, Restricted Project

Feb 28 2023

davidtgoldblatt updated the diff for D136515: [builtins] Add __builtin_assume_separate_storage..

Use utils/update_cc_test_checks.py for the codegen test.

Feb 28 2023, 3:38 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D144933: [instcombine] Simplify separate_storage hints..

Unconditionally do fold, use replaceUse, remove unnecessary pipe redirection.

Feb 28 2023, 3:19 PM · Restricted Project, Restricted Project
davidtgoldblatt added a comment to D136515: [builtins] Add __builtin_assume_separate_storage..

In addition to the release notes addition, I also added an entry in LanguageExtensions.rst.

Feb 28 2023, 2:51 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136515: [builtins] Add __builtin_assume_separate_storage..

Per comments.

Feb 28 2023, 2:50 PM · Restricted Project, Restricted Project

Feb 27 2023

davidtgoldblatt added a reviewer for D144933: [instcombine] Simplify separate_storage hints.: nikic.
Feb 27 2023, 5:21 PM · Restricted Project, Restricted Project
davidtgoldblatt requested review of D144933: [instcombine] Simplify separate_storage hints..
Feb 27 2023, 5:20 PM · Restricted Project, Restricted Project

Feb 21 2023

davidtgoldblatt added a comment to D136515: [builtins] Add __builtin_assume_separate_storage..

Summarizing a brief offline discussion: I think it's probably fine to just get rid of the SemaChecking changes entirely; type-checking here is done by the generalized builtin-handling code. I'll do the change if there's no objection.

Feb 21 2023, 4:51 PM · Restricted Project, Restricted Project

Dec 16 2022

davidtgoldblatt updated the diff for D136514: [AA][Intrinsics] Add separate_storage assumptions..

Rebase, futz with parent diffs in arc for wenlei@.

Dec 16 2022, 10:50 AM · Restricted Project, Restricted Project

Dec 15 2022

davidtgoldblatt added a reviewer for D136515: [builtins] Add __builtin_assume_separate_storage.: bruno.
Dec 15 2022, 4:35 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136514: [AA][Intrinsics] Add separate_storage assumptions..

Fix langref nit, use update_test_checks.py.

Dec 15 2022, 2:15 PM · Restricted Project, Restricted Project

Dec 9 2022

davidtgoldblatt added inline comments to D136514: [AA][Intrinsics] Add separate_storage assumptions..
Dec 9 2022, 3:50 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136515: [builtins] Add __builtin_assume_separate_storage..

Rebase

Dec 9 2022, 3:35 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136514: [AA][Intrinsics] Add separate_storage assumptions..

Movie logic into BasicAA.

Dec 9 2022, 3:35 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136512: [AA] Allow for flow-sensitive analyses..

Clean up nit.

Dec 9 2022, 3:35 PM · Restricted Project, Restricted Project
davidtgoldblatt abandoned D136513: [AA] Introduce separate storage alias analysis.

Abandoning in favor of merging this functionality into BasicAA in D136514, as suggested in the review there.

Dec 9 2022, 2:43 PM · Restricted Project, Restricted Project
davidtgoldblatt added inline comments to D136512: [AA] Allow for flow-sensitive analyses..
Dec 9 2022, 12:26 PM · Restricted Project, Restricted Project

Dec 8 2022

davidtgoldblatt updated the diff for D136514: [AA][Intrinsics] Add separate_storage assumptions..

Fix the LangRef changes -- left some junk lying around.

Dec 8 2022, 6:18 PM · Restricted Project, Restricted Project
davidtgoldblatt added inline comments to D136514: [AA][Intrinsics] Add separate_storage assumptions..
Dec 8 2022, 6:15 PM · Restricted Project, Restricted Project
davidtgoldblatt added a comment to D136512: [AA] Allow for flow-sensitive analyses..

Thanks, think I caught everything this time around.

Dec 8 2022, 5:07 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136515: [builtins] Add __builtin_assume_separate_storage..

Per review comments.

Dec 8 2022, 5:05 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136514: [AA][Intrinsics] Add separate_storage assumptions..

Per review comments.

Dec 8 2022, 5:05 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136513: [AA] Introduce separate storage alias analysis.

Per review comments.

Dec 8 2022, 5:04 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136512: [AA] Allow for flow-sensitive analyses..

Per review comments.

Dec 8 2022, 5:04 PM · Restricted Project, Restricted Project

Dec 1 2022

davidtgoldblatt added a comment to D136512: [AA] Allow for flow-sensitive analyses..

ping @nikic, would you mind taking another look? I think with the changes you suggested this ends up as a much cleaner stack (being able to avoid duplicating so much of the assume handling really cuts down). My followup plan is to expand this to handle the possibility of inline storage (e.g. the small string optimization), which is where we incur more of the costs, but I'd rather build on something stable before going much further.

Dec 1 2022, 1:56 PM · Restricted Project, Restricted Project

Nov 28 2022

davidtgoldblatt added inline comments to D136512: [AA] Allow for flow-sensitive analyses..
Nov 28 2022, 3:31 PM · Restricted Project, Restricted Project
davidtgoldblatt added a reviewer for D136515: [builtins] Add __builtin_assume_separate_storage.: hfinkel.
Nov 28 2022, 3:20 PM · Restricted Project, Restricted Project
davidtgoldblatt added reviewers for D136514: [AA][Intrinsics] Add separate_storage assumptions.: nikic, hfinkel, jeroen.dobbelaere.
Nov 28 2022, 3:17 PM · Restricted Project, Restricted Project
davidtgoldblatt added reviewers for D136513: [AA] Introduce separate storage alias analysis: nikic, hfinkel, jeroen.dobbelaere.
Nov 28 2022, 3:16 PM · Restricted Project, Restricted Project
davidtgoldblatt added a reviewer for D136512: [AA] Allow for flow-sensitive analyses.: hfinkel.
Nov 28 2022, 3:15 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136515: [builtins] Add __builtin_assume_separate_storage..

Fix out-of-date comment.

Nov 28 2022, 3:10 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136514: [AA][Intrinsics] Add separate_storage assumptions..

Add langref change for separate_storage attribute.

Nov 28 2022, 3:09 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136513: [AA] Introduce separate storage alias analysis.

Fix build.

Nov 28 2022, 3:08 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136512: [AA] Allow for flow-sensitive analyses..

Fix build, move out-of-date comment.

Nov 28 2022, 3:08 PM · Restricted Project, Restricted Project

Nov 17 2022

davidtgoldblatt published D136515: [builtins] Add __builtin_assume_separate_storage. for review.
Nov 17 2022, 4:53 PM · Restricted Project, Restricted Project
davidtgoldblatt published D136514: [AA][Intrinsics] Add separate_storage assumptions. for review.
Nov 17 2022, 4:52 PM · Restricted Project, Restricted Project
davidtgoldblatt published D136513: [AA] Introduce separate storage alias analysis for review.
Nov 17 2022, 4:52 PM · Restricted Project, Restricted Project
davidtgoldblatt retitled D136512: [AA] Allow for flow-sensitive analyses. from [AA] Add aliasAt, for flow-sensitive queries. to [AA] Allow for flow-sensitive analyses..
Nov 17 2022, 4:41 PM · Restricted Project, Restricted Project
davidtgoldblatt updated the diff for D136512: [AA] Allow for flow-sensitive analyses..

Update per review comments.

Nov 17 2022, 4:40 PM · Restricted Project, Restricted Project

Oct 24 2022

davidtgoldblatt added a comment to D136512: [AA] Allow for flow-sensitive analyses..

Rather than adding a separate aliasAt() API, we should add an extra optional argument to alias(). Especially when it comes to the Concept/Model/Base I don't see a value in having both alias() and aliasAt().

Oct 24 2022, 2:28 PM · Restricted Project, Restricted Project

Oct 21 2022

davidtgoldblatt published D136512: [AA] Allow for flow-sensitive analyses. for review.

Removing from draft to get some feedback, but still more or less an RFC at the moment.

Oct 21 2022, 5:22 PM · Restricted Project, Restricted Project

Nov 22 2021

davidtgoldblatt added a comment to D100879: [Clang] Propagate guaranteed alignment for malloc and others .

(For background: I'm a jemalloc maintainer and wrote N2293).

Nov 22 2021, 10:08 AM · Restricted Project

May 25 2021

davidtgoldblatt added a comment to D102864: [InstSimplify] Transform X * Y % Y --> 0..

Ah, gotcha, thanks. Still learning the LLVM diff workflows.

May 25 2021, 8:38 AM · Restricted Project

May 24 2021

davidtgoldblatt updated the diff for D102864: [InstSimplify] Transform X * Y % Y --> 0..

Add (a / y) * y % y tests, make Opcode first arg, add Alive2 links to the commit message.

May 24 2021, 10:12 AM · Restricted Project

May 22 2021

davidtgoldblatt added a comment to D102864: [InstSimplify] Transform X * Y % Y --> 0..

BTW, re-reading I realized I phrased that diff update poorly. I meant to say something more like "now that I understand better, it's obvious to me that you're right", not like "that thing you pointed out was obvious"; hopefully it parsed that way, and sorry if it didn't.

May 22 2021, 4:58 PM · Restricted Project

May 21 2021

davidtgoldblatt updated the diff for D102864: [InstSimplify] Transform X * Y % Y --> 0..

Merge cases into simplifyDivRem

May 21 2021, 6:02 PM · Restricted Project
davidtgoldblatt added a comment to D102864: [InstSimplify] Transform X * Y % Y --> 0..

No problem. I can commit on your behalf. To confirm - use your gmail address for author info?

May 21 2021, 11:19 AM · Restricted Project

May 20 2021

davidtgoldblatt added a comment to D102864: [InstSimplify] Transform X * Y % Y --> 0..

I don't have commit access. Happy to split this in two and do two diffs if you'd prefer, though.

May 20 2021, 3:02 PM · Restricted Project
davidtgoldblatt updated the diff for D102864: [InstSimplify] Transform X * Y % Y --> 0..

Add commuted and vector test cases.

May 20 2021, 3:01 PM · Restricted Project
davidtgoldblatt requested review of D102864: [InstSimplify] Transform X * Y % Y --> 0..
May 20 2021, 12:11 PM · Restricted Project