Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline

huihuiz (Huihui Zhang)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 9 2016, 6:44 PM (391 w, 1 d)

Recent Activity

Sep 7 2023

huihuiz committed rG904ac6fe6b95: [InstCombine] Fold ((A&B)^A)|((A&B)^B) to A^B (authored by marcauberer).
[InstCombine] Fold ((A&B)^A)|((A&B)^B) to A^B
Sep 7 2023, 5:42 PM · Restricted Project, Restricted Project
huihuiz closed D159380: [InstCombine] Fold ((A&B)^A)|((A&B)^B) to A^B.
Sep 7 2023, 5:42 PM · Restricted Project, Restricted Project
huihuiz committed rG4bbc9034d6c4: [InstCombine] Baseline tests for folding ((A&B)^A)|((A&B)^B) to A^B (authored by marcauberer).
[InstCombine] Baseline tests for folding ((A&B)^A)|((A&B)^B) to A^B
Sep 7 2023, 5:04 PM · Restricted Project, Restricted Project
huihuiz closed D159379: [InstCombine] Baseline tests for folding ((A&B)^A)|((A&B)^B) to A^B.
Sep 7 2023, 5:04 PM · Restricted Project, Restricted Project
huihuiz added a comment to D159380: [InstCombine] Fold ((A&B)^A)|((A&B)^B) to A^B.

I can help land this patch and the baseline test.
Just give it more hours in case other people catch anything different.

Sep 7 2023, 2:39 PM · Restricted Project, Restricted Project
huihuiz accepted D159380: [InstCombine] Fold ((A&B)^A)|((A&B)^B) to A^B.
Sep 7 2023, 1:49 PM · Restricted Project, Restricted Project
huihuiz added inline comments to D159380: [InstCombine] Fold ((A&B)^A)|((A&B)^B) to A^B.
Sep 7 2023, 1:41 PM · Restricted Project, Restricted Project
huihuiz accepted D159379: [InstCombine] Baseline tests for folding ((A&B)^A)|((A&B)^B) to A^B.
Sep 7 2023, 1:26 PM · Restricted Project, Restricted Project

Aug 24 2023

huihuiz added a comment to D149543: [libc++][format] Fixes vector<bool> requirements..

This is causing compilation failure in https://github.com/llvm/llvm-project/issues/64971

Aug 24 2023, 5:42 PM · Restricted Project, Restricted Project

Feb 16 2023

huihuiz committed rGfb7c38073e80: [AArch64][ISel] Always use pre-inc/post-inc addressing mode for auto-indexed… (authored by huihuiz).
[AArch64][ISel] Always use pre-inc/post-inc addressing mode for auto-indexed…
Feb 16 2023, 4:19 PM · Restricted Project, Restricted Project
huihuiz closed D143796: [AArch64][ISel] Always use pre-inc/post-inc addressing mode for auto-indexed load/store with constant offset..
Feb 16 2023, 4:19 PM · Restricted Project, Restricted Project
huihuiz updated the diff for D143796: [AArch64][ISel] Always use pre-inc/post-inc addressing mode for auto-indexed load/store with constant offset..

Addressed review comments, also clean out "ISD::MemIndexedMode &AM" from getIndexedAddressParts().

Feb 16 2023, 11:13 AM · Restricted Project, Restricted Project

Feb 15 2023

huihuiz updated the diff for D143796: [AArch64][ISel] Always use pre-inc/post-inc addressing mode for auto-indexed load/store with constant offset..

Thanks Eli for the feedbacks!

Feb 15 2023, 3:50 PM · Restricted Project, Restricted Project
huihuiz planned changes to D143796: [AArch64][ISel] Always use pre-inc/post-inc addressing mode for auto-indexed load/store with constant offset..
Feb 15 2023, 11:29 AM · Restricted Project, Restricted Project

Feb 14 2023

huihuiz added a comment to D143796: [AArch64][ISel] Always use pre-inc/post-inc addressing mode for auto-indexed load/store with constant offset..

Dumped -debug-only=isel,dagcombine for a few targets (armv7a, aarch64, x86_64, riscv64) to see what's going on. Here is what I found:

