Page MenuHomePhabricator

lkail (Kai Luo)
User

Projects

User does not belong to any projects.

User Details

User Since
May 15 2019, 8:43 PM (163 w, 4 h)

Recent Activity

Yesterday

lkail added a comment to D127189: [clang][AIX] Add option to control quadword lock free atomics ABI on AIX.

Is there any precedent for options that start with -maix or -m<OS> for any other OS?

Wed, Jun 29, 1:29 AM · Restricted Project, Restricted Project

Tue, Jun 28

lkail updated the diff for D127189: [clang][AIX] Add option to control quadword lock free atomics ABI on AIX.

Address comments.

Tue, Jun 28, 10:48 PM · Restricted Project, Restricted Project
lkail added inline comments to D127189: [clang][AIX] Add option to control quadword lock free atomics ABI on AIX.
Tue, Jun 28, 8:38 PM · Restricted Project, Restricted Project
lkail added inline comments to D128703: [PowerPC] Improve getNormalLoadInput to reach more splat load opportunities.
Tue, Jun 28, 1:27 AM · Restricted Project, Restricted Project

Mon, Jun 27

lkail added a comment to D127189: [clang][AIX] Add option to control quadword lock free atomics ABI on AIX.

Gentle ping.

Mon, Jun 27, 10:31 PM · Restricted Project, Restricted Project

Fri, Jun 24

lkail committed rGacc22aeb0fe1: [AIX][libatomic] Fix link flags after 30dfe016d4 for libatomic on AIX (authored by lkail).
[AIX][libatomic] Fix link flags after 30dfe016d4 for libatomic on AIX
Fri, Jun 24, 6:56 AM · Restricted Project, Restricted Project
lkail closed D128524: [AIX][libatomic] Fix link flags after 30dfe016d4 for libatomic on AIX.
Fri, Jun 24, 6:56 AM · Restricted Project, Restricted Project
lkail updated the summary of D128524: [AIX][libatomic] Fix link flags after 30dfe016d4 for libatomic on AIX.
Fri, Jun 24, 6:46 AM · Restricted Project, Restricted Project
lkail requested review of D128524: [AIX][libatomic] Fix link flags after 30dfe016d4 for libatomic on AIX.
Fri, Jun 24, 6:44 AM · Restricted Project, Restricted Project
lkail added inline comments to D127554: [PowerPC] Allow llvm.ppc.cfence to accept pointer types.
Fri, Jun 24, 2:03 AM · Restricted Project, Restricted Project
lkail added inline comments to D127554: [PowerPC] Allow llvm.ppc.cfence to accept pointer types.
Fri, Jun 24, 2:00 AM · Restricted Project, Restricted Project

Thu, Jun 23

lkail added a comment to D127554: [PowerPC] Allow llvm.ppc.cfence to accept pointer types.

Looks like this breaks tests on non-linux: http://45.33.8.238/macm1/37997/step_11.txt , http://45.33.8.238/win/60800/step_11.txt

Please take a look and revert for now if it takes a while to fix.

Thu, Jun 23, 9:07 PM · Restricted Project, Restricted Project
lkail committed rG106657df4cb3: [PowerPC][AIX] Fix assertion message on AIX. NFC. (authored by lkail).
[PowerPC][AIX] Fix assertion message on AIX. NFC.
Thu, Jun 23, 9:04 PM · Restricted Project, Restricted Project
lkail committed rG6710b21d4698: [PowerPC] Allow llvm.ppc.cfence to accept pointer types (authored by lkail).
[PowerPC] Allow llvm.ppc.cfence to accept pointer types
Thu, Jun 23, 7:56 PM · Restricted Project, Restricted Project
lkail closed D127554: [PowerPC] Allow llvm.ppc.cfence to accept pointer types.
Thu, Jun 23, 7:55 PM · Restricted Project, Restricted Project
lkail updated the diff for D127554: [PowerPC] Allow llvm.ppc.cfence to accept pointer types.

