Page MenuHomePhabricator

ZhangKang (Zhang Kang)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 19 2018, 6:03 PM (95 w, 5 d)

Recent Activity

Tue, Aug 25

ZhangKang accepted D86489: [PowerPC] Add addtional test that retroactively catches PR47259.

LGTM. Thank for adding the test.

Tue, Aug 25, 10:26 PM · Restricted Project

Mon, Aug 24

ZhangKang added inline comments to D86489: [PowerPC] Add addtional test that retroactively catches PR47259.
Mon, Aug 24, 6:31 PM · Restricted Project

Aug 20 2020

ZhangKang committed rG95e18b2d9d5f: [PowerPC] Fix a typo for InstAlias of mfsprg (authored by ZhangKang).
[PowerPC] Fix a typo for InstAlias of mfsprg
Aug 20 2020, 6:11 PM

Aug 10 2020

ZhangKang added a comment to D85599: [PowerPC] Remove isTerminator for TRAP instruction.

Fixing a MachineVerifier issue by patching clang is generally wrong; if the IR is valid, the backend should do something sane with it. If the IR isn't valid, the IR Verifier should complain.

Here, I'd say the IR is valid; adding a special case to the IR rules here would be a pain. So the right fix involves changing isel and/or the definitions of the the instructions in question.

Aug 10 2020, 10:20 AM · Restricted Project, Restricted Project, Restricted Project
ZhangKang retitled D85599: [PowerPC] Remove isTerminator for TRAP instruction from [Clang] Consider __builtin_trap() and __builtin_debugtrap() as terminator to [PowerPC] Remove isTerminator for TRAP instruction.
Aug 10 2020, 10:18 AM · Restricted Project, Restricted Project, Restricted Project
ZhangKang updated the diff for D85599: [PowerPC] Remove isTerminator for TRAP instruction.

Remoeve isTerminator for TRAP instruction.

Aug 10 2020, 10:13 AM · Restricted Project, Restricted Project, Restricted Project

Aug 9 2020

ZhangKang updated the diff for D85599: [PowerPC] Remove isTerminator for TRAP instruction.

Fix the case.

Aug 9 2020, 8:10 PM · Restricted Project, Restricted Project, Restricted Project
ZhangKang requested review of D85599: [PowerPC] Remove isTerminator for TRAP instruction.
Aug 9 2020, 12:14 AM · Restricted Project, Restricted Project, Restricted Project

Aug 5 2020

ZhangKang updated the summary of D85288: [PowerPC] Remove implicit use register after transformToImmFormFedByLI().
Aug 5 2020, 3:12 AM · Restricted Project
ZhangKang updated the summary of D85288: [PowerPC] Remove implicit use register after transformToImmFormFedByLI().
Aug 5 2020, 3:12 AM · Restricted Project
ZhangKang requested review of D85288: [PowerPC] Remove implicit use register after transformToImmFormFedByLI().
Aug 5 2020, 3:12 AM · Restricted Project

Aug 4 2020

ZhangKang updated the summary of D83569: [PowerPC] Fix the killed flag in mi-peephole pass.
Aug 4 2020, 10:27 PM · Restricted Project
ZhangKang updated the diff for D83569: [PowerPC] Fix the killed flag in mi-peephole pass.

Add a new func setKillAfterFolding.

Aug 4 2020, 10:17 PM · Restricted Project

Jul 30 2020

ZhangKang added a comment to D84927: [TargetPassConfig] Run MachineVerifier after more passes.

If your build is configured with -DLLVM_ENABLE_EXPENSIVE_CHECKS=on, verifyer passes may be added even without -verify-machineinstrs. I assume you have tested them...

Jul 30 2020, 6:26 PM · Restricted Project
ZhangKang requested review of D84927: [TargetPassConfig] Run MachineVerifier after more passes.
Jul 30 2020, 3:07 AM · Restricted Project
ZhangKang committed rG0037a5f89434: [PHIElimination] Fix the killed flag for LowerPHINode() (authored by ZhangKang).
[PHIElimination] Fix the killed flag for LowerPHINode()
Jul 30 2020, 1:19 AM
ZhangKang closed D80886: [PHIElimination] Fix the killed flag for LowerPHINode().
Jul 30 2020, 1:19 AM · Restricted Project

Jul 29 2020

