Page MenuHomePhabricator

aschwaighofer (Arnold Schwaighofer)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 4 2013, 8:33 AM (393 w, 1 d)

Recent Activity

Fri, Jun 11

aschwaighofer requested review of D104147: [coro async] Add support for specifying which parameter is swiftself in async resume functions.
Fri, Jun 11, 1:13 PM · Restricted Project
aschwaighofer requested review of D104144: [coro] Use swift mangling for resume functions.
Fri, Jun 11, 12:36 PM · Restricted Project

Thu, Jun 10

aschwaighofer requested review of D104051: [coro] Fix rematerializable instruction sinking to coro.suspend blocks.
Thu, Jun 10, 11:05 AM · Restricted Project

Wed, Jun 2

aschwaighofer committed rGf1a0c5d67ca9: [coro async] Add the swiftasync attribute to the resume partial function (authored by aschwaighofer).
[coro async] Add the swiftasync attribute to the resume partial function
Wed, Jun 2, 7:45 AM
aschwaighofer closed D103285: [coro async] Add the swiftasync attribute to the resume partial function.
Wed, Jun 2, 7:45 AM · Restricted Project

Sat, May 29

aschwaighofer added a comment to D103275: Update musttail verification to check all swiftasync->swiftasync tail calls..

@efriedma It is critical for Swift that ‘swifttailcc’ function calls in tail position be executed in constant stack space. Guaranteed tail call opt was the reason why we added this convention.

Sat, May 29, 6:23 AM · Restricted Project

Fri, May 28

aschwaighofer added a comment to D103275: Update musttail verification to check all swiftasync->swiftasync tail calls..

I guess that the 'in tail position' restriction cannot really be used by frontends because it has to predict that otherStuff() cannot be optimized away. So it would not buy us much other than a loss of clarity ...

Fri, May 28, 9:19 AM · Restricted Project
aschwaighofer added a comment to D103275: Update musttail verification to check all swiftasync->swiftasync tail calls..

notail is no hypothetical it already exists.

Fri, May 28, 7:05 AM · Restricted Project
aschwaighofer added a comment to D103275: Update musttail verification to check all swiftasync->swiftasync tail calls..

@rjmccall The invariant is not all swiftailcc calls need to be annotate but only calls in tail position - call followed by return.

Fri, May 28, 7:03 AM · Restricted Project
aschwaighofer added inline comments to D103275: Update musttail verification to check all swiftasync->swiftasync tail calls..
Fri, May 28, 6:51 AM · Restricted Project

Thu, May 27

aschwaighofer added a comment to D103275: Update musttail verification to check all swiftasync->swiftasync tail calls..

The whole point behind the swiftasynccc convention (swifttailcc in llvm; whose clang support we still have to upstream I think) is to use only constant stack space for an unbounded number of calls in tail call position. So this is an invariant in my opinion. If a frontend wants to opt out of that invariant in can annotate the call with nottail. The c frontend marks calls in tail position immediately followed by a return as musttail. The swift frontend uses musttail wherever appropriate.

Thu, May 27, 2:08 PM · Restricted Project
aschwaighofer requested review of D103285: [coro async] Add the swiftasync attribute to the resume partial function.
Thu, May 27, 1:53 PM · Restricted Project
aschwaighofer accepted D103275: Update musttail verification to check all swiftasync->swiftasync tail calls..
Thu, May 27, 1:04 PM · Restricted Project

Mar 9 2021

aschwaighofer committed rG590ac0a26af4: [coro async] Transfer the original function's attributes to the clone (authored by aschwaighofer).
[coro async] Transfer the original function's attributes to the clone
Mar 9 2021, 5:02 PM
aschwaighofer closed D98051: [coro async] Transfer the original function's attributes to the clone.
Mar 9 2021, 5:02 PM · Restricted Project

Mar 5 2021

aschwaighofer requested review of D98051: [coro async] Transfer the original function's attributes to the clone.
Mar 5 2021, 8:17 AM · Restricted Project

Mar 3 2021

aschwaighofer committed rGa42bea211a3c: [coro async] Allow a coro.suspend.async to specify which argument is the… (authored by aschwaighofer).
[coro async] Allow a coro.suspend.async to specify which argument is the…
Mar 3 2021, 8:29 AM
aschwaighofer closed D97333: [coro async] Allow a coro.suspend.async to specify which argument is the context argument.
Mar 3 2021, 8:28 AM · Restricted Project

