Page MenuHomePhabricator

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

mdchen (Mindong Chen)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 1 2020, 7:07 AM (160 w, 6 d)

Recent Activity

Aug 25 2023

mdchen added inline comments to D158836: [LoopVectorize] Vectorize the compact pattern.
Aug 25 2023, 7:48 PM · Restricted Project, Restricted Project

Jan 6 2023

mdchen added a comment to D140260: [LoopVectorize] Fix crash on "vector->scalar" bitcast vectorization.

ping again:)

Jan 6 2023, 5:13 PM · Restricted Project, Restricted Project

Dec 21 2022

mdchen added a comment to D140260: [LoopVectorize] Fix crash on "vector->scalar" bitcast vectorization.

ping

Dec 21 2022, 6:07 PM · Restricted Project, Restricted Project

Dec 19 2022

mdchen added a comment to D140260: [LoopVectorize] Fix crash on "vector->scalar" bitcast vectorization.

It think the loop-invariantness precondition for these is overly restrictive.

Any suggestion on that?

For context. loading i64 and loading <8 x i8> and bitcasting to i64 should be the same thing.

Let me try to catch your point, the key difference here is loading <8 x i8> cannot appear in a scalar loop and the legality check will ensure that. Thus the vector operand of bitcast must be defined outside the loop.

Dec 19 2022, 7:35 PM · Restricted Project, Restricted Project

Dec 18 2022

mdchen added a comment to D140260: [LoopVectorize] Fix crash on "vector->scalar" bitcast vectorization.

It think the loop-invariantness precondition for these is overly restrictive.

Dec 18 2022, 6:37 PM · Restricted Project, Restricted Project

Dec 17 2022

mdchen added a comment to D140260: [LoopVectorize] Fix crash on "vector->scalar" bitcast vectorization.

Test checks will be updated later.

Dec 17 2022, 8:07 AM · Restricted Project, Restricted Project
mdchen added reviewers for D140260: [LoopVectorize] Fix crash on "vector->scalar" bitcast vectorization: reames, fhahn, craig.topper.
Dec 17 2022, 8:06 AM · Restricted Project, Restricted Project
mdchen requested review of D140260: [LoopVectorize] Fix crash on "vector->scalar" bitcast vectorization.
Dec 17 2022, 8:03 AM · Restricted Project, Restricted Project

Nov 14 2022

mdchen committed rG9d78bbe6c4a9: [docs][OpaquePtr] Fix hyperlinks (authored by mdchen).
[docs][OpaquePtr] Fix hyperlinks
Nov 14 2022, 7:23 AM · Restricted Project, Restricted Project

Aug 1 2022

mdchen added inline comments to rG7ac7ec820296: [LangRef] Update for opaque pointers (NFC).
Aug 1 2022, 11:33 PM · Restricted Project, Restricted Project

May 19 2022

mdchen committed rG3ed9f603fd59: [LoopVectorize] Don't interleave when the number of runtime checks exceeds the… (authored by TiehuZhang).
[LoopVectorize] Don't interleave when the number of runtime checks exceeds the…
May 19 2022, 8:29 AM · Restricted Project, Restricted Project
mdchen committed rG94a2bd5a270b: [LoopVectorize] Precommit a test for D122126 (authored by TiehuZhang).
[LoopVectorize] Precommit a test for D122126
May 19 2022, 8:29 AM · Restricted Project, Restricted Project
mdchen closed D122126: [LoopVectorize] Don't interleave when the number of runtime checks exceeds the threshold.
May 19 2022, 8:29 AM · Restricted Project, Restricted Project, Restricted Project

Mar 11 2022

mdchen updated subscribers of rG81bff5e6ea27: InstCombine: add comment explaining malloc deletion. NFC..

that seems like a genuinely useful feature that would be blocked by treating the test as valid. This code is just an extreme example of that transformation really (where we can reduce the allocation to 0, presumably because past optimizations have removed all significant uses).

Mar 11 2022, 8:34 PM

Dec 24 2021

mdchen added a comment to D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.

Thanks for your reply!

There's this line in the semantics for llvm.fma:

When specified with the fast-math-flag ‘afn’, the result may be approximated using a less accurate calculation.

My reading is the underlying operation must be maintained (i.e. a fused multiply-add)

Dec 24 2021, 5:55 PM · Restricted Project

Dec 22 2021