ZhangKang committed rGa18953c1c05e: [PowerPC] Fix RM operands for some instructions (authored by ZhangKang).
[PowerPC] Fix RM operands for some instructions
Jul 29 2020, 7:11 PM
ZhangKang closed D81360: [PowerPC] Fix RM operands for some instructions.
Jul 29 2020, 7:11 PM · Restricted Project
ZhangKang committed rG802c043078ad: [PowerPC] Set v1i128 to expand for SETCC to avoid crash (authored by ZhangKang).
[PowerPC] Set v1i128 to expand for SETCC to avoid crash
Jul 29 2020, 9:40 AM
ZhangKang closed D84238: [PowerPC] Set v1i128 to expand for SETCC to avoid crash.
Jul 29 2020, 9:40 AM · Restricted Project
ZhangKang committed rGa4ade9ed21e5: [MachineVerifier] Handle the PHI node for verifyLiveVariables() (authored by ZhangKang).
[MachineVerifier] Handle the PHI node for verifyLiveVariables()
Jul 29 2020, 8:49 AM
ZhangKang closed D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().
Jul 29 2020, 8:49 AM · Restricted Project

Jul 28 2020

ZhangKang committed rG00046d789c9d: [PowerPC] Add Def CR1 for MTFSFI_rec and MTFSF_rec (authored by ZhangKang).
[PowerPC] Add Def CR1 for MTFSFI_rec and MTFSF_rec
Jul 28 2020, 6:48 PM
ZhangKang added inline comments to D81360: [PowerPC] Fix RM operands for some instructions.
Jul 28 2020, 6:31 PM · Restricted Project
ZhangKang updated the diff for D81360: [PowerPC] Fix RM operands for some instructions.

Remove the CR1

Jul 28 2020, 6:30 PM · Restricted Project
ZhangKang updated the diff for D81360: [PowerPC] Fix RM operands for some instructions.

FIx the comments.

Jul 28 2020, 9:43 AM · Restricted Project
ZhangKang updated the diff for D81360: [PowerPC] Fix RM operands for some instructions.

Update the patch to follow reviewers' comments.

Jul 28 2020, 9:36 AM · Restricted Project
ZhangKang added a comment to D81360: [PowerPC] Fix RM operands for some instructions.
Jul 28 2020, 9:31 AM · Restricted Project

Jul 27 2020

ZhangKang updated the diff for D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().

Simplify the code.

Jul 27 2020, 9:23 AM · Restricted Project

Jul 24 2020

ZhangKang added inline comments to D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().
Jul 24 2020, 3:15 AM · Restricted Project
ZhangKang updated the diff for D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().

Update the patch to follow reviewers' comments.

Jul 24 2020, 3:14 AM · Restricted Project

Jul 22 2020

ZhangKang updated the diff for D84238: [PowerPC] Set v1i128 to expand for SETCC to avoid crash.

Remove the hasP8Vector condition.

Jul 22 2020, 8:08 PM · Restricted Project
ZhangKang added a comment to D84238: [PowerPC] Set v1i128 to expand for SETCC to avoid crash.

The new test makes more sense to me. Can you please use this one ? So, yes, mark the v1i128 as expand so that, we won't have any setcc with v1i128 after type legalization, which fix the crashing you see when we are trying to select an opcode for v1i128.

Jul 22 2020, 9:39 AM · Restricted Project
ZhangKang updated the diff for D84238: [PowerPC] Set v1i128 to expand for SETCC to avoid crash.

Update the test case.

Jul 22 2020, 9:38 AM · Restricted Project
ZhangKang added a comment to D84238: [PowerPC] Set v1i128 to expand for SETCC to avoid crash.

I still think there is something missing here. What you set the legalize action for SETCC is under P8 altivec, but why the case passed for P7 ? And this case passed without your patch :

P7 will convert result from vector v1i128 setcc to two scalar setcc i64.

Jul 22 2020, 2:14 AM · Restricted Project

Jul 21 2020

ZhangKang committed rG9bbf0ecff36e: [PowerPC] Fix the implicit operands in PredicateInstruction() (authored by ZhangKang).
[PowerPC] Fix the implicit operands in PredicateInstruction()
Jul 21 2020, 10:52 PM
ZhangKang closed D82390: [PowerPC] Fix the implicit operands in PPCInstrInfo::PredicateInstruction().
Jul 21 2020, 10:51 PM · Restricted Project
ZhangKang updated the diff for D84238: [PowerPC] Set v1i128 to expand for SETCC to avoid crash.