Rebased.

Thu, Jun 23, 7:20 PM · Restricted Project, Restricted Project

Sun, Jun 19

lkail accepted D122125: [PowerPC] generate CTR loops instructions after ISEL.

LGTM.

Sun, Jun 19, 11:25 PM · Restricted Project, Restricted Project

Wed, Jun 15

lkail accepted D126807: [PowerPC] Fix LQ-STQ instructions to use correct offset and base.

LGTM as nemanja has detailed explanation for my concern.

Wed, Jun 15, 6:23 PM · Restricted Project, Restricted Project
lkail requested changes to D126807: [PowerPC] Fix LQ-STQ instructions to use correct offset and base.
Wed, Jun 15, 3:45 PM · Restricted Project, Restricted Project
lkail added a reviewer for D127840: [MachinePipeliner] Fix Phi generation failure for large stages: jsji.
Wed, Jun 15, 4:29 AM · Restricted Project, Restricted Project

Tue, Jun 14

lkail added a comment to D126807: [PowerPC] Fix LQ-STQ instructions to use correct offset and base.

This fix looks making offset handling more complex. We can make it easier by add LQX_PSEUDO and STQX_PSEUDO to ImmToIdxMap.

ImmToIdxMap[PPC::LQ]  = PPC::LQX_PSEUDO;
ImmToIdxMap[PPC::STQ] = PPC::STQX_PSEUDO;

And expand PPC::LQX_PSEUDO and PPC::STQX_PSEUDO post RA(They are expanded in PPCTargetLowering::EmitInstrWithCustomInserter right now). Thus we make LQ/STQ fits in how we are handling frame index now, no more code is needed to handling the offset for LQ/STQ(When LQ/STQ are selected by ISEL, alignment is guaranteed to be 16 bytes since they are for atomic operations).

Tue, Jun 14, 6:57 AM · Restricted Project, Restricted Project
lkail updated the diff for D127554: [PowerPC] Allow llvm.ppc.cfence to accept pointer types.

Avoid using undef in tests.

Tue, Jun 14, 2:01 AM · Restricted Project, Restricted Project
lkail added a comment to D127554: [PowerPC] Allow llvm.ppc.cfence to accept pointer types.

This looks great. Is this safe to backport to LLVM13 or LLVM14?

Tue, Jun 14, 1:22 AM · Restricted Project, Restricted Project
lkail updated the diff for D127609: [AtomicExpand] Make floating point conversion happens before fence insertion.

Address comments.

Tue, Jun 14, 1:00 AM · Restricted Project, Restricted Project

Sun, Jun 12

lkail updated the summary of D127609: [AtomicExpand] Make floating point conversion happens before fence insertion.
Sun, Jun 12, 9:18 PM · Restricted Project, Restricted Project
lkail added a reviewer for D127609: [AtomicExpand] Make floating point conversion happens before fence insertion: asb.
Sun, Jun 12, 9:16 PM · Restricted Project, Restricted Project
lkail requested review of D127609: [AtomicExpand] Make floating point conversion happens before fence insertion.
Sun, Jun 12, 9:11 PM · Restricted Project, Restricted Project

Sat, Jun 11

lkail updated the diff for D127563: [PowerPC] Fix llvm.ppc.cfence on float point types.
Sat, Jun 11, 12:04 AM · Restricted Project, Restricted Project

Fri, Jun 10

lkail requested review of D127563: [PowerPC] Fix llvm.ppc.cfence on float point types.
Fri, Jun 10, 11:58 PM · Restricted Project, Restricted Project
lkail updated the diff for D127554: [PowerPC] Allow llvm.ppc.cfence to accept pointer types.

Added original reduced case from @nemanjai .

Fri, Jun 10, 11:35 PM · Restricted Project, Restricted Project
lkail updated the diff for D127554: [PowerPC] Allow llvm.ppc.cfence to accept pointer types.

Rebased to where float tests are added.