mdchen added a comment to D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.

@RosieSumpter gentle ping: )

Dec 22 2021, 12:43 AM · Restricted Project

Dec 13 2021

mdchen added a comment to D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.

@RosieSumpter Thanks for the patch! I'm in question that whether llvm.fma.* should also be considered a valid candidate here. LangRef describes that

If a fused multiply-add is required, the corresponding llvm.fma intrinsic function should be used instead.

Dec 13 2021, 6:58 PM · Restricted Project

Nov 28 2021

mdchen added a comment to D95142: [SLC] Simplify strcpy and friends with non-zero address spaces.

The pointee type is meaningless in the IR and will be going away.

@arsenm @arichardson Hi, this change let user-defined string functions(e.g., size_t strlen(int*)) pass the check and considered a libfunc, which can cause failure in later optimizations like optimizeStrLen which assumes CharSize is 8. And pointed type does matter in this case. What do you think?

The code should've been compiled with either -fno-builtin-strlen or -ffreestanding, or used the right type for strlen, anything else is invalid. See -Wincompatible-library-redeclaration.

Nov 28 2021, 7:35 PM · Restricted Project
mdchen added a comment to D95142: [SLC] Simplify strcpy and friends with non-zero address spaces.

The pointee type is meaningless in the IR and will be going away.

Nov 28 2021, 7:05 PM · Restricted Project

Nov 8 2021

mdchen committed rG495e258fd7aa: [AArch64][SVE] Add FP types to the supported SVE structure load/stores vector… (authored by mdchen).
[AArch64][SVE] Add FP types to the supported SVE structure load/stores vector…
Nov 8 2021, 6:55 AM
mdchen closed D113333: [AArch64][SVE] Add FP types to the supported SVE structure load/stores vector type list.
Nov 8 2021, 6:55 AM · Restricted Project

Nov 7 2021

mdchen added a comment to D113333: [AArch64][SVE] Add FP types to the supported SVE structure load/stores vector type list.

@paulwalker-arm Thanks. Would you please take another look if the test looks ok to you now?

Nov 7 2021, 11:46 PM · Restricted Project
mdchen updated the diff for D113333: [AArch64][SVE] Add FP types to the supported SVE structure load/stores vector type list.

Update test.

Nov 7 2021, 6:55 PM · Restricted Project

Nov 5 2021

mdchen requested review of D113333: [AArch64][SVE] Add FP types to the supported SVE structure load/stores vector type list.
Nov 5 2021, 11:01 PM · Restricted Project

Oct 14 2021

mdchen added a comment to D111804: [InstCombine] Don't combine CmpInst that used for verify the legality of the lshr.

@lebedev.ri I think the problem is when %0 is negative, the original code gives a definite result while the transformed IR is UB.

Oct 14 2021, 6:37 PM · Restricted Project, Restricted Project

Jul 12 2021

mdchen updated the diff for D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.

Rebase.

Jul 12 2021, 7:22 PM · Restricted Project
mdchen added inline comments to D105438: [LV] Re-generate check lines of some fragile tests.
Jul 12 2021, 7:20 PM · Restricted Project
mdchen updated the diff for D105438: [LV] Re-generate check lines of some fragile tests.

Update the comments in invariant-store-vectorization-2.ll.

Jul 12 2021, 7:20 PM · Restricted Project
mdchen updated the diff for D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.

Address @fhahn 's suggestions.

Jul 12 2021, 6:23 AM · Restricted Project
mdchen updated the diff for D105438: [LV] Re-generate check lines of some fragile tests.
Jul 12 2021, 6:22 AM · Restricted Project

Jul 10 2021

mdchen added inline comments to D105438: [LV] Re-generate check lines of some fragile tests.
Jul 10 2021, 8:32 AM · Restricted Project

Jul 9 2021

mdchen updated the diff for D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.
Jul 9 2021, 9:24 AM · Restricted Project
mdchen updated the diff for D105438: [LV] Re-generate check lines of some fragile tests.

Correct invariant-store-vectorization-2.ll check lines(the previous version is generated with a version with D104148 code).

Jul 9 2021, 9:23 AM · Restricted Project
mdchen added a comment to D105438: [LV] Re-generate check lines of some fragile tests.

Ops... invariant-store-vectorization-2.ll is not in the right status, will update it soon.

Jul 9 2021, 8:57 AM · Restricted Project
mdchen updated the diff for D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.