Remove le for PWR7.

Jul 21 2020, 10:45 PM · Restricted Project
ZhangKang added a comment to D84238: [PowerPC] Set v1i128 to expand for SETCC to avoid crash.

Your test didn't crash even without your fix.

Jul 21 2020, 9:55 PM · Restricted Project
ZhangKang updated the diff for D84238: [PowerPC] Set v1i128 to expand for SETCC to avoid crash.

Add more test cases.

Jul 21 2020, 7:30 PM · Restricted Project
ZhangKang updated the diff for D82390: [PowerPC] Fix the implicit operands in PPCInstrInfo::PredicateInstruction().

Don't call fixupImplicitDefUseOperands ().

Jul 21 2020, 8:08 AM · Restricted Project
ZhangKang created D84238: [PowerPC] Set v1i128 to expand for SETCC to avoid crash.
Jul 21 2020, 6:51 AM · Restricted Project

Jul 20 2020

ZhangKang updated the diff for D81360: [PowerPC] Fix RM operands for some instructions.

Add more cases.

Jul 20 2020, 9:18 AM · Restricted Project
ZhangKang updated the diff for D81360: [PowerPC] Fix RM operands for some instructions.

Add the case for MTFSF.

Jul 20 2020, 8:09 AM · Restricted Project
ZhangKang updated the diff for D83569: [PowerPC] Fix the killed flag in mi-peephole pass.

Remove the dump code.

Jul 20 2020, 7:05 AM · Restricted Project
ZhangKang updated the diff for D82390: [PowerPC] Fix the implicit operands in PPCInstrInfo::PredicateInstruction().

Add IsNeedFixImplicitOps to call the fixupImplicitDefUseOperands when needed.

Jul 20 2020, 3:11 AM · Restricted Project
ZhangKang added a comment to D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().

ping. @thegameg @qcolombet , do you have any comments for this patch?

Jul 20 2020, 12:23 AM · Restricted Project

Jul 19 2020

ZhangKang updated the summary of D81360: [PowerPC] Fix RM operands for some instructions.
Jul 19 2020, 10:51 PM · Restricted Project
ZhangKang updated the diff for D81360: [PowerPC] Fix RM operands for some instructions.

Merge https://reviews.llvm.org/D83471 into this patch.

Jul 19 2020, 10:43 PM · Restricted Project
ZhangKang added reviewers for D81360: [PowerPC] Fix RM operands for some instructions: jsji, Restricted Project.
Jul 19 2020, 9:11 AM · Restricted Project
ZhangKang removed a reviewer for D81360: [PowerPC] Fix RM operands for some instructions: Restricted Project.
Jul 19 2020, 9:11 AM · Restricted Project
ZhangKang removed a reviewer for D81360: [PowerPC] Fix RM operands for some instructions: jsji.
Jul 19 2020, 9:11 AM · Restricted Project
ZhangKang updated the diff for D81360: [PowerPC] Fix RM operands for some instructions.

Rebase.

Jul 19 2020, 9:10 AM · Restricted Project
ZhangKang committed rGd37befdfe5cd: [PowerPC] Remove the redundant implicit operands in ppc-early-ret pass (authored by ZhangKang).
[PowerPC] Remove the redundant implicit operands in ppc-early-ret pass
Jul 19 2020, 12:02 AM
ZhangKang closed D76042: [PowerPC] Remove the redundant implicit operands in ppc-early-ret pass.
Jul 19 2020, 12:02 AM · Restricted Project

Jul 18 2020

ZhangKang added a comment to D81360: [PowerPC] Fix RM operands for some instructions.

Also why this depends on D76042?

Jul 18 2020, 11:56 PM · Restricted Project
ZhangKang updated the summary of D76042: [PowerPC] Remove the redundant implicit operands in ppc-early-ret pass.
Jul 18 2020, 11:18 PM · Restricted Project

Jul 17 2020

ZhangKang updated the diff for D83569: [PowerPC] Fix the killed flag in mi-peephole pass.

Call IsKilledFor() to fix the flag.

Jul 17 2020, 6:26 PM · Restricted Project

Jul 16 2020

