Page MenuHomePhabricator
Feed Advanced Search

Today

aschwaighofer updated the diff for D107573: [coro] Correct CurrentBlock tracking bug recently introduced.

Fix clang-tidy warning - qualify auto pointer var

Thu, Aug 5, 9:38 AM · Restricted Project
aschwaighofer requested review of D107573: [coro] Correct CurrentBlock tracking bug recently introduced.
Thu, Aug 5, 8:03 AM · Restricted Project

Wed, Jul 7

aschwaighofer committed rG2937f8d14840: [coro async] Cap the alignment of spilled values (vs. allocas) at the max… (authored by aschwaighofer).
[coro async] Cap the alignment of spilled values (vs. allocas) at the max…
Wed, Jul 7, 8:07 AM
aschwaighofer closed D105288: [coro async] Cap the alignment of spilled values (vs. allocas) at the max frame alignment.
Wed, Jul 7, 8:07 AM · Restricted Project
aschwaighofer updated the diff for D105288: [coro async] Cap the alignment of spilled values (vs. allocas) at the max frame alignment.

Change variable name from TyAlignment to SpillAlignment

Wed, Jul 7, 6:28 AM · Restricted Project
aschwaighofer committed rG033de11150d3: [coro async] Move code to proper switch (authored by aschwaighofer).
[coro async] Move code to proper switch
Wed, Jul 7, 6:19 AM
aschwaighofer closed D105504: [coro async] Move code to proper switch.
Wed, Jul 7, 6:19 AM · Restricted Project

Jul 6 2021

aschwaighofer requested review of D105504: [coro async] Move code to proper switch.
Jul 6 2021, 11:28 AM · Restricted Project
aschwaighofer committed rG846a530e7db2: Fix coro lowering of single predecessor phis (authored by aschwaighofer).
Fix coro lowering of single predecessor phis
Jul 6 2021, 10:23 AM
aschwaighofer closed D105488: Fix coro lowering of single predecessor phis.
Jul 6 2021, 10:23 AM · Restricted Project
aschwaighofer updated the diff for D105488: Fix coro lowering of single predecessor phis.

Fix variable case and change auto to auto *

Jul 6 2021, 9:19 AM · Restricted Project
aschwaighofer requested review of D105488: Fix coro lowering of single predecessor phis.
Jul 6 2021, 8:52 AM · Restricted Project
aschwaighofer committed rG130ea3ceb47d: Use swift mangling for resume functions (authored by aschwaighofer).
Use swift mangling for resume functions
Jul 6 2021, 8:29 AM
aschwaighofer closed D104144: [coro] Use swift mangling for resume functions.
Jul 6 2021, 8:28 AM · Restricted Project
aschwaighofer updated the diff for D105288: [coro async] Cap the alignment of spilled values (vs. allocas) at the max frame alignment.

Use the compute type alignment for spilled values when spilling/restoring

Jul 6 2021, 7:47 AM · Restricted Project
aschwaighofer added a comment to D105288: [coro async] Cap the alignment of spilled values (vs. allocas) at the max frame alignment.

Oh my. You are right I should have verified that when we spill that value though we use the right alignment. Because we don't. :(.

Jul 6 2021, 6:44 AM · Restricted Project
aschwaighofer added a comment to D105288: [coro async] Cap the alignment of spilled values (vs. allocas) at the max frame alignment.

The spilled value from this test comes from trying to spill %vector_spill which is a value life across a suspend point. Because it has a value it has no alignment. It is misleading that we load the value from an alloca. It could also be the result of a computation. This test case crashes before the patch because we are assigning the abi alignment for the value '%vector_spill`.

Jul 6 2021, 6:11 AM · Restricted Project

Jul 1 2021

aschwaighofer requested review of D105288: [coro async] Cap the alignment of spilled values (vs. allocas) at the max frame alignment.
Jul 1 2021, 7:55 AM · Restricted Project
aschwaighofer committed rG4a361f52093b: [coro async] Add support for specifying which parameter is swiftself in (authored by aschwaighofer).
[coro async] Add support for specifying which parameter is swiftself in
Jul 1 2021, 7:33 AM
aschwaighofer closed D104147: [coro async] Add support for specifying which parameter is swiftself in async resume functions.
Jul 1 2021, 7:33 AM · Restricted Project

Jun 28 2021

aschwaighofer committed rG3dee1e8a848d: [coro] Fix rematerializable instruction sinking to coro.suspend blocks (authored by aschwaighofer).
[coro] Fix rematerializable instruction sinking to coro.suspend blocks
Jun 28 2021, 9:39 AM
aschwaighofer closed D104051: [coro] Fix rematerializable instruction sinking to coro.suspend blocks.
Jun 28 2021, 9:38 AM · Restricted Project

Jun 23 2021

aschwaighofer updated the diff for D104051: [coro] Fix rematerializable instruction sinking to coro.suspend blocks.

getSingleSuccessor call should be getSinglePredecessor

Jun 23 2021, 11:35 AM · Restricted Project
aschwaighofer added inline comments to D104051: [coro] Fix rematerializable instruction sinking to coro.suspend blocks.
Jun 23 2021, 11:22 AM · Restricted Project

Jun 11 2021

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

Jun 10 2021

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

Jun 2 2021

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
Jun 2 2021, 7:45 AM
aschwaighofer closed D103285: [coro async] Add the swiftasync attribute to the resume partial function.
Jun 2 2021, 7:45 AM · Restricted Project

May 29 2021

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.

May 29 2021, 6:23 AM · Restricted Project

May 28 2021

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 ...

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

notail is not hypothetical it already exists.

May 28 2021, 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 (edit: s/is/should not be imo/g) all swiftailcc calls need to be annotate but only calls in tail position - call followed by return.

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

May 27 2021

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.

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