Feb 23 2021

aschwaighofer requested review of D97333: [coro async] Allow a coro.suspend.async to specify which argument is the context argument.
Feb 23 2021, 1:34 PM · Restricted Project
aschwaighofer committed rG01b4890e47f0: Add @llvm.coro.async.size.replace intrinsic. (authored by nate_chandler).
Add @llvm.coro.async.size.replace intrinsic.
Feb 23 2021, 6:45 AM
aschwaighofer closed D97229: Add @llvm.coro.async.size.replace intrinsic..
Feb 23 2021, 6:45 AM · Restricted Project

Feb 22 2021

aschwaighofer accepted D97229: Add @llvm.coro.async.size.replace intrinsic..

looks good to me

Feb 22 2021, 2:48 PM · Restricted Project

Feb 16 2021

aschwaighofer accepted D96802: [Clang] Add proper target checks for SwiftAsync convention..

Looks good to me

Feb 16 2021, 11:32 AM · Restricted Project
aschwaighofer committed rG627cfd4394b0: [coro async] Don't promote allocas to the frame or rewrite swifterror if there… (authored by aschwaighofer).
[coro async] Don't promote allocas to the frame or rewrite swifterror if there…
Feb 16 2021, 9:06 AM
aschwaighofer closed D96620: [coro async] Don't promote allocas to the frame or rewrite swifterror if there are no suspend points.
Feb 16 2021, 9:06 AM · Restricted Project

Feb 15 2021

aschwaighofer accepted D95814: [NFC] Simplify test to use multiple FileCheck prefixes..

Thank you!

Feb 15 2021, 11:31 AM · Restricted Project

Feb 12 2021

aschwaighofer requested review of D96620: [coro async] Don't promote allocas to the frame or rewrite swifterror if there are no suspend points.
Feb 12 2021, 10:51 AM · Restricted Project
aschwaighofer committed rGe760ec2a01fb: [coro] Add support for polymorphic return typed coro.suspend.async (authored by aschwaighofer).
[coro] Add support for polymorphic return typed coro.suspend.async
Feb 12 2021, 10:08 AM
aschwaighofer closed D96136: [coro] Add support for polymorphic return typed coro.suspend.async.
Feb 12 2021, 10:08 AM · Restricted Project

Feb 11 2021

aschwaighofer updated the diff for D96136: [coro] Add support for polymorphic return typed coro.suspend.async.

Same patch. Lets restart testing. The previous failures all seemed very unrelated.

Feb 11 2021, 8:42 AM · Restricted Project

Feb 5 2021

aschwaighofer requested review of D96136: [coro] Add support for polymorphic return typed coro.suspend.async.
Feb 5 2021, 6:39 AM · Restricted Project
aschwaighofer committed rG8a7f5ad0fdbc: We can only move static allocas into the resume entry points (authored by aschwaighofer).
We can only move static allocas into the resume entry points
Feb 5 2021, 6:08 AM
aschwaighofer closed D96071: We can only move static allocas into the resume entry points.
Feb 5 2021, 6:08 AM · Restricted Project

Feb 4 2021

aschwaighofer updated the diff for D96071: We can only move static allocas into the resume entry points.

Add comment to test case.

Feb 4 2021, 1:36 PM · Restricted Project
aschwaighofer requested review of D96071: We can only move static allocas into the resume entry points.
Feb 4 2021, 11:54 AM · Restricted Project

Jan 22 2021

aschwaighofer committed rG87b628dadde0: [coro.async] Make sure we process async coroutines (authored by aschwaighofer).
[coro.async] Make sure we process async coroutines
Jan 22 2021, 7:08 AM
aschwaighofer closed D95144: [coro.async] Make sure we process async coroutines.
Jan 22 2021, 7:07 AM · Restricted Project

Jan 21 2021

aschwaighofer requested review of D95144: [coro.async] Make sure we process async coroutines.
Jan 21 2021, 8:57 AM · Restricted Project

Dec 22 2020

aschwaighofer committed rG333108e8bef8: Add a llvm.coro.end.async intrinsic (authored by aschwaighofer).
Add a llvm.coro.end.async intrinsic
Dec 22 2020, 10:55 AM
aschwaighofer closed D93568: Add a llvm.coro.end.async intrinsic.
Dec 22 2020, 10:55 AM · Restricted Project
aschwaighofer updated the diff for D93568: Add a llvm.coro.end.async intrinsic.

Fix clang-tidy warnings.