Address @fhahn's comments.

Jul 9 2021, 8:38 AM · Restricted Project
mdchen updated the diff for D105438: [LV] Re-generate check lines of some fragile tests.

Hi @fhahn , to address your comments in D104148, more tests need to be updated here, please take another look, thanks very much!

Jul 9 2021, 8:37 AM · Restricted Project

Jul 7 2021

mdchen updated the diff for D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.

Updated.

Jul 7 2021, 7:02 AM · Restricted Project
mdchen updated the diff for D105438: [LV] Re-generate check lines of some fragile tests.

Updated.

Jul 7 2021, 6:56 AM · Restricted Project

Jul 5 2021

mdchen added inline comments to D105438: [LV] Re-generate check lines of some fragile tests.
Jul 5 2021, 7:35 PM · Restricted Project
mdchen updated the diff for D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.

Updated the tests. This needs to be merged after D105438.

Jul 5 2021, 10:01 AM · Restricted Project
mdchen added a comment to D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.

@fhahn Thanks for your advice. I modified these related tests in D105438. After that is merged, I'll update this revision with one looks cleaner.

Jul 5 2021, 9:57 AM · Restricted Project
mdchen requested review of D105438: [LV] Re-generate check lines of some fragile tests.
Jul 5 2021, 9:52 AM · Restricted Project
mdchen committed rGd4ed965b2d14: [AArch64ISelDAGToDAG] Fix ORRWrs/ORRXrs usefulbits calculation bug (authored by TiehuZhang).
[AArch64ISelDAGToDAG] Fix ORRWrs/ORRXrs usefulbits calculation bug
Jul 5 2021, 9:44 AM
mdchen closed D102759: [AArch64ISelDAGToDAG] Supplement cases for ORRWrs/ORRXrs when calculating usefulbits.
Jul 5 2021, 9:43 AM · Restricted Project

Jul 4 2021

mdchen added a comment to D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.

ping : )

Jul 4 2021, 6:58 PM · Restricted Project

Jun 27 2021

mdchen added a comment to D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.

Ping

Jun 27 2021, 6:11 PM · Restricted Project

Jun 20 2021

mdchen updated the diff for D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.

Updated previous failed x86 cases.

Jun 20 2021, 8:31 PM · Restricted Project

Jun 19 2021

mdchen updated the diff for D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.
Jun 19 2021, 7:30 AM · Restricted Project

Jun 18 2021

mdchen retitled D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses from [LoopUtils] Fix incorrect runtime checks to WIP: [LoopUtils] Fix incorrect runtime checks.
Jun 18 2021, 1:55 AM · Restricted Project

Jun 16 2021

mdchen added inline comments to D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.
Jun 16 2021, 12:39 AM · Restricted Project
mdchen edited reviewers for D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses, added: anemet; removed: reames.
Jun 16 2021, 12:29 AM · Restricted Project

Jun 15 2021

mdchen added inline comments to D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.
Jun 15 2021, 7:16 AM · Restricted Project
mdchen updated the diff for D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.
Jun 15 2021, 7:14 AM · Restricted Project

Jun 13 2021

mdchen updated the summary of D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.
Jun 13 2021, 11:11 PM · Restricted Project
mdchen updated the diff for D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.

Added a test case.

Jun 13 2021, 11:10 PM · Restricted Project

Jun 11 2021

mdchen added reviewers for D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses: fhahn, reames, nikic.
Jun 11 2021, 1:24 PM · Restricted Project
mdchen updated the summary of D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.
Jun 11 2021, 1:24 PM · Restricted Project
mdchen requested review of D104148: [LoopUtils] Fix incorrect RT check bounds for loop-invariant mem accesses.
Jun 11 2021, 1:17 PM · Restricted Project

Jun 2 2021

mdchen added a comment to D102759: [AArch64ISelDAGToDAG] Supplement cases for ORRWrs/ORRXrs when calculating usefulbits.

LGTM, but please wait for a couple of days for experts in this area to review: )

Jun 2 2021, 12:52 AM · Restricted Project

Jun 1 2021

mdchen added a comment to D99481: [InstCombine] Fix miscompile on GEP+load to icmp fold (PR45210).

@lebedev.ri

It fails even if i bump those limits to 0.1M iterations.
This is clearly an infinite combine cycle.