Feb 14 2023, 4:30 PM · Restricted Project, Restricted Project

Feb 10 2023

huihuiz added a comment to D143796: [AArch64][ISel] Always use pre-inc/post-inc addressing mode for auto-indexed load/store with constant offset..

Test case was reduced from internal benchmark. Assuming we would run into similar issues for post-dec addressing mode.
If needed I can try to synthesize a test for post-dec.

Feb 10 2023, 4:47 PM · Restricted Project, Restricted Project
huihuiz requested review of D143796: [AArch64][ISel] Always use pre-inc/post-inc addressing mode for auto-indexed load/store with constant offset..
Feb 10 2023, 4:45 PM · Restricted Project, Restricted Project

Jan 13 2023

huihuiz abandoned D74095: [ConstantFold][SVE] Fold bitcast into splat value for splat vector..
Jan 13 2023, 9:25 AM · Restricted Project, Restricted Project
huihuiz abandoned D76655: [InstSimplify] Fix SimplifyGEPInst when GEP index type is vector type..
Jan 13 2023, 9:25 AM · Restricted Project, Restricted Project
huihuiz abandoned D71637: [PatternMatch] Add support for matching ConstantExpr..
Jan 13 2023, 9:23 AM · Restricted Project, Restricted Project
huihuiz abandoned D62818: [InstCombine] Introduce fold for icmp pred (and X, (sh signbit, Y)), 0..
Jan 13 2023, 9:23 AM · Restricted Project, Restricted Project
huihuiz abandoned D64275: [InstCombine] Generalize InstCombiner::foldAndOrOfICmpsOfAndWithPow2()..
Jan 13 2023, 9:22 AM · Restricted Project, Restricted Project

Nov 17 2022

huihuiz abandoned D70030: [MachineBlockPlacement] Fix UnscheduledPredecessors counter to reflect tail duplication..

The test attached no longer trigger assertion "Attempting to place block with unscheduled predecessors in worklist.".
I am not currently active on this issue.
I also don't have much experience in MachineBlockPlacement.

Nov 17 2022, 10:01 AM · Restricted Project, Restricted Project

Feb 10 2022

huihuiz added a comment to D119305: [AArch64][LoadStoreOptimizer] Ignore undef registers when checking rename register used between paired instructions..

Thanks @fhahn , stack accesses are not needed. I just clean them in https://reviews.llvm.org/rG19302cd7a449

Feb 10 2022, 12:43 PM · Restricted Project
huihuiz committed rG19302cd7a449: [NFC] Simplify pairwise store test mir to drop stack accesses. (authored by huihuiz).
[NFC] Simplify pairwise store test mir to drop stack accesses.
Feb 10 2022, 12:41 PM
huihuiz committed rG1d74b531728c: [AArch64][LoadStoreOptimizer] Ignore undef registers when checking rename… (authored by huihuiz).
[AArch64][LoadStoreOptimizer] Ignore undef registers when checking rename…
Feb 10 2022, 10:22 AM
huihuiz closed D119305: [AArch64][LoadStoreOptimizer] Ignore undef registers when checking rename register used between paired instructions..
Feb 10 2022, 10:22 AM · Restricted Project

Feb 9 2022

huihuiz updated the diff for D119305: [AArch64][LoadStoreOptimizer] Ignore undef registers when checking rename register used between paired instructions..

Thanks Eli for the feedbacks!
Exclude undef from overlap diagnosis.

Feb 9 2022, 1:28 PM · Restricted Project

Feb 8 2022

huihuiz added a comment to D119305: [AArch64][LoadStoreOptimizer] Ignore undef registers when checking rename register used between paired instructions..

Take test mir attached test/CodeGen/AArch64/stp-opt-with-renaming-crash.mir
run with llc -run-pass=aarch64-ldst-opt -mtriple=aarch64 -verify-machineinstrs

Feb 8 2022, 5:32 PM · Restricted Project
huihuiz requested review of D119305: [AArch64][LoadStoreOptimizer] Ignore undef registers when checking rename register used between paired instructions..
Feb 8 2022, 5:25 PM · Restricted Project

