Page MenuHomePhabricator

aschwaighofer (Arnold Schwaighofer)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 4 2013, 8:33 AM (373 w, 17 h)

Recent Activity

Fri, Jan 22

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

Thu, Jan 21

aschwaighofer requested review of D95144: [coro.async] Make sure we process async coroutines.
Thu, Jan 21, 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

Apr 1 2020

aschwaighofer committed rG153dadf3a3ca: [clang] CodeGen: Make getOrEmitProtocol public for Swift (authored by aschwaighofer).
[clang] CodeGen: Make getOrEmitProtocol public for Swift
Apr 1 2020, 9:01 AM
aschwaighofer closed D77077: [clang] CodeGen: Make getOrEmitProtocol public for Swift.
Apr 1 2020, 9:01 AM · Restricted Project
aschwaighofer updated the diff for D77077: [clang] CodeGen: Make getOrEmitProtocol public for Swift.
  • Implement for the GNU runtimes
Apr 1 2020, 5:30 AM · Restricted Project
aschwaighofer added inline comments to D77077: [clang] CodeGen: Make getOrEmitProtocol public for Swift.
Apr 1 2020, 5:30 AM · Restricted Project

Mar 31 2020

aschwaighofer added inline comments to D77077: [clang] CodeGen: Make getOrEmitProtocol public for Swift.
Mar 31 2020, 4:33 PM · Restricted Project
aschwaighofer added inline comments to D77077: [clang] CodeGen: Make getOrEmitProtocol public for Swift.
Mar 31 2020, 4:33 PM · Restricted Project
aschwaighofer added inline comments to D77077: [clang] CodeGen: Make getOrEmitProtocol public for Swift.
Mar 31 2020, 11:58 AM · Restricted Project
aschwaighofer updated the diff for D77077: [clang] CodeGen: Make getOrEmitProtocol public for Swift.
  • Remove callback. Swift can inspect the generated IR and update it.
Mar 31 2020, 11:58 AM · Restricted Project

Mar 30 2020

aschwaighofer added inline comments to D77077: [clang] CodeGen: Make getOrEmitProtocol public for Swift.
Mar 30 2020, 3:17 PM · Restricted Project
aschwaighofer updated the diff for D77077: [clang] CodeGen: Make getOrEmitProtocol public for Swift.
  • Change API name to emitObjCProtocolObject.
  • Make stuff compile on current ToT.
Mar 30 2020, 3:17 PM · Restricted Project
aschwaighofer added a comment to D77077: [clang] CodeGen: Make getOrEmitProtocol public for Swift.

Can you explain the need for the callback? Are you expecting to use this for Swift-declared protocols by synthesizing an ObjC protocol declaration for them? I can see why you'd need a callback in that case.

Mar 30 2020, 2:11 PM · Restricted Project
aschwaighofer added reviewers for D77077: [clang] CodeGen: Make getOrEmitProtocol public for Swift: doug.gregor, rjmccall.
Mar 30 2020, 11:56 AM · Restricted Project
aschwaighofer created D77077: [clang] CodeGen: Make getOrEmitProtocol public for Swift.
Mar 30 2020, 11:25 AM · Restricted Project

Dec 17 2018

aschwaighofer added a comment to D55421: FastISel: take care to update iterators when removing instructions..

LGTM

Dec 17 2018, 8:29 AM

May 17 2018

aschwaighofer accepted D46550: Support Swift calling convention for PPC64 targets.

Looks good.

May 17 2018, 9:30 AM

Aug 30 2017

aschwaighofer accepted D35835: [ARM] Use Swift error registers on non-Darwin targets.

LGTM.

Aug 30 2017, 12:01 PM

Jul 25 2017

aschwaighofer requested changes to D35835: [ARM] Use Swift error registers on non-Darwin targets.

The change looks good but can you add a test case to test/CodeGen/ARM/swifterror.ll that r8 is not spilled say for a target triple of 'armv7-linux-androideabi'. For example, the function params_and_return_in_reg should not spill r8 as part of CSR spilling.