Dec 22 2020, 7:05 AM · Restricted Project

Dec 18 2020

aschwaighofer requested review of D93568: Add a llvm.coro.end.async intrinsic.
Dec 18 2020, 3:47 PM · Restricted Project

Nov 16 2020

aschwaighofer committed rGd861cc0e4311: [coro] Async coroutines: Make sure we can handle control flow in suspend point… (authored by aschwaighofer).
[coro] Async coroutines: Make sure we can handle control flow in suspend point…
Nov 16 2020, 12:00 PM
aschwaighofer closed D91547: [coro] Async coroutines: Make sure we can handle control flow in suspend point dispatch function.
Nov 16 2020, 12:00 PM · Restricted Project
aschwaighofer requested review of D91547: [coro] Async coroutines: Make sure we can handle control flow in suspend point dispatch function.
Nov 16 2020, 8:16 AM · Restricted Project

Nov 14 2020

aschwaighofer committed rG8fb73cecfd1a: [Coroutines] Make sure that async coroutine context size is a multiple of the… (authored by aschwaighofer).
[Coroutines] Make sure that async coroutine context size is a multiple of the…
Nov 14 2020, 5:09 AM
aschwaighofer closed D91471: [Coroutines] Make sure that async coroutine context size is a multiple of the alignment requirement.
Nov 14 2020, 5:09 AM · Restricted Project

Nov 13 2020

aschwaighofer updated the diff for D91471: [Coroutines] Make sure that async coroutine context size is a multiple of the alignment requirement.

Update the wording of a comment.

Nov 13 2020, 6:06 PM · Restricted Project
aschwaighofer requested review of D91471: [Coroutines] Make sure that async coroutine context size is a multiple of the alignment requirement.
Nov 13 2020, 5:59 PM · Restricted Project

Nov 11 2020

aschwaighofer committed rG431337662ee0: [coro] Async coroutines: Allow more than 3 arguments in the dispatch function (authored by aschwaighofer).
[coro] Async coroutines: Allow more than 3 arguments in the dispatch function
Nov 11 2020, 3:28 PM
aschwaighofer closed D91098: [coro] Async coroutines: Allow more than 3 arguments in the dispatch function.
Nov 11 2020, 3:27 PM · Restricted Project
aschwaighofer updated the diff for D91098: [coro] Async coroutines: Allow more than 3 arguments in the dispatch function.

Use the function argument index instead of the function argument in
coro.id.async. This solves any spurious use issues.

Nov 11 2020, 1:44 PM · Restricted Project
aschwaighofer updated the diff for D91098: [coro] Async coroutines: Allow more than 3 arguments in the dispatch function.

Transfer the debug location from the suspend point to the functions called at and after the suspend point (context projection).

Nov 11 2020, 9:28 AM · Restricted Project
aschwaighofer added a comment to D91098: [coro] Async coroutines: Allow more than 3 arguments in the dispatch function.

Yes, frontend is expected to emit a thunk that models the tail call to the function at the suspend point. This prevents code moving in between the tail call and return before coroutine splitting and allows for specifying how to perform the call (e.g pointer authentication).

Nov 11 2020, 7:07 AM · Restricted Project

Nov 10 2020

aschwaighofer updated the diff for D91098: [coro] Async coroutines: Allow more than 3 arguments in the dispatch function.

Also inline the context project function used by the resume function.

Nov 10 2020, 11:37 AM · Restricted Project
aschwaighofer added a comment to D91098: [coro] Async coroutines: Allow more than 3 arguments in the dispatch function.

I am worried about introducing unnecessary thunks that the debugger has to step through.

Nov 10 2020, 8:26 AM · Restricted Project
aschwaighofer added a comment to D91098: [coro] Async coroutines: Allow more than 3 arguments in the dispatch function.

Semantically, it is not needed. But without inlining here this helper dispatch function thunk will remain at O0 because inlining is not run again.

Nov 10 2020, 8:24 AM · Restricted Project

Nov 9 2020

aschwaighofer requested review of D91098: [coro] Async coroutines: Allow more than 3 arguments in the dispatch function.
Nov 9 2020, 1:04 PM · Restricted Project

Nov 6 2020