Jan 31 2022

huihuiz added a comment to D113442: [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv..

Thank you guys for looking into this!

Jan 31 2022, 1:24 PM · Restricted Project

Nov 22 2021

huihuiz committed rG9cd7c534e27c: [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv. (authored by huihuiz).
[InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv.
Nov 22 2021, 3:10 PM
huihuiz closed D113442: [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv..
Nov 22 2021, 3:10 PM · Restricted Project
huihuiz added a comment to D113442: [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv..

Thanks Sanjay for the review!
I did another local run for fadd, with "--disable-undef-input" it finish within a minute.
When removing "--disable-undef-input", it's taking about an hour now, still not finished.

Nov 22 2021, 11:14 AM · Restricted Project

Nov 17 2021

huihuiz updated the diff for D113442: [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv..

Rebased, and a gentle ping ?

Nov 17 2021, 11:25 AM · Restricted Project

Nov 11 2021

huihuiz added a comment to D113442: [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv..

Update on overnight run for fdiv

Nov 11 2021, 9:26 AM · Restricted Project

Nov 10 2021

huihuiz added inline comments to D113442: [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv..
Nov 10 2021, 7:54 PM · Restricted Project
huihuiz retitled D113442: [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv. from [InstCombine] Enable fold select into operand for FAdd, FMul, and FSub. to [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv..
Nov 10 2021, 7:50 PM · Restricted Project
huihuiz updated the diff for D113442: [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv..

Addressed review comments.
Pre-commit baseline test test/Transforms/InstCombine/select-binop-foldable-floating-point.ll

Nov 10 2021, 7:49 PM · Restricted Project
huihuiz committed rG5a4bd07ea464: [InstCombine][NFC] Pre-commit baseline test for D113442. (authored by huihuiz).
[InstCombine][NFC] Pre-commit baseline test for D113442.
Nov 10 2021, 7:46 PM

Nov 9 2021

huihuiz added a comment to D113442: [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv..

Thanks Sanjay for the comments, I will update unit test as suggested.

Nov 9 2021, 3:22 PM · Restricted Project

Nov 8 2021

huihuiz added a comment to D113442: [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv..

Take test.ll attached.

Nov 8 2021, 4:37 PM · Restricted Project
huihuiz requested review of D113442: [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv..
Nov 8 2021, 4:27 PM · Restricted Project

Sep 10 2021

huihuiz committed rGda4a2fd832a5: [AArch64ISelLowering] Fix null pointer access in performSVEAndCombine. (authored by huihuiz).
[AArch64ISelLowering] Fix null pointer access in performSVEAndCombine.
Sep 10 2021, 10:37 AM
huihuiz closed D109556: [AArch64ISelLowering] Fix null pointer access in performSVEAndCombine..
Sep 10 2021, 10:37 AM · Restricted Project

Sep 9 2021

huihuiz requested review of D109556: [AArch64ISelLowering] Fix null pointer access in performSVEAndCombine..
Sep 9 2021, 4:23 PM · Restricted Project

Jul 13 2021

huihuiz accepted D105009: [LSR] Handle case 1*reg => reg. PR50918.

I think this fix looks right, but wait a bit for @reames , in case he caught anything unusual ?

Jul 13 2021, 9:05 PM · Restricted Project

Jun 29 2021

huihuiz added a comment to D105009: [LSR] Handle case 1*reg => reg. PR50918.

Another note on LSRInstance::GenerateReassociationsImpl() where 1*reg is created, eventually trigger this assertion.

Jun 29 2021, 8:16 PM · Restricted Project

Jun 22 2021

huihuiz accepted D104702: [LSR] Filter out zero factors. PR50765.

Ideally we should reject early when stride is zero, but in this case we won't be able to detect this early since stride zero is in a form of add expression.

Jun 22 2021, 10:10 AM · Restricted Project

Jun 14 2021

huihuiz committed rG1c096bf09ffd: [SVE][LSR] Teach LSR to enable simple scaled-index addressing mode generation… (authored by huihuiz).
[SVE][LSR] Teach LSR to enable simple scaled-index addressing mode generation…
Jun 14 2021, 4:43 PM
huihuiz closed D103939: [SVE][LSR] Teach LSR to enable simple scaled-index addressing mode generation for SVE..
Jun 14 2021, 4:42 PM · Restricted Project

Jun 11 2021

huihuiz updated the diff for D103939: [SVE][LSR] Teach LSR to enable simple scaled-index addressing mode generation for SVE..

Thanks @sdesmalen for the review! Happy to help out! ;)

Jun 11 2021, 2:22 PM · Restricted Project

Jun 10 2021

huihuiz added inline comments to D103939: [SVE][LSR] Teach LSR to enable simple scaled-index addressing mode generation for SVE..
Jun 10 2021, 4:38 PM · Restricted Project
huihuiz updated the diff for D103939: [SVE][LSR] Teach LSR to enable simple scaled-index addressing mode generation for SVE..

To be more conservative, added checking IgnoreSignificantBits || isMulSExtable(MulRHS, SE) to MulRHS as well.

Jun 10 2021, 4:36 PM · Restricted Project

Jun 9 2021

huihuiz added inline comments to D103939: [SVE][LSR] Teach LSR to enable simple scaled-index addressing mode generation for SVE..
Jun 9 2021, 2:38 PM · Restricted Project
huihuiz updated the diff for D103939: [SVE][LSR] Teach LSR to enable simple scaled-index addressing mode generation for SVE..

Thanks @efriedma @dmgreen for the feedbacks!
Addressed review comments, please let me know if there are anything I missed ?

Jun 9 2021, 2:36 PM · Restricted Project

Jun 8 2021

huihuiz requested review of D103939: [SVE][LSR] Teach LSR to enable simple scaled-index addressing mode generation for SVE..
Jun 8 2021, 6:08 PM · Restricted Project

Mar 31 2021

huihuiz committed rGfe5c4a06a49c: [LoopVectorize] Use SetVector to track uniform uses to prevent non-determinism. (authored by huihuiz).
[LoopVectorize] Use SetVector to track uniform uses to prevent non-determinism.
Mar 31 2021, 11:21 AM
huihuiz closed D99549: [LoopVectorize] Use SetVector to track uniform uses to prevent non-determinism..
Mar 31 2021, 11:21 AM · Restricted Project

Mar 30 2021

huihuiz committed rGd857a81437cb: [VPlan] Use SetVector for VPExternalDefs to prevent non-determinism. (authored by huihuiz).
[VPlan] Use SetVector for VPExternalDefs to prevent non-determinism.
Mar 30 2021, 12:11 PM
huihuiz closed D99544: [VPlan] Use SetVector for VPExternalDefs to prevent non-determinism..
Mar 30 2021, 12:11 PM · Restricted Project
huihuiz updated the diff for D99549: [LoopVectorize] Use SetVector to track uniform uses to prevent non-determinism..

Update diff to use SetVector.

Mar 30 2021, 10:09 AM · Restricted Project
huihuiz updated the diff for D99544: [VPlan] Use SetVector for VPExternalDefs to prevent non-determinism..

Thank you for the feedback!
Addressed review comments.

Mar 30 2021, 9:50 AM · Restricted Project

Mar 29 2021

huihuiz committed rGca721042f1c9: [IPO][SampleContextTracker] Use SmallVector to track context profiles to… (authored by huihuiz).
[IPO][SampleContextTracker] Use SmallVector to track context profiles to…
Mar 29 2021, 4:37 PM
huihuiz closed D99547: [IPO][SampleContextTracker] Use SmallVector to track context profiles to prevent non-determinism..
Mar 29 2021, 4:37 PM · Restricted Project
huihuiz added a comment to D99547: [IPO][SampleContextTracker] Use SmallVector to track context profiles to prevent non-determinism..

Thank you for the review! @wenlei , could you also help take a look at D99544 and D99549. They are in a similar vein. Thanks a lot!

Mar 29 2021, 4:11 PM · Restricted Project
huihuiz added a reviewer for D99549: [LoopVectorize] Use SetVector to track uniform uses to prevent non-determinism.: wenlei.
Mar 29 2021, 4:08 PM · Restricted Project
huihuiz added a reviewer for D99544: [VPlan] Use SetVector for VPExternalDefs to prevent non-determinism.: wenlei.
Mar 29 2021, 4:08 PM · Restricted Project
huihuiz requested review of D99549: [LoopVectorize] Use SetVector to track uniform uses to prevent non-determinism..
Mar 29 2021, 3:49 PM · Restricted Project
huihuiz requested review of D99547: [IPO][SampleContextTracker] Use SmallVector to track context profiles to prevent non-determinism..
Mar 29 2021, 3:41 PM · Restricted Project
huihuiz requested review of D99544: [VPlan] Use SetVector for VPExternalDefs to prevent non-determinism..
Mar 29 2021, 3:22 PM · Restricted Project

Feb 17 2021

huihuiz added a comment to D94501: [SelectionDAG] Support scalable-vector splats in more cases.

Thanks @frasercrmck for helping! Appreciate it!

Feb 17 2021, 8:18 AM · Restricted Project

Feb 16 2021

huihuiz added a comment to D94501: [SelectionDAG] Support scalable-vector splats in more cases.

This is crashing SVE target lowering with "LLVM ERROR: Cannot select: t23: nxv4i32 = mulhu t9, t34"
Let me know if there is a way of fixing it?

Feb 16 2021, 2:18 PM · Restricted Project

Feb 5 2021

huihuiz committed rG1b81117f88e4: [DAGCombiner][SVE] Fix invalid use of getVectorNumElements() in visitSRA. (authored by huihuiz).
[DAGCombiner][SVE] Fix invalid use of getVectorNumElements() in visitSRA.
Feb 5 2021, 9:57 AM
huihuiz closed D95967: [DAGCombiner][SVE] Fix invalid use of getVectorNumElements() in visitSRA..
Feb 5 2021, 9:57 AM · Restricted Project

Feb 4 2021

huihuiz added inline comments to D95967: [DAGCombiner][SVE] Fix invalid use of getVectorNumElements() in visitSRA..
Feb 4 2021, 6:30 PM · Restricted Project
huihuiz updated the diff for D95967: [DAGCombiner][SVE] Fix invalid use of getVectorNumElements() in visitSRA..

Thanks David and Paul for the reviews!

Feb 4 2021, 6:30 PM · Restricted Project

Feb 3 2021

huihuiz added a reviewer for D95967: [DAGCombiner][SVE] Fix invalid use of getVectorNumElements() in visitSRA.: ctetreau.
Feb 3 2021, 12:44 PM · Restricted Project
huihuiz added a comment to D95967: [DAGCombiner][SVE] Fix invalid use of getVectorNumElements() in visitSRA..

Take test function @sext_inreg
run: llc -mtriple=aarch64-linux-gnu -mattr=+sve < test/CodeGen/AArch64/DAGCombine_vscale.ll

Feb 3 2021, 12:26 PM · Restricted Project
huihuiz requested review of D95967: [DAGCombiner][SVE] Fix invalid use of getVectorNumElements() in visitSRA..
Feb 3 2021, 12:17 PM · Restricted Project

Dec 8 2020

huihuiz committed rG8e6fc1f97eb9: [AArch64][SVE] Add lowering for llvm.maxnum|minnum for scalable type. (authored by huihuiz).
[AArch64][SVE] Add lowering for llvm.maxnum|minnum for scalable type.
Dec 8 2020, 9:36 AM
huihuiz closed D92607: [AArch64][SVE] Add lowering for llvm.maxnum|minnum for scalable type..
Dec 8 2020, 9:36 AM · Restricted Project

Dec 7 2020

huihuiz updated the summary of D92607: [AArch64][SVE] Add lowering for llvm.maxnum|minnum for scalable type..
Dec 7 2020, 2:08 PM · Restricted Project
huihuiz updated the diff for D92607: [AArch64][SVE] Add lowering for llvm.maxnum|minnum for scalable type..

Thanks for the feedback!
Test cases for vector splitting added. Also fix the warning message caused by extracting subvector.

Dec 7 2020, 1:57 PM · Restricted Project

Dec 3 2020

huihuiz requested review of D92607: [AArch64][SVE] Add lowering for llvm.maxnum|minnum for scalable type..
Dec 3 2020, 2:11 PM · Restricted Project

Oct 23 2020

huihuiz added a comment to D89831: [AArch64][SVE] Fix umin/umax lowering to handle out of range imm..

Thanks @sdesmalen for the review!
Fixed in the commit patch.

Oct 23 2020, 9:46 AM · Restricted Project
huihuiz committed rG1e113c078a56: [AArch64][SVE] Fix umin/umax lowering to handle out of range imm. (authored by huihuiz).
[AArch64][SVE] Fix umin/umax lowering to handle out of range imm.
Oct 23 2020, 9:44 AM
huihuiz closed D89831: [AArch64][SVE] Fix umin/umax lowering to handle out of range imm..
Oct 23 2020, 9:44 AM · Restricted Project

Oct 21 2020

huihuiz added inline comments to D89831: [AArch64][SVE] Fix umin/umax lowering to handle out of range imm..
Oct 21 2020, 9:44 AM · Restricted Project

Oct 20 2020

huihuiz added a comment to D89831: [AArch64][SVE] Fix umin/umax lowering to handle out of range imm..

Current upstream mis-compile, take t.ll , run "llc -mtriple=aarch64-linux-gnu -mattr=+sve < t.ll"

Oct 20 2020, 3:31 PM · Restricted Project
huihuiz requested review of D89831: [AArch64][SVE] Fix umin/umax lowering to handle out of range imm..
Oct 20 2020, 3:26 PM · Restricted Project

Sep 18 2020

huihuiz committed rG9ad6049736c5: [InstCombine][SVE] Skip scalable type for InstCombiner… (authored by huihuiz).
[InstCombine][SVE] Skip scalable type for InstCombiner…
Sep 18 2020, 11:27 AM
huihuiz closed D87918: [InstCombine][SVE] Skip scalable type for InstCombiner::getFlippedStrictnessPredicateAndConstant..
Sep 18 2020, 11:26 AM · Restricted Project
huihuiz added a comment to D87918: [InstCombine][SVE] Skip scalable type for InstCombiner::getFlippedStrictnessPredicateAndConstant..

Current upstream crash with test attached.

Sep 18 2020, 10:48 AM · Restricted Project
huihuiz requested review of D87918: [InstCombine][SVE] Skip scalable type for InstCombiner::getFlippedStrictnessPredicateAndConstant..
Sep 18 2020, 10:45 AM · Restricted Project

Sep 15 2020

huihuiz committed rG3b7f5166bd11: [SLPVectorizer][SVE] Skip scalable-vector instructions before… (authored by huihuiz).
[SLPVectorizer][SVE] Skip scalable-vector instructions before…
Sep 15 2020, 1:10 PM
huihuiz closed D87550: [SLPVectorizer][SVE] Skip scalable-vector instructions before vectorizeSimpleInstructions..
Sep 15 2020, 1:10 PM · Restricted Project

Sep 14 2020

huihuiz updated the diff for D87550: [SLPVectorizer][SVE] Skip scalable-vector instructions before vectorizeSimpleInstructions..

Thanks guys for the feedback!
Addressed review comments.

Sep 14 2020, 1:54 PM · Restricted Project

Sep 11 2020

huihuiz requested review of D87550: [SLPVectorizer][SVE] Skip scalable-vector instructions before vectorizeSimpleInstructions..
Sep 11 2020, 3:32 PM · Restricted Project

Sep 2 2020

huihuiz committed rGb4f04d713507: [VectorCombine][SVE] Do not fold bitcast shuffle for scalable type. (authored by huihuiz).
[VectorCombine][SVE] Do not fold bitcast shuffle for scalable type.
Sep 2 2020, 3:02 PM