Page MenuHomePhabricator

aschwaighofer (Arnold Schwaighofer)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 4 2013, 8:33 AM (354 w, 3 d)

Recent Activity

Mon, Aug 31

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

Fri, Aug 21

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

Respect atomic padding.

Fri, Aug 21, 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

Apr 30 2015

aschwaighofer added a comment to D9382: llvm.noalias - don't prevent loop vectorization.

LGTM.

Apr 30 2015, 9:13 AM

Apr 22 2015

aschwaighofer added a comment to D9031: [getUnderlyingOjbects] Analyze loop PHIs further to remove false positives.

This LGTM though I think we should add an example to the documentation in the header similar to what is in the implementation.

Apr 22 2015, 3:16 PM

Feb 3 2015

aschwaighofer added a comment to D7385: [LV] Split off memcheck block really at the first check.

LGTM

Feb 3 2015, 12:06 PM

Jan 27 2015

aschwaighofer added inline comments to D7193: [LoopVectorize] Induction variables: support arbitrary constant step.
Jan 27 2015, 8:03 AM

Jan 21 2015

aschwaighofer added a comment to D7097: SLPVectorizer: add a second limit for the number of alias checks. .

LGTM

Jan 21 2015, 11:20 AM

Jan 15 2015

aschwaighofer added a comment to D6999: SLPVectorizer: limit the number of alias checks to reduce the runtime..

I think that this should be a global at the top of the file so that it is more visible to folks would want to experiment with thresholds.

Jan 15 2015, 8:00 AM

Jan 13 2015

aschwaighofer added a comment to D6951: SLPVectorizer: Cache results from memory alias checking..

I think the discussion about how and whether we should use a caching mechanism in AliasAnalysis should be separate. Some clients already have their own caching strategy (MemoryDependence has its own, for example) and might not want/need the overhead of a caching implementation ...

Jan 13 2015, 8:39 AM

Jan 7 2015

aschwaighofer added inline comments to D6677: [SLPVectorizer] Reorder operands of shufflevector if it can result in a vectorized code..
Jan 7 2015, 9:51 AM

Dec 4 2014

aschwaighofer added a comment to D6527: Using Masked Load / Store intrinsics in Loop Vectorizer.

Very nice! I only see minor fixes.

Dec 4 2014, 8:35 AM

Nov 18 2014

aschwaighofer added a comment to D6227: [SLPVectorization] Vectorize Reduction Chain feeding into a 'return' statement.

I don't think this should go behind a flag.

Nov 18 2014, 8:31 AM

Nov 12 2014

aschwaighofer added a comment to D6227: [SLPVectorization] Vectorize Reduction Chain feeding into a 'return' statement.

The code looks fine to me.

Nov 12 2014, 8:28 AM

Oct 30 2014

aschwaighofer added a comment to D6002: [SCEV] Improve Scalar Evolution's use of no {un,}signed wrap flags.

LGTM.

Oct 30 2014, 12:48 PM

Oct 21 2014

aschwaighofer added a comment to D5884: LTO: respect command-line options that disable vectorization..

LGTM.

Oct 21 2014, 11:55 AM

Sep 1 2014

aschwaighofer added a comment to D5138: add a convenience method to copy wrapping, exact, and fast-math flags (NFC).

LGTM.

Sep 1 2014, 9:26 AM

Aug 26 2014

aschwaighofer added a comment to D5066: Rename getMaximumUnrollFactor()..

I also thing it makes sense to rename this to interleave factor to point out the difference between interleaved unrolling vs concatenating unrolling. Interleaving is not necessarily tied to vectorization. The fact that we interleave in the vectorizer is just an artifact of our implementation. I think it should be getMaxInterleaveFactor(). We are not necessarily interleaving vector instructions.

Aug 26 2014, 12:00 PM

Aug 17 2014

aschwaighofer added a comment to D4913: Small refactor on VectorizerHint for deduplication.

Hi Renato,

Aug 17 2014, 10:58 AM · deleted

Jul 20 2014

aschwaighofer added a comment to D4599: Use AA in LoopVectorize.

Thanks Hal!

Jul 20 2014, 10:12 AM

Jul 9 2014

aschwaighofer added a comment to D4424: Fix for PR20059 (instcombine reorders shufflevector after instruction that may trap).

Your patch LGTM.

Jul 9 2014, 9:19 AM
aschwaighofer added a comment to D4424: Fix for PR20059 (instcombine reorders shufflevector after instruction that may trap).

We probably get NaN or some infinity - forget what I said.

Jul 9 2014, 9:14 AM
aschwaighofer added a comment to D4424: Fix for PR20059 (instcombine reorders shufflevector after instruction that may trap).

Actually, now I am not sure myself - does an floating point div trap on zero? :D

Jul 9 2014, 9:12 AM
aschwaighofer added a comment to D4424: Fix for PR20059 (instcombine reorders shufflevector after instruction that may trap).

I believe the optimization is safe for floating values that cannot trap.

Jul 9 2014, 9:10 AM

Jul 8 2014

aschwaighofer added a comment to D4342: Improve BasicAA CS-CS queries.

LGTM. Sorry for the delay.

Jul 8 2014, 8:34 AM

Jun 18 2014

aschwaighofer added inline comments to D4015: Add support to recognize non SIMD kind of parallelism in SLPVectorizer.
Jun 18 2014, 9:12 AM

Jun 17 2014

aschwaighofer added inline comments to D4015: Add support to recognize non SIMD kind of parallelism in SLPVectorizer.
Jun 17 2014, 8:59 AM

Jun 5 2014

aschwaighofer added a comment to D4015: Add support to recognize non SIMD kind of parallelism in SLPVectorizer.

Hi Karthik,

Jun 5 2014, 8:58 AM

May 29 2014

aschwaighofer added inline comments to D3937: Add support to vectorize ctlz,cttz and powi intrinsics in LoopVectorizer.

With those changes this LGTM.

May 29 2014, 1:06 PM

May 28 2014

aschwaighofer added inline comments to D3851: Add support to vectorize ctlz,cttz and powi intrinsics in SLPVectorizer.

With those little nitpicks fixed. LGTM.

May 28 2014, 12:20 PM

May 22 2014

aschwaighofer added inline comments to D3851: Add support to vectorize ctlz,cttz and powi intrinsics in SLPVectorizer.
May 22 2014, 9:39 AM

May 21 2014

aschwaighofer added a comment to D3800: Fix PR19657 : SLP vectorization doesn't combine scalar load to vector loads.

It is the relative depth of common uses.

May 21 2014, 4:51 PM

May 2 2014

aschwaighofer added a comment to D3580: Add Load Combine Pass.

There are four parts to the problem of widening chains when viewed from the SLP vectorizers perspective (staying in vector types):

May 2 2014, 9:31 AM