Fri, Jun 10, 9:37 PM · Restricted Project, Restricted Project
lkail updated the diff for D127554: [PowerPC] Allow llvm.ppc.cfence to accept pointer types.
Fri, Jun 10, 9:19 PM · Restricted Project, Restricted Project
lkail requested review of D127554: [PowerPC] Allow llvm.ppc.cfence to accept pointer types.
Fri, Jun 10, 8:50 PM · Restricted Project, Restricted Project

Tue, Jun 7

lkail updated the summary of D127189: [clang][AIX] Add option to control quadword lock free atomics ABI on AIX.
Tue, Jun 7, 1:24 AM · Restricted Project, Restricted Project
lkail updated the summary of D127189: [clang][AIX] Add option to control quadword lock free atomics ABI on AIX.
Tue, Jun 7, 1:16 AM · Restricted Project, Restricted Project
lkail updated the summary of D127189: [clang][AIX] Add option to control quadword lock free atomics ABI on AIX.
Tue, Jun 7, 1:16 AM · Restricted Project, Restricted Project
lkail requested review of D127189: [clang][AIX] Add option to control quadword lock free atomics ABI on AIX.
Tue, Jun 7, 1:15 AM · Restricted Project, Restricted Project

Mon, Jun 6

lkail committed rG5018a5dcbe70: [PowerPC] Support huge frame size for PPC64 (authored by lkail).
[PowerPC] Support huge frame size for PPC64
Mon, Jun 6, 2:08 AM · Restricted Project, Restricted Project
lkail closed D107886: [PowerPC] Support huge frame size for PPC64.
Mon, Jun 6, 2:08 AM · Restricted Project, Restricted Project

Sun, Jun 5

lkail updated the diff for D107886: [PowerPC] Support huge frame size for PPC64.
Sun, Jun 5, 10:23 PM · Restricted Project, Restricted Project

Wed, Jun 1

lkail added a comment to D126807: [PowerPC] Fix LQ-STQ instructions to use correct offset and base.

That would be expanded in PPCInstrInfo::expandPostRAPseudo()

Wed, Jun 1, 6:35 PM · Restricted Project, Restricted Project
lkail added a comment to D126807: [PowerPC] Fix LQ-STQ instructions to use correct offset and base.

I think the root cause here is lq/stq is leaking x-form. There are LQX_PSEUDO and STQX_PSEUDO defined to assist accessing big offset inside the stack, but there are expanded pre-RA. I think we should expand them in PPCAtomicExpandPass and make lq/stq's x-form mapping to LQX_PSEUDO/STQX_PSEUDO.

Wed, Jun 1, 3:59 PM · Restricted Project, Restricted Project

May 26 2022

lkail added a reviewer for D126395: Allow build without __c11_atomic_fetch_nand: jyknight.
May 26 2022, 5:13 AM · Restricted Project, Restricted Project
lkail added reviewers for D126395: Allow build without __c11_atomic_fetch_nand: compnerd, efriedma.
May 26 2022, 5:07 AM · Restricted Project, Restricted Project
lkail added a comment to D126395: Allow build without __c11_atomic_fetch_nand.

I'm not sure if it's appropriate to use clang and compiler-rt in different versions. Added more reviewers for discussion.

May 26 2022, 5:06 AM · Restricted Project, Restricted Project

May 22 2022

lkail added inline comments to D122125: [PowerPC] generate CTR loops instructions after ISEL.
May 22 2022, 9:27 PM · Restricted Project, Restricted Project
lkail updated the diff for D107886: [PowerPC] Support huge frame size for PPC64.

Address comments.

May 22 2022, 7:36 PM · Restricted Project, Restricted Project

May 18 2022

lkail added inline comments to D122125: [PowerPC] generate CTR loops instructions after ISEL.
May 18 2022, 7:24 PM · Restricted Project, Restricted Project
lkail added inline comments to D122125: [PowerPC] generate CTR loops instructions after ISEL.
May 18 2022, 3:53 PM · Restricted Project, Restricted Project