aschwaighofer committed rGc6543cc6b8f1: llvm.coro.id.async lowering: Parameterize how-to restore the current's… (authored by aschwaighofer).
llvm.coro.id.async lowering: Parameterize how-to restore the current's…
Nov 6 2020, 6:24 AM
aschwaighofer closed D90783: llvm.coro.id.async lowering: Parameterize how-to restore the current's continutation context and restart the pipeline after splitting.
Nov 6 2020, 6:23 AM · Restricted Project
aschwaighofer added a comment to D90783: llvm.coro.id.async lowering: Parameterize how-to restore the current's continutation context and restart the pipeline after splitting.

Hmm, those failures also occur on other PRs. I guess we don't keep this bot clean.

Nov 6 2020, 5:19 AM · Restricted Project

Nov 5 2020

aschwaighofer updated the diff for D90783: llvm.coro.id.async lowering: Parameterize how-to restore the current's continutation context and restart the pipeline after splitting.

No change. Retrigger tests.

Nov 5 2020, 5:33 PM · Restricted Project
aschwaighofer updated the diff for D90783: llvm.coro.id.async lowering: Parameterize how-to restore the current's continutation context and restart the pipeline after splitting.

Retry with clang-format. test/Other/new-pass-manager.ll passes locally

Nov 5 2020, 4:18 PM · Restricted Project
aschwaighofer updated the diff for D90783: llvm.coro.id.async lowering: Parameterize how-to restore the current's continutation context and restart the pipeline after splitting.

One more lint clang-tidy fix.

Nov 5 2020, 1:53 PM · Restricted Project
aschwaighofer updated the diff for D90783: llvm.coro.id.async lowering: Parameterize how-to restore the current's continutation context and restart the pipeline after splitting.

Fix a comment to reflect that the async context argument position is now parameterizable

Nov 5 2020, 11:42 AM · Restricted Project
aschwaighofer updated the diff for D90783: llvm.coro.id.async lowering: Parameterize how-to restore the current's continutation context and restart the pipeline after splitting.

Change the async function pointer's context size position

Nov 5 2020, 11:30 AM · Restricted Project
aschwaighofer updated the diff for D90783: llvm.coro.id.async lowering: Parameterize how-to restore the current's continutation context and restart the pipeline after splitting.

Fix Lint errors

Nov 5 2020, 6:24 AM · Restricted Project

Nov 4 2020

aschwaighofer requested review of D90783: llvm.coro.id.async lowering: Parameterize how-to restore the current's continutation context and restart the pipeline after splitting.
Nov 4 2020, 12:05 PM · Restricted Project
aschwaighofer committed rGea5989b43adb: Start of an llvm.coro.async implementation (authored by aschwaighofer).
Start of an llvm.coro.async implementation
Nov 4 2020, 10:30 AM
aschwaighofer added a reverting change for rGea606cced058: Start of an llvm.coro.async implementation: rG42f191664058: Revert "Start of an llvm.coro.async implementation".
Nov 4 2020, 8:29 AM
aschwaighofer committed rG42f191664058: Revert "Start of an llvm.coro.async implementation" (authored by aschwaighofer).
Revert "Start of an llvm.coro.async implementation"
Nov 4 2020, 8:29 AM
aschwaighofer added a reverting change for D90612: Start of an llvm.coro.async implementation: rG42f191664058: Revert "Start of an llvm.coro.async implementation".
Nov 4 2020, 8:29 AM · Restricted Project
aschwaighofer committed rGea606cced058: Start of an llvm.coro.async implementation (authored by aschwaighofer).
Start of an llvm.coro.async implementation
Nov 4 2020, 7:34 AM
aschwaighofer closed D90612: Start of an llvm.coro.async implementation.
Nov 4 2020, 7:34 AM · Restricted Project

Nov 2 2020

aschwaighofer updated the diff for D90612: Start of an llvm.coro.async implementation.

Fix more lint errors

Nov 2 2020, 9:47 AM · Restricted Project
aschwaighofer updated the diff for D90612: Start of an llvm.coro.async implementation.

Address comments and lint formatting errors

Nov 2 2020, 9:11 AM · Restricted Project
aschwaighofer added inline comments to D90612: Start of an llvm.coro.async implementation.
Nov 2 2020, 8:42 AM · Restricted Project
aschwaighofer requested review of D90612: Start of an llvm.coro.async implementation.
Nov 2 2020, 7:44 AM · Restricted Project

Aug 31 2020

aschwaighofer committed rG41634497d4fd: Teach the swift calling convention about _Atomic types (authored by aschwaighofer).
Teach the swift calling convention about _Atomic types
Aug 31 2020, 7:10 AM
aschwaighofer closed D86218: Teach the swift calling convention about _Atomic types.
Aug 31 2020, 7:10 AM · Restricted Project