ZhangKang added inline comments to D83569: [PowerPC] Fix the killed flag in mi-peephole pass.
Jul 16 2020, 9:05 PM · Restricted Project

Jul 11 2020

ZhangKang updated the diff for D83569: [PowerPC] Fix the killed flag in mi-peephole pass.

Fix the error case.

Jul 11 2020, 12:29 AM · Restricted Project

Jul 10 2020

ZhangKang added a comment to D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().

ping...

Jul 10 2020, 9:30 AM · Restricted Project
ZhangKang created D83569: [PowerPC] Fix the killed flag in mi-peephole pass.
Jul 10 2020, 9:28 AM · Restricted Project
ZhangKang committed rGe5123ea248eb: [NFC][PowerPC] Add a new MIR file to test mi-peephole pass (authored by ZhangKang).
[NFC][PowerPC] Add a new MIR file to test mi-peephole pass
Jul 10 2020, 9:09 AM

Jun 23 2020

ZhangKang created D82390: [PowerPC] Fix the implicit operands in PPCInstrInfo::PredicateInstruction().
Jun 23 2020, 9:04 AM · Restricted Project

Jun 17 2020

ZhangKang committed rG58e19d465a13: [PowerPC] Don't convert Loop to CTR Loop for fp128 BinaryOperator (authored by ZhangKang).
[PowerPC] Don't convert Loop to CTR Loop for fp128 BinaryOperator
Jun 17 2020, 7:59 PM
ZhangKang closed D81353: [PowerPC] Don't convert Loop to CTR Loop for fp128 BinaryOperator.
Jun 17 2020, 7:59 PM · Restricted Project
ZhangKang committed rGc2574dc9f707: [NFC]][PowerPC] Remove unused intrinsic for old CTR loop pass (authored by ZhangKang).
[NFC]][PowerPC] Remove unused intrinsic for old CTR loop pass
Jun 17 2020, 12:30 AM
ZhangKang closed D81539: [NFC]][PowerPC] Remove unused intrinsic for old CTR loop pass.
Jun 17 2020, 12:30 AM · Restricted Project

Jun 16 2020

ZhangKang updated the diff for D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().

Add CHECK for the case.

Jun 16 2020, 2:09 AM · Restricted Project
ZhangKang added inline comments to D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().
Jun 16 2020, 2:09 AM · Restricted Project

Jun 14 2020

ZhangKang added a comment to D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().

@dexonsmith Do you have any comments for this patch?

Jun 14 2020, 11:58 PM · Restricted Project
ZhangKang added reviewers for D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables(): nickdesaulniers, aadg.
Jun 14 2020, 11:25 PM · Restricted Project
ZhangKang created D81819: [PowerPC] Add InstAlias for those Rotate Instructions.
Jun 14 2020, 8:47 PM · Restricted Project
ZhangKang committed rG74abe500719e: [PowerPC] Add some InstAlias for mtspr/mfspr instructions (authored by ZhangKang).
[PowerPC] Add some InstAlias for mtspr/mfspr instructions
Jun 14 2020, 7:44 PM
ZhangKang closed D77531: [PowerPC] Add some InstAlias for mtspr/mfspr instructions..
Jun 14 2020, 7:44 PM · Restricted Project

Jun 11 2020

ZhangKang updated the diff for D81360: [PowerPC] Fix RM operands for some instructions.

Fix XSRDPI/XSRDPIM/XSRDPIP/XSRDPIZ, XVRDPI/XVRDPIM XVRDPIP XSRDPIZ, XVRSPI/XVRSPIM XVRSPIP XSRSPIZ

Jun 11 2020, 1:50 AM · Restricted Project

Jun 10 2020

ZhangKang updated the summary of D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().
Jun 10 2020, 11:12 PM · Restricted Project
ZhangKang created D81539: [NFC]][PowerPC] Remove unused intrinsic for old CTR loop pass.
Jun 10 2020, 1:03 AM · Restricted Project

Jun 9 2020

ZhangKang committed rG1b6602275d3f: [MachineVerifier] Add TiedOpsRewritten flag to fix verify two-address error (authored by ZhangKang).
[MachineVerifier] Add TiedOpsRewritten flag to fix verify two-address error
Jun 9 2020, 1:04 AM
ZhangKang closed D80538: [MachineVerifier] Add a new TiedOpsRewritten flag to fix verify two-address constraint error.
Jun 9 2020, 1:04 AM · Restricted Project