Jul 25 2017, 8:15 AM

Jun 21 2017

aschwaighofer updated the diff for D34454: SwiftCC: Perform physical layout when computing coercion types.

Same patch bug with added diff context.

Jun 21 2017, 1:50 PM
aschwaighofer updated the diff for D34454: SwiftCC: Perform physical layout when computing coercion types.

Based on email conversation with John. He pointed out we purposely don't want to use the allocation size for the algorithm and that we can just use LLVM's layout when we compute the coercion types.

Jun 21 2017, 1:44 PM
aschwaighofer created D34454: SwiftCC: Perform physical layout when computing coercion types.
Jun 21 2017, 8:32 AM

May 20 2016

aschwaighofer added a comment to D20462: Functions with differing phis should not be merged..

LGTM

May 20 2016, 4:48 AM

Apr 14 2016

aschwaighofer added a comment to D19080: allow SSAUpdater to be used for Swift.

I don't see a reasonable way to write a unit test without either creating a stub IR or making the typedef typename Traits::PhiItT public and then just testing the presence.

Apr 14 2016, 11:48 AM
aschwaighofer added inline comments to D19080: allow SSAUpdater to be used for Swift.
Apr 14 2016, 10:01 AM

Nov 21 2015

aschwaighofer added a comment to D4583: don't transform splats of vector FP (PR20358).

This might penalize programs that don't traffic in denormals (most programs as I understand it). Did you measure the performance impact?

Nov 21 2015, 11:54 AM
aschwaighofer added a reviewer for D4583: don't transform splats of vector FP (PR20358): scanon.
Nov 21 2015, 11:53 AM

Nov 1 2015

aschwaighofer added inline comments to D14185: Extend SLP Vectorizer to deal with aggregates.
Nov 1 2015, 9:34 AM
aschwaighofer added a reviewer for D14185: Extend SLP Vectorizer to deal with aggregates: mzolotukhin.
Nov 1 2015, 9:34 AM

Sep 29 2015

aschwaighofer added a comment to D13278: [SLP] Add -slp-min-reg-size command line option..

Makes sense.

Sep 29 2015, 7:17 PM
aschwaighofer added a comment to D13277: [SLP] Don't vectorize loads of non-packed types (like i1, i2)..

Thank you.

Sep 29 2015, 7:14 PM

Aug 18 2015

aschwaighofer added a comment to D12107: Replace overflow check in loop vectorization with minimum loop iterations check.

This make sense to me.

Aug 18 2015, 11:01 AM
aschwaighofer added reviewers for D12107: Replace overflow check in loop vectorization with minimum loop iterations check: anemet, mzolotukhin.
Aug 18 2015, 11:01 AM

Jul 16 2015

aschwaighofer added a comment to D10161: [SCEV][LoopVectorize] Allow ScalarEvolution to make assumptions about overflows.

I think this change is orthogonal to improving SCEV for cases where we can prove no wrapping by looking at the IR. At the high level this change looks good to me (I have always wanted to have the ability for SCEV to gather assumptions needed to prove no wrapping) - and the examples demonstrate that there is a need. Silviu has addressed the issue of only generating the checks when needed.

Jul 16 2015, 10:17 AM

May 22 2015

aschwaighofer added a comment to D9923: Adjust the cost of vectorized SHL/SRL/SRA.

I share Simon's concerns. Please make sure that we still get a good estimate for kernels like (these are from the rdar mentioned in the commit).

May 22 2015, 7:13 AM

May 13 2015

aschwaighofer added a comment to D8831: New Loop Distribution pass.

This LGTM. Nice work!

May 13 2015, 3:26 PM

May 5 2015

aschwaighofer added inline comments to D9368: [LoopVectorize]Teach Loop Vectorizer about interleaved memory access.
May 5 2015, 2:48 PM