Page MenuHomePhabricator

aschwaighofer (Arnold Schwaighofer)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 4 2013, 8:33 AM (484 w, 5 d)

Recent Activity

Mon, Mar 6

aschwaighofer updated the diff for D143204: Add a type_checked_load_relative to support relative function pointer tables.

Include test case where the llvm.type.checked.load.relative intrinsic is
expanded to compute the pointer underlying the relative pointer value.

Mon, Mar 6, 10:58 AM · Restricted Project, Restricted Project

Thu, Feb 23

aschwaighofer updated the diff for D144581: WholeProgramDevirt: Fix call target propagation for ptrauth architectures.

Run clang-format.

Thu, Feb 23, 6:32 AM · Restricted Project, Restricted Project

Wed, Feb 22

aschwaighofer requested review of D144581: WholeProgramDevirt: Fix call target propagation for ptrauth architectures.
Wed, Feb 22, 11:16 AM · Restricted Project, Restricted Project

Feb 2 2023

aschwaighofer requested review of D143204: Add a type_checked_load_relative to support relative function pointer tables.
Feb 2 2023, 11:09 AM · Restricted Project, Restricted Project

Nov 8 2022

aschwaighofer added a comment to D137512: [clang] Add Swift support for MIPS.

This looks good to me. Can you rebase your patch so that it applies on top of github.com:apple/llvm-project.git main?

Nov 8 2022, 12:10 PM · Restricted Project, Restricted Project

Aug 11 2022

aschwaighofer committed rG6ef223c041f1: [coro async] Mark async suspend function and its resume function pointer… (authored by aschwaighofer).
[coro async] Mark async suspend function and its resume function pointer…
Aug 11 2022, 11:45 AM · Restricted Project, Restricted Project
aschwaighofer closed D131684: [coro async] Mark async suspend function and its resume function pointer intrinsic as nomerge.
Aug 11 2022, 11:44 AM · Restricted Project, Restricted Project
aschwaighofer requested review of D131684: [coro async] Mark async suspend function and its resume function pointer intrinsic as nomerge.
Aug 11 2022, 8:12 AM · Restricted Project, Restricted Project

Jul 22 2022

aschwaighofer committed rG58e6ee0e1f16: llvm.swift.async.context.addr cannot be modeled as NoMem because we don't want… (authored by aschwaighofer).
llvm.swift.async.context.addr cannot be modeled as NoMem because we don't want…
Jul 22 2022, 11:52 AM · Restricted Project, Restricted Project
aschwaighofer closed D130201: llvm.swift.async.context.addr cannot be modeled as NoMem because we don't want it to be cse'd accross async suspends.
Jul 22 2022, 11:51 AM · Restricted Project, Restricted Project
aschwaighofer added inline comments to D130201: llvm.swift.async.context.addr cannot be modeled as NoMem because we don't want it to be cse'd accross async suspends.
Jul 22 2022, 8:13 AM · Restricted Project, Restricted Project

Jul 20 2022

aschwaighofer requested review of D130201: llvm.swift.async.context.addr cannot be modeled as NoMem because we don't want it to be cse'd accross async suspends.
Jul 20 2022, 2:01 PM · Restricted Project, Restricted Project

Jul 19 2022

aschwaighofer committed rGbc4870f09e8f: [coro async] Add missing llvm.coro.id.async intrinsic to… (authored by aschwaighofer).
[coro async] Add missing llvm.coro.id.async intrinsic to…
Jul 19 2022, 7:26 AM · Restricted Project, Restricted Project
aschwaighofer closed D130038: [coro async] Add missing llvm.coro.id.async intrinsic to declaresCoroCleanupIntrinsics.
Jul 19 2022, 7:26 AM · Restricted Project, Restricted Project

Jul 18 2022

aschwaighofer requested review of D130038: [coro async] Add missing llvm.coro.id.async intrinsic to declaresCoroCleanupIntrinsics.
Jul 18 2022, 12:51 PM · Restricted Project, Restricted Project
aschwaighofer committed rG28ebd13d6381: [coro async] Fix code to run coro.async.end cleanup like the legacy pass did (authored by aschwaighofer).
[coro async] Fix code to run coro.async.end cleanup like the legacy pass did
Jul 18 2022, 10:43 AM · Restricted Project, Restricted Project
aschwaighofer closed D129865: [coro async] Fix code to run coro.async.end cleanup like the legacy pass did.
Jul 18 2022, 10:43 AM · Restricted Project, Restricted Project

Jul 15 2022

aschwaighofer requested review of D129865: [coro async] Fix code to run coro.async.end cleanup like the legacy pass did.
Jul 15 2022, 8:39 AM · Restricted Project, Restricted Project

Jun 3 2022

aschwaighofer committed rG5c902af572bf: [coro async] Add code to support dynamic aligment of over-aligned types in… (authored by aschwaighofer).
[coro async] Add code to support dynamic aligment of over-aligned types in…
Jun 3 2022, 7:07 AM · Restricted Project, Restricted Project
aschwaighofer closed D126715: [coro async] Add code to support dynamic aligment of over-aligned types in async frames.
Jun 3 2022, 7:07 AM · Restricted Project, Restricted Project

Jun 2 2022

aschwaighofer updated the diff for D126715: [coro async] Add code to support dynamic aligment of over-aligned types in async frames.

Simplify logic whether a frame access needs dynamic alignment.

Jun 2 2022, 1:55 PM · Restricted Project, Restricted Project
aschwaighofer added inline comments to D126715: [coro async] Add code to support dynamic aligment of over-aligned types in async frames.
Jun 2 2022, 12:46 PM · Restricted Project, Restricted Project
aschwaighofer updated the diff for D126715: [coro async] Add code to support dynamic aligment of over-aligned types in async frames.

Add asserts that the dynamic alignment frame information when constructing the
frame matches the alloca.

Jun 2 2022, 10:36 AM · Restricted Project, Restricted Project

May 31 2022

aschwaighofer updated the diff for D126715: [coro async] Add code to support dynamic aligment of over-aligned types in async frames.

Address comment.

May 31 2022, 3:47 PM · Restricted Project, Restricted Project
aschwaighofer added inline comments to D126715: [coro async] Add code to support dynamic aligment of over-aligned types in async frames.
May 31 2022, 3:02 PM · Restricted Project, Restricted Project
aschwaighofer requested review of D126715: [coro async] Add code to support dynamic aligment of over-aligned types in async frames.
May 31 2022, 12:02 PM · Restricted Project, Restricted Project

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