Jun 8 2020

ZhangKang committed rGe3546c78cabf: [NFC][PowerPC] Remove the redundant InstAlias for OR instruction (authored by ZhangKang).
[NFC][PowerPC] Remove the redundant InstAlias for OR instruction
Jun 8 2020, 9:00 PM
ZhangKang closed D80502: [NFC][PowerPC] Remove the redundant InstAlias for OR instruction.
Jun 8 2020, 9:00 PM · Restricted Project
ZhangKang updated the diff for D81360: [PowerPC] Fix RM operands for some instructions.

Add a test case.

Jun 8 2020, 2:40 AM · Restricted Project
ZhangKang committed rG47dff1881fce: [NFC][PowerPC] Modify the test case to test RM (authored by ZhangKang).
[NFC][PowerPC] Modify the test case to test RM
Jun 8 2020, 2:08 AM

Jun 7 2020

ZhangKang created D81360: [PowerPC] Fix RM operands for some instructions.
Jun 7 2020, 9:20 PM · Restricted Project
ZhangKang updated the diff for D76042: [PowerPC] Remove the redundant implicit operands in ppc-early-ret pass.

Rebase.

Jun 7 2020, 8:48 PM · Restricted Project
ZhangKang created D81353: [PowerPC] Don't convert Loop to CTR Loop for fp128 BinaryOperator.
Jun 7 2020, 7:13 PM · Restricted Project
ZhangKang committed rGc3f5ceefb8d1: [NFC][PowerPC] Add a new case to test ctrloop for fp128 (authored by ZhangKang).
[NFC][PowerPC] Add a new case to test ctrloop for fp128
Jun 7 2020, 10:07 AM

Jun 3 2020

ZhangKang updated the diff for D80886: [PHIElimination] Fix the killed flag for LowerPHINode().

Add guard for OldKill.

Jun 3 2020, 10:25 AM · Restricted Project
ZhangKang added inline comments to D80886: [PHIElimination] Fix the killed flag for LowerPHINode().
Jun 3 2020, 10:25 AM · Restricted Project
ZhangKang committed rG2cc77b2b8a02: [LiveVariables] Don't set undef reg PHI used as live for FromMBB (authored by ZhangKang).
[LiveVariables] Don't set undef reg PHI used as live for FromMBB
Jun 3 2020, 8:45 AM
ZhangKang closed D80077: [LiveVariables] Don't set undef reg PHI used as live for FromMBB.
Jun 3 2020, 8:45 AM · Restricted Project
ZhangKang abandoned D78010: [CodeGen] Add new function unionImplicitOps() to union implicit register.
Jun 3 2020, 2:43 AM · Restricted Project
ZhangKang added a comment to D78010: [CodeGen] Add new function unionImplicitOps() to union implicit register.

No concrete use case, abandoned it.

Jun 3 2020, 2:43 AM · Restricted Project
ZhangKang added a comment to D80077: [LiveVariables] Don't set undef reg PHI used as live for FromMBB.

@bjope Do you have any other comments for this patch?

Jun 3 2020, 1:03 AM · Restricted Project
ZhangKang added a comment to D80077: [LiveVariables] Don't set undef reg PHI used as live for FromMBB.

It looks like a bug in phi-node-elimination to me. When critical edge bb.0 -> bb.2 is splitted and bb.3 is inserted, undef %undef is transformed into %3 = IMPLICIT_DEF in bb.3. LV in bb.2 is not updated in memory(If we run phi-node-elimination and twoaddressinstruction separately, we won't run into crash).

Jun 3 2020, 12:30 AM · Restricted Project

Jun 2 2020

ZhangKang updated the summary of D80538: [MachineVerifier] Add a new TiedOpsRewritten flag to fix verify two-address constraint error.
Jun 2 2020, 8:14 AM · Restricted Project

Jun 1 2020

ZhangKang added a reviewer for D80077: [LiveVariables] Don't set undef reg PHI used as live for FromMBB: efriedma.
Jun 1 2020, 11:15 PM · Restricted Project

May 31 2020

ZhangKang created D80886: [PHIElimination] Fix the killed flag for LowerPHINode().
May 31 2020, 3:11 AM · Restricted Project