If that's the case, isn't it more reasonable to replace the fatal_error with assert so that only developers sense that?

Jun 1 2021, 11:48 PM · Restricted Project

May 31 2021

mdchen updated subscribers of D99481: [InstCombine] Fix miscompile on GEP+load to icmp fold (PR45210).

Reduced .ll:

$ opt -instcombine -S -o - reduce.ll
LLVM ERROR: Instruction Combining seems stuck in an infinite loop after 100 iterations.
...
May 31 2021, 6:37 PM · Restricted Project

May 30 2021

mdchen committed rG71acce68daf4: [NFCI] Move DEBUG_TYPE definition below #includes (authored by mdchen).
[NFCI] Move DEBUG_TYPE definition below #includes
May 30 2021, 2:32 AM
mdchen closed D102594: [NFCI] Move DEBUG_TYPE definition below #include of headers.
May 30 2021, 2:32 AM · Restricted Project

May 19 2021

mdchen added inline comments to D102759: [AArch64ISelDAGToDAG] Supplement cases for ORRWrs/ORRXrs when calculating usefulbits.
May 19 2021, 4:23 AM · Restricted Project
mdchen added reviewers for D102759: [AArch64ISelDAGToDAG] Supplement cases for ORRWrs/ORRXrs when calculating usefulbits: paulwalker-arm, sdesmalen, eli.friedman.
May 19 2021, 4:13 AM · Restricted Project

May 18 2021

mdchen added a comment to D102594: [NFCI] Move DEBUG_TYPE definition below #include of headers.

lgtm. this seems fine to me, but presumably we would have a compile error if there was ever a conflict in practice with one of these files?

May 18 2021, 6:07 PM · Restricted Project

May 17 2021

mdchen added reviewers for D102594: [NFCI] Move DEBUG_TYPE definition below #include of headers: kparzysz, tejohnson.
May 17 2021, 3:18 AM · Restricted Project
mdchen added a reviewer for D102594: [NFCI] Move DEBUG_TYPE definition below #include of headers: jdoerfert.
May 17 2021, 3:13 AM · Restricted Project
mdchen updated the diff for D102594: [NFCI] Move DEBUG_TYPE definition below #include of headers.

Did a fully scan and modified more files that have the same issue.

May 17 2021, 3:11 AM · Restricted Project
mdchen added a comment to D102594: [NFCI] Move DEBUG_TYPE definition below #include of headers.
May 17 2021, 12:37 AM · Restricted Project

May 16 2021

mdchen requested review of D102594: [NFCI] Move DEBUG_TYPE definition below #include of headers.
May 16 2021, 11:55 PM · Restricted Project

Apr 21 2021

mdchen added a comment to rG748ae5281d4f: [IR][SVE] Add new llvm.experimental.stepvector intrinsic.

@david-arm Glad to know that. Thank you for the work!

Apr 21 2021, 12:48 AM
mdchen added a comment to rG748ae5281d4f: [IR][SVE] Add new llvm.experimental.stepvector intrinsic.

@david-arm Hi David, there's a tiny issue of the commit that the llvm.experimental.stepvector intrinsic is not well indexed in the changes to Langref.rst, and now it resides under llvm.experimental.vector.splice. I guess it's not intended and leave a message here FYI:)

Apr 21 2021, 12:34 AM

Jan 27 2021

mdchen committed rG00fcc0368731: [SCEV] Fix incorrect loop exit count analysis. (authored by mdchen).
[SCEV] Fix incorrect loop exit count analysis.
Jan 27 2021, 3:38 AM
mdchen closed D92367: [SCEV] Fix incorrect exit count calculated in error scope.
Jan 27 2021, 3:37 AM · Restricted Project

Jan 24 2021

mdchen added a comment to D92367: [SCEV] Fix incorrect exit count calculated in error scope.

ping

Jan 24 2021, 7:09 PM · Restricted Project

Jan 20 2021

mdchen updated the diff for D92367: [SCEV] Fix incorrect exit count calculated in error scope.
Jan 20 2021, 5:03 AM · Restricted Project
mdchen committed rG5d718374a68f: [SCEV] Add a test with wrong exit counts. (NFC) (authored by mdchen).
[SCEV] Add a test with wrong exit counts. (NFC)
Jan 20 2021, 5:00 AM
mdchen closed D94657: [SCEV] Add test for exit count analysis.
Jan 20 2021, 5:00 AM · Restricted Project