May 17 2022

lkail added a comment to D125335: Give option to use isCopyInstr to determine which MI is treated as Copy instruction in MCP.

The problem (my concern) here is some architecture may not be ready to use isCopyInstr to identify what a COPY is.

May 17 2022, 10:04 AM · Restricted Project, Restricted Project
lkail added inline comments to D125335: Give option to use isCopyInstr to determine which MI is treated as Copy instruction in MCP.
May 17 2022, 9:36 AM · Restricted Project, Restricted Project
lkail added a comment to D125335: Give option to use isCopyInstr to determine which MI is treated as Copy instruction in MCP.

Could you please describe briefly what copy-like instructions MCP is missing in the summary?

May 17 2022, 9:07 AM · Restricted Project, Restricted Project

May 16 2022

lkail added a comment to D107886: [PowerPC] Support huge frame size for PPC64.

Gentle ping.

May 16 2022, 12:11 AM · Restricted Project, Restricted Project

May 8 2022

lkail added a comment to D125203: [PowerPC] Fix PPCISD::STBRX selection issue on A2.

The troubled instruction was introduced for both P7 and A2 as below link shows:
https://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20130325/169706.html

May 8 2022, 9:54 PM · Restricted Project, Restricted Project, Restricted Project

May 4 2022

lkail added a comment to D107886: [PowerPC] Support huge frame size for PPC64.

Ping.

May 4 2022, 11:14 PM · Restricted Project, Restricted Project

Apr 26 2022

lkail added a comment to D107886: [PowerPC] Support huge frame size for PPC64.

Gentle ping.

Apr 26 2022, 10:10 PM · Restricted Project, Restricted Project

Apr 19 2022

Herald added a project to D17235: [Greedy Regalloc] Reg splitting based on loops: Restricted Project.
Apr 19 2022, 1:20 AM · Restricted Project

Apr 15 2022

lkail updated the diff for D107886: [PowerPC] Support huge frame size for PPC64.

Updated affected tests.

Apr 15 2022, 2:13 AM · Restricted Project, Restricted Project

Apr 13 2022

lkail added inline comments to D123663: [PPC][CodeGen][NFC] Use ArrayRef in TargetLowering functions.
Apr 13 2022, 2:40 AM · Restricted Project, Restricted Project
lkail added a reviewer for D123663: [PPC][CodeGen][NFC] Use ArrayRef in TargetLowering functions: nemanjai.
Apr 13 2022, 2:28 AM · Restricted Project, Restricted Project
lkail added a reviewer for D123663: [PPC][CodeGen][NFC] Use ArrayRef in TargetLowering functions: Restricted Project.
Apr 13 2022, 2:25 AM · Restricted Project, Restricted Project

Apr 11 2022

Herald added a project to D107886: [PowerPC] Support huge frame size for PPC64: Restricted Project.

ping.

Apr 11 2022, 9:02 AM · Restricted Project, Restricted Project

Apr 9 2022

lkail committed rG7c5d5edec8ab: [PowerPC] Generate tests for 16-byte atomic load/store. NFC. (authored by lkail).
[PowerPC] Generate tests for 16-byte atomic load/store. NFC.
Apr 9 2022, 1:41 AM · Restricted Project, Restricted Project
lkail abandoned D122472: [PowerPC][Atomics] Fix lowering of llvm.ppc.cfence on i128 when `-ppc-quadword-atomics` is off.

The issue is fixed by https://reviews.llvm.org/D122868. We don't need to lower cfence when emitting __atomic* libcalls.

Apr 9 2022, 1:37 AM · Restricted Project, Restricted Project

Apr 8 2022

