Page MenuHomePhabricator

aschwaighofer (Arnold Schwaighofer)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 4 2013, 8:33 AM (442 w, 2 d)

Recent Activity

Mar 29 2022

aschwaighofer requested review of D122687: [coro] [async] Transfer the debug information from the coro.end.async and coro.async.supend intrinsic to the inlined functions.
Mar 29 2022, 2:40 PM · Restricted Project, Restricted Project

Mar 8 2022

aschwaighofer committed rGdcdc1f29bb0c: InstCombine: Can't fold a phi arg load into the phi if the load is from a… (authored by aschwaighofer).
InstCombine: Can't fold a phi arg load into the phi if the load is from a…
Mar 8 2022, 9:11 AM · Restricted Project
aschwaighofer closed D121217: InstCombine: Can't fold a phi arg load into the phi if the load is from a swifterror address.
Mar 8 2022, 9:10 AM · Restricted Project, Restricted Project
aschwaighofer updated the diff for D121217: InstCombine: Can't fold a phi arg load into the phi if the load is from a swifterror address.

Remove empty lines

Mar 8 2022, 8:17 AM · Restricted Project, Restricted Project
aschwaighofer added a comment to D121217: InstCombine: Can't fold a phi arg load into the phi if the load is from a swifterror address.

Yes the LLVM verifier catches invalid uses of swifterror addresses.

Mar 8 2022, 8:16 AM · Restricted Project, Restricted Project
aschwaighofer updated the diff for D121217: InstCombine: Can't fold a phi arg load into the phi if the load is from a swifterror address.

Update test checks to use llvm/utils/update_test_checks.py

Mar 8 2022, 8:07 AM · Restricted Project, Restricted Project
aschwaighofer requested review of D121217: InstCombine: Can't fold a phi arg load into the phi if the load is from a swifterror address.
Mar 8 2022, 7:30 AM · Restricted Project, Restricted Project

Feb 10 2022

aschwaighofer accepted D119434: StackProtector: ignore debug insts when splitting blocks..

lgtm

Feb 10 2022, 6:43 AM · Restricted Project

Dec 15 2021

aschwaighofer committed rGd87e6170487c: Teach the backend to make references to swift_async_extendedFramePointerFlags… (authored by aschwaighofer).
Teach the backend to make references to swift_async_extendedFramePointerFlags…
Dec 15 2021, 10:04 AM
aschwaighofer closed D115672: Teach the backend to make references to swift_async_extendedFramePointerFlags weak if it emits it.
Dec 15 2021, 10:03 AM · Restricted Project
aschwaighofer updated the diff for D115672: Teach the backend to make references to swift_async_extendedFramePointerFlags weak if it emits it.

Address review comments.

Dec 15 2021, 8:08 AM · Restricted Project

Dec 13 2021

aschwaighofer requested review of D115672: Teach the backend to make references to swift_async_extendedFramePointerFlags weak if it emits it.
Dec 13 2021, 1:40 PM · Restricted Project

Dec 6 2021

aschwaighofer committed rG7c0e066869de: [coro async] Don't use lifetime.start based alloca localization for ABI. (authored by aschwaighofer).
[coro async] Don't use lifetime.start based alloca localization for ABI.
Dec 6 2021, 11:51 AM
aschwaighofer closed D110949: [coro async] Don't use lifetime.start based alloca localization for ABI.Async/ABI.Retcon.
Dec 6 2021, 11:51 AM · Restricted Project
aschwaighofer committed rG64ba9dd943aa: [coro async] Disable lifetime.start sinking for ABI::Async and ABI::Retcon (authored by aschwaighofer).
[coro async] Disable lifetime.start sinking for ABI::Async and ABI::Retcon
Dec 6 2021, 11:00 AM
aschwaighofer closed D110953: [coro async] Disable lifetime.start sinking for ABI::Async and ABI::Retcon.
Dec 6 2021, 11:00 AM · Restricted Project

Nov 18 2021

aschwaighofer committed rG7d11c5dac210: Coro: Remove coro_end and coro_suspend_retcon in private unprocessed functions (authored by aschwaighofer).
Coro: Remove coro_end and coro_suspend_retcon in private unprocessed functions
Nov 18 2021, 7:49 AM
aschwaighofer closed D114021: Coro: Remove coro_end and coro_suspend_retcon in private unprocessed functions.
Nov 18 2021, 7:49 AM · Restricted Project

Nov 16 2021

aschwaighofer requested review of D114021: Coro: Remove coro_end and coro_suspend_retcon in private unprocessed functions.
Nov 16 2021, 12:09 PM · Restricted Project

Oct 6 2021

aschwaighofer added a comment to D110953: [coro async] Disable lifetime.start sinking for ABI::Async and ABI::Retcon.