Jan 19 2021

mdchen added a comment to D94657: [SCEV] Add test for exit count analysis.

@mkazantsev Could you commit this for me, thanks!
My commit access application has been approved so I'll commit by myself:)

Jan 19 2021, 3:02 AM · Restricted Project

Jan 14 2021

mdchen added inline comments to D93764: [LoopUnswitch] Implement first version of partial unswitching..
Jan 14 2021, 7:20 PM · Restricted Project
mdchen added inline comments to D92367: [SCEV] Fix incorrect exit count calculated in error scope.
Jan 14 2021, 5:25 PM · Restricted Project
mdchen requested review of D94657: [SCEV] Add test for exit count analysis.
Jan 14 2021, 12:34 AM · Restricted Project

Dec 17 2020

mdchen added a comment to D92367: [SCEV] Fix incorrect exit count calculated in error scope.

ping

Dec 17 2020, 10:52 PM · Restricted Project

Dec 8 2020

mdchen added inline comments to D92367: [SCEV] Fix incorrect exit count calculated in error scope.
Dec 8 2020, 10:08 PM · Restricted Project

Dec 7 2020

mdchen updated the diff for D92367: [SCEV] Fix incorrect exit count calculated in error scope.
Dec 7 2020, 1:10 AM · Restricted Project

Dec 5 2020

mdchen added inline comments to D92367: [SCEV] Fix incorrect exit count calculated in error scope.
Dec 5 2020, 8:18 PM · Restricted Project

Dec 1 2020

mdchen updated the diff for D92367: [SCEV] Fix incorrect exit count calculated in error scope.

Add a test case.

Dec 1 2020, 5:37 AM · Restricted Project
mdchen added a comment to D92367: [SCEV] Fix incorrect exit count calculated in error scope.

@lebedev.ri Thanks, will add a test. Besides, the bug fixed in ea7ab5a42cd4 seems to have the same root cause.

Dec 1 2020, 1:06 AM · Restricted Project
mdchen requested review of D92367: [SCEV] Fix incorrect exit count calculated in error scope.
Dec 1 2020, 12:40 AM · Restricted Project

Nov 26 2020

mdchen added a comment to D71673: [InstCombine] Improve infinite loop detection.

@kuhar @lebedev.ri I'm lucky to have a test case which requires exactly 1001 times iteration thus aborts. And would it be better just break out rather than report a fatal error?

Nov 26 2020, 4:32 AM · Restricted Project

Nov 22 2020

mdchen added a comment to D87879: [LoopInterchange] Add dominance check to guarantee output dependency order.

Actually, could we get similar problems for dependencies other than output, eg if we have a conditional load that is later used?

Yes, there're similar cases our team have found related to data dependence that may prohibit interchange. And I'd like to spend more time to see if there's a sophisticated solution.

Nov 22 2020, 6:44 PM · Restricted Project

Oct 12 2020

mdchen added a comment to D87879: [LoopInterchange] Add dominance check to guarantee output dependency order.

ping

Oct 12 2020, 7:13 PM · Restricted Project

Sep 21 2020

mdchen added a comment to D87879: [LoopInterchange] Add dominance check to guarantee output dependency order.

@fhahn Thanks for the suggestions, please take another look.

Sep 21 2020, 1:34 AM · Restricted Project
mdchen updated the diff for D87879: [LoopInterchange] Add dominance check to guarantee output dependency order.
Sep 21 2020, 1:27 AM · Restricted Project

Sep 17 2020

mdchen requested review of D87879: [LoopInterchange] Add dominance check to guarantee output dependency order.
Sep 17 2020, 9:09 PM · Restricted Project

Sep 2 2020

mdchen added inline comments to D86939: [LSR] Canonicalize a formula before insert it into the list.
Sep 2 2020, 8:06 PM · Restricted Project
mdchen added a comment to D86939: [LSR] Canonicalize a formula before insert it into the list.

add a test case

Sep 2 2020, 6:28 AM · Restricted Project
mdchen updated the diff for D86939: [LSR] Canonicalize a formula before insert it into the list.
Sep 2 2020, 6:28 AM · Restricted Project

Sep 1 2020

mdchen requested review of D86939: [LSR] Canonicalize a formula before insert it into the list.
Sep 1 2020, 7:15 AM · Restricted Project