lkail committed rG18679ac0d7ec: [PowerPC] Adjust `MaxAtomicSizeInBitsSupported` on PPC64 (authored by lkail).
[PowerPC] Adjust `MaxAtomicSizeInBitsSupported` on PPC64
Apr 8 2022, 5:03 PM · Restricted Project, Restricted Project
lkail closed D122868: [PowerPC] Adjust `MaxAtomicSizeInBitsSupported` on PPC64.
Apr 8 2022, 5:03 PM · Restricted Project, Restricted Project
lkail committed rG549e118e93c6: [PowerPC] Support 16-byte lock free atomics on pwr8 and up (authored by lkail).
[PowerPC] Support 16-byte lock free atomics on pwr8 and up
Apr 8 2022, 4:26 PM · Restricted Project, Restricted Project, Restricted Project
lkail closed D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.
Apr 8 2022, 4:26 PM · Restricted Project, Restricted Project, Restricted Project

Apr 7 2022

lkail updated the diff for D122868: [PowerPC] Adjust `MaxAtomicSizeInBitsSupported` on PPC64.

Rebased.

Apr 7 2022, 9:39 PM · Restricted Project, Restricted Project
lkail accepted D122783: [PowerPC] Mark side effects of Power9 darn instruction.

LGTM with nit.

Apr 7 2022, 9:04 PM · Restricted Project, Restricted Project
lkail added a comment to D122851: [MSAN] extend prctl interceptor to support PR_SCHED_CORE.

Hi, this patch is breaking https://lab.llvm.org/buildbot/#/builders/37/builds/12263 https://lab.llvm.org/buildbot/#/builders/19/builds/10280, could you please take a look?

Apr 7 2022, 7:41 PM · Restricted Project, Restricted Project
lkail updated the diff for D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.
Apr 7 2022, 6:42 PM · Restricted Project, Restricted Project, Restricted Project
lkail updated the diff for D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.
Apr 7 2022, 6:40 PM · Restricted Project, Restricted Project, Restricted Project

Apr 6 2022

lkail updated the diff for D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.

Address comments.

Apr 6 2022, 9:49 PM · Restricted Project, Restricted Project, Restricted Project
lkail added a reviewer for D122868: [PowerPC] Adjust `MaxAtomicSizeInBitsSupported` on PPC64: hubert.reinterpretcast.
Apr 6 2022, 9:17 PM · Restricted Project, Restricted Project
lkail added inline comments to D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.
Apr 6 2022, 9:12 PM · Restricted Project, Restricted Project, Restricted Project
lkail added inline comments to D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.
Apr 6 2022, 9:03 PM · Restricted Project, Restricted Project, Restricted Project

Apr 5 2022

lkail updated the summary of D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.
Apr 5 2022, 7:36 PM · Restricted Project, Restricted Project, Restricted Project
lkail updated the diff for D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.

Address comments.

Apr 5 2022, 7:36 PM · Restricted Project, Restricted Project, Restricted Project
lkail added a comment to D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.

I am not sure that the choice of isOSBinFormatELF to (afaik) primarily scope this change from affecting AIX (where we know the library calls are not implemented to be lock-free yet) is better than alternative where the condition is for little-endian mode or specifically for not AIX.

Apr 5 2022, 7:00 PM · Restricted Project, Restricted Project, Restricted Project
lkail abandoned D113872: [CGP] Handle select instructions relying on the same condition.

What this patch intended to do is covered by https://reviews.llvm.org/D120230.

Apr 5 2022, 2:02 AM · Restricted Project, Restricted Project

Apr 1 2022

lkail added inline comments to D122783: [PowerPC] Mark side effects of Power9 darn instruction.
Apr 1 2022, 3:49 AM · Restricted Project, Restricted Project

Mar 31 2022

lkail added a reviewer for D122868: [PowerPC] Adjust `MaxAtomicSizeInBitsSupported` on PPC64: efriedma.
Mar 31 2022, 11:09 PM · Restricted Project, Restricted Project
lkail requested review of D122868: [PowerPC] Adjust `MaxAtomicSizeInBitsSupported` on PPC64.
Mar 31 2022, 11:01 PM · Restricted Project, Restricted Project
lkail committed rGdc77769fc66b: [PowerPC] Add cmpxchg test for pwr7 in atomic expand pass. NFC. (authored by lkail).
[PowerPC] Add cmpxchg test for pwr7 in atomic expand pass. NFC.
Mar 31 2022, 10:30 PM · Restricted Project, Restricted Project
lkail added inline comments to D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.
Mar 31 2022, 9:32 PM · Restricted Project, Restricted Project, Restricted Project
lkail updated the diff for D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.