@lxfind What do you think, is that scenario also possible with Switch lowering. Should we disable lifetime sinking and lifetime based optimization (https://reviews.llvm.org/D110949) for switch lowering until it is fixed?

Oct 6 2021, 11:16 AM · Restricted Project
aschwaighofer added a comment to D110953: [coro async] Disable lifetime.start sinking for ABI::Async and ABI::Retcon.

@rjmccall I am not familiar with (the possible constraints of/assumptions) switch lowering but I would assume that it is broken there too (I don't have the time to investigate so I did not want to regress them needlessly).

Oct 6 2021, 10:50 AM · Restricted Project

Oct 1 2021

aschwaighofer requested review of D110953: [coro async] Disable lifetime.start sinking for ABI::Async and ABI::Retcon.
Oct 1 2021, 11:34 AM · Restricted Project
aschwaighofer requested review of D110949: [coro async] Don't use lifetime.start based alloca localization for ABI.Async/ABI.Retcon.
Oct 1 2021, 10:10 AM · Restricted Project

Sep 30 2021

aschwaighofer committed rG2df2b27d94f9: [cora async] Cleanup undefined llvm.coro.async.resume (authored by aschwaighofer).
[cora async] Cleanup undefined llvm.coro.async.resume
Sep 30 2021, 1:27 PM
aschwaighofer closed D110191: [cora async] Cleanup undefined llvm.coro.async.resume.
Sep 30 2021, 1:27 PM · Restricted Project

Sep 21 2021

aschwaighofer updated the diff for D110191: [cora async] Cleanup undefined llvm.coro.async.resume.

Add missing CHECKs

Sep 21 2021, 12:21 PM · Restricted Project
aschwaighofer requested review of D110191: [cora async] Cleanup undefined llvm.coro.async.resume.
Sep 21 2021, 12:16 PM · Restricted Project

Sep 16 2021

aschwaighofer committed rGf670c5aeeef0: Add a new frontend flag `-fswift-async-fp={auto|always|never}` (authored by aschwaighofer).
Add a new frontend flag `-fswift-async-fp={auto|always|never}`
Sep 16 2021, 8:49 AM
aschwaighofer closed D109451: Summary: Introduce a new frontend flag `-fswift-async-fp={auto|always|never}` that controls how code generation sets the Swift extended async frame info bit. There are three possibilities:.
Sep 16 2021, 8:49 AM · Restricted Project
aschwaighofer committed rGa773db7d7622: Add a command-line flag to control the Swift extended async frame info. (authored by doug.gregor).
Add a command-line flag to control the Swift extended async frame info.
Sep 16 2021, 6:58 AM
aschwaighofer closed D109392: Add a command-line flag to control the Swift extended async frame info..
Sep 16 2021, 6:58 AM · Restricted Project

Sep 8 2021

aschwaighofer requested review of D109451: Summary: Introduce a new frontend flag `-fswift-async-fp={auto|always|never}` that controls how code generation sets the Swift extended async frame info bit. There are three possibilities:.
Sep 8 2021, 10:04 AM · Restricted Project

Sep 7 2021

aschwaighofer updated the diff for D109392: Add a command-line flag to control the Swift extended async frame info..

Trying to set the dependence on https://reviews.llvm.org/D109218

Sep 7 2021, 2:25 PM · Restricted Project
aschwaighofer requested review of D109392: Add a command-line flag to control the Swift extended async frame info..
Sep 7 2021, 2:22 PM · Restricted Project
aschwaighofer accepted D109218: SwiftAsync: use runtime-provided flag for extended frame if back-deploying.

LGTM

Sep 7 2021, 12:51 PM · Restricted Project

Aug 11 2021

aschwaighofer committed rG9eb99d2e73b5: CodeGen: No need to check for isExternC if HasStrictReturn is already false (authored by aschwaighofer).
CodeGen: No need to check for isExternC if HasStrictReturn is already false
Aug 11 2021, 7:44 AM
aschwaighofer closed D107841: CodeGen: No need to check for isExternC if HasStrictReturn is already false.
Aug 11 2021, 7:44 AM · Restricted Project

Aug 10 2021

aschwaighofer requested review of D107841: CodeGen: No need to check for isExternC if HasStrictReturn is already false.
Aug 10 2021, 9:39 AM · Restricted Project

Aug 9 2021

aschwaighofer committed rGb987c283ae03: [coro] Correct CurrentBlock tracking bug recently introduced (authored by aschwaighofer).
[coro] Correct CurrentBlock tracking bug recently introduced
Aug 9 2021, 10:43 AM
aschwaighofer closed D107573: [coro] Correct CurrentBlock tracking bug recently introduced.
Aug 9 2021, 10:42 AM · Restricted Project

Aug 5 2021

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

Fix clang-tidy warning - qualify auto pointer var

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

Jul 7 2021

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…
Jul 7 2021, 8:07 AM
aschwaighofer closed D105288: [coro async] Cap the alignment of spilled values (vs. allocas) at the max frame alignment.
Jul 7 2021, 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

Jul 7 2021, 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
Jul 7 2021, 6:19 AM
aschwaighofer closed D105504: [coro async] Move code to proper switch.
Jul 7 2021, 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