Aug 21 2020

aschwaighofer updated the diff for D86218: Teach the swift calling convention about _Atomic types.

Respect atomic padding.

Aug 21 2020, 9:39 AM · Restricted Project

Aug 19 2020

aschwaighofer updated the diff for D86218: Teach the swift calling convention about _Atomic types.

Try to sooth clang-tidy

Aug 19 2020, 9:07 AM · Restricted Project
aschwaighofer requested review of D86218: Teach the swift calling convention about _Atomic types.
Aug 19 2020, 8:11 AM · Restricted Project

Jul 14 2020

GitHub <noreply@github.com> committed rG6b2bbd2ee818: Merge pull request #1358 from aschwaighofer/rdar63804497 (authored by aschwaighofer).
Merge pull request #1358 from aschwaighofer/rdar63804497
Jul 14 2020, 4:55 PM
aschwaighofer committed rG0efab1be537d: fix the case when a coroutine is dynamically replaceable (authored by aschwaighofer).
fix the case when a coroutine is dynamically replaceable
Jul 14 2020, 4:55 PM
aschwaighofer committed rG74ad80d2d9cb: Fix the case when a coroutine is dynamically replaceable when targeting older os (authored by aschwaighofer).
Fix the case when a coroutine is dynamically replaceable when targeting older os
Jul 14 2020, 4:55 PM
aschwaighofer committed rGb90f394153f0: Revert "[coroutine] Fixes "cannot move instruction since its users are not… (authored by aschwaighofer).
Revert "[coroutine] Fixes "cannot move instruction since its users are not…
Jul 14 2020, 4:55 PM
aschwaighofer added a reverting change for rGefe009340448: [coroutine] Fixes "cannot move instruction since its users are not dominated by…: rGb90f394153f0: Revert "[coroutine] Fixes "cannot move instruction since its users are not….
Jul 14 2020, 4:54 PM

Jun 15 2020

aschwaighofer committed rG4a8120ca9fb9: Fix ConstantAggregateBuilderBase::getRelativeOffset (authored by aschwaighofer).
Fix ConstantAggregateBuilderBase::getRelativeOffset
Jun 15 2020, 12:41 PM
aschwaighofer closed D81857: Fix ConstantAggregateBuilderBase::getRelativeOffset.
Jun 15 2020, 12:41 PM · Restricted Project
aschwaighofer added a reviewer for D81857: Fix ConstantAggregateBuilderBase::getRelativeOffset: rjmccall.
Jun 15 2020, 10:55 AM · Restricted Project
aschwaighofer created D81857: Fix ConstantAggregateBuilderBase::getRelativeOffset.
Jun 15 2020, 10:55 AM · Restricted Project

Jun 3 2020

aschwaighofer committed rG2e4c5d1c483a: CoroSplit: Fix coroutine splitting for retcon and retcon.once (authored by aschwaighofer).
CoroSplit: Fix coroutine splitting for retcon and retcon.once
Jun 3 2020, 12:40 PM
aschwaighofer closed D81023: CoroSplit: Fix coroutine splitting for retcon and retcon once.
Jun 3 2020, 12:38 PM · Restricted Project
aschwaighofer updated the diff for D81023: CoroSplit: Fix coroutine splitting for retcon and retcon once.

More clang-tidy soothing. I wish I would see its output ...

Jun 3 2020, 6:00 AM · Restricted Project

Jun 2 2020

aschwaighofer updated the diff for D81023: CoroSplit: Fix coroutine splitting for retcon and retcon once.

Attempt to sooth clang-tidy

Jun 2 2020, 3:25 PM · Restricted Project
aschwaighofer added inline comments to D81023: CoroSplit: Fix coroutine splitting for retcon and retcon once.
Jun 2 2020, 2:19 PM · Restricted Project
aschwaighofer updated the diff for D81023: CoroSplit: Fix coroutine splitting for retcon and retcon once.

Address review comments.

Jun 2 2020, 2:19 PM · Restricted Project
aschwaighofer added a reviewer for D81023: CoroSplit: Fix coroutine splitting for retcon and retcon once: rjmccall.
Jun 2 2020, 12:05 PM · Restricted Project
aschwaighofer created D81023: CoroSplit: Fix coroutine splitting for retcon and retcon once.
Jun 2 2020, 12:05 PM · Restricted Project