Make 16-byte atomic type aligned to 16-byte on PPC64.

Mar 31 2022, 9:28 PM · Restricted Project, Restricted Project, Restricted Project
lkail added a comment to D122783: [PowerPC] Mark side effects of Power9 darn instruction.

Could you also add test of opt -passes='default<O3>' to ensure we don't optimize it out for the motivation case?

Mar 31 2022, 1:58 AM · Restricted Project, Restricted Project

Mar 28 2022

lkail added a reviewer for D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up: efriedma.
Mar 28 2022, 4:08 AM · Restricted Project, Restricted Project, Restricted Project
lkail updated the diff for D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.

Thanks @efriedma for pointing out. Updated guard code. Removed -mllvm while adjusting backend to reflect ABI change.

Mar 28 2022, 4:08 AM · Restricted Project, Restricted Project, Restricted Project

Mar 25 2022

lkail retitled D122472: [PowerPC][Atomics] Fix lowering of llvm.ppc.cfence on i128 when `-ppc-quadword-atomics` is off from [PowerPC][Atomics] Fix lowering of llvm.ppc.cfence on i128 if `-ppc-quadword-atomics` is not specified to [PowerPC][Atomics] Fix lowering of llvm.ppc.cfence on i128 when `-ppc-quadword-atomics` is off.
Mar 25 2022, 3:41 AM · Restricted Project, Restricted Project
lkail requested review of D122472: [PowerPC][Atomics] Fix lowering of llvm.ppc.cfence on i128 when `-ppc-quadword-atomics` is off.
Mar 25 2022, 3:39 AM · Restricted Project, Restricted Project
lkail committed rGa2c0c4abff20: [PowerPC] Add test for failing lowering llvm.ppc.cfence on i128. NFC. (authored by lkail).
[PowerPC] Add test for failing lowering llvm.ppc.cfence on i128. NFC.
Mar 25 2022, 2:57 AM · Restricted Project, Restricted Project
lkail added a comment to D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.

Removed alter of -ppc-quadword-atomcis in backend to decouple from frontend.

Mar 25 2022, 12:11 AM · Restricted Project, Restricted Project, Restricted Project
lkail updated the diff for D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.

@dim @pkubaj We are modifying layout of 16-byte atomic type on Linux to be consistent with GCC, I don't know if it also applies to freebsd as @MaskRay pointed out.
To be more specific, on Linux, for arch level supporting 16-byte lock free atomics, 16-byte atomic type should be properly aligned.

#include <stdatomic.h>
Mar 25 2022, 12:02 AM · Restricted Project, Restricted Project, Restricted Project

Mar 24 2022

lkail added a comment to D122462: [PowerPC] Add guard in LowerSELECT_CC for ppcf128.

Please also add tests.

Mar 24 2022, 10:57 PM · Restricted Project, Restricted Project
lkail abandoned D103501: [clang][AIX] Enable inlined quadword atomic operations.

Most are covered by https://reviews.llvm.org/D122377 already.

Mar 24 2022, 8:39 AM · Restricted Project, Restricted Project
lkail updated the diff for D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.
Mar 24 2022, 3:22 AM · Restricted Project, Restricted Project, Restricted Project
lkail updated the summary of D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.
Mar 24 2022, 3:15 AM · Restricted Project, Restricted Project, Restricted Project
lkail requested review of D122377: [PowerPC] Support 16-byte lock free atomics on pwr8 and up.
Mar 24 2022, 3:13 AM · Restricted Project, Restricted Project, Restricted Project