Page MenuHomePhabricator

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

hkmatsumoto (Hirochika Matsumoto)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 11 2021, 6:12 AM (101 w, 6 d)

Recent Activity

Jun 2 2022

hkmatsumoto accepted D126783: [NFC] clang-format InstructionSimplify.cpp.

LGTM!

Jun 2 2022, 7:30 AM · Restricted Project, Restricted Project

Apr 25 2022

hkmatsumoto planned changes to D122913: [InstCombine] Simplify PHI node whose type and type of its cond differ.

Sorry, currently I don't have the bandwidth to push this forward due to the university assignments. If someone's interested in taking this over, you can do so.

Apr 25 2022, 8:58 PM · Restricted Project, Restricted Project

Apr 4 2022

hkmatsumoto committed rG447a4485c566: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0 (authored by hkmatsumoto).
[InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0
Apr 4 2022, 7:25 AM · Restricted Project, Restricted Project
hkmatsumoto closed D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0.
Apr 4 2022, 7:25 AM · Restricted Project, Restricted Project
hkmatsumoto retitled D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0 from [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N != 0 to [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0.
Apr 4 2022, 7:22 AM · Restricted Project, Restricted Project
hkmatsumoto retitled D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0 from [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0 to [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N != 0.
Apr 4 2022, 7:21 AM · Restricted Project, Restricted Project

Apr 3 2022

hkmatsumoto updated the diff for D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0.

Sync with main branch

Apr 3 2022, 6:14 AM · Restricted Project, Restricted Project
hkmatsumoto committed rGf138a9964bd2: Reapply "[InstSimplify][NFC] Add baseline tests for folds of icmp with ctpop" (authored by hkmatsumoto).
Reapply "[InstSimplify][NFC] Add baseline tests for folds of icmp with ctpop"
Apr 3 2022, 6:07 AM · Restricted Project, Restricted Project

Apr 2 2022

hkmatsumoto added a comment to D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0.

I pre-committed tests but immediately reverted as I noticed I forgot to rerun update_test_checks.py to make them baseline tests.
Let me take some time to confirm that the revert commit (rGf65c78a0949023bb0f3051cdaea7758e48420978) made CI pass.

Apr 2 2022, 10:40 AM · Restricted Project, Restricted Project
hkmatsumoto added a reverting change for rGb48abeea44ac: [InstSimplify][NFC] Add baseline tests for folds of icmp with ctpop: rGf65c78a09490: Revert "[InstSimplify][NFC] Add baseline tests for folds of icmp with ctpop".
Apr 2 2022, 10:31 AM · Restricted Project, Restricted Project
hkmatsumoto committed rGf65c78a09490: Revert "[InstSimplify][NFC] Add baseline tests for folds of icmp with ctpop" (authored by hkmatsumoto).
Revert "[InstSimplify][NFC] Add baseline tests for folds of icmp with ctpop"
Apr 2 2022, 10:31 AM · Restricted Project, Restricted Project
hkmatsumoto committed rGb48abeea44ac: [InstSimplify][NFC] Add baseline tests for folds of icmp with ctpop (authored by hkmatsumoto).
[InstSimplify][NFC] Add baseline tests for folds of icmp with ctpop
Apr 2 2022, 10:22 AM · Restricted Project, Restricted Project
hkmatsumoto updated the diff for D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0.

Update negative tests

Apr 2 2022, 9:46 AM · Restricted Project, Restricted Project

Apr 1 2022

hkmatsumoto updated the diff for D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0.

Address code reviews

Apr 1 2022, 10:06 AM · Restricted Project, Restricted Project
hkmatsumoto planned changes to D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0.

Oops, sorry I actually got the email but was hidden under a bunch of others.
Let me quickly address some of your reviews, and address all of them tomorrow morning.

Apr 1 2022, 9:55 AM · Restricted Project, Restricted Project
hkmatsumoto updated the summary of D122913: [InstCombine] Simplify PHI node whose type and type of its cond differ.
Apr 1 2022, 8:55 AM · Restricted Project, Restricted Project
hkmatsumoto added inline comments to D122913: [InstCombine] Simplify PHI node whose type and type of its cond differ.
Apr 1 2022, 8:53 AM · Restricted Project, Restricted Project
hkmatsumoto requested review of D122913: [InstCombine] Simplify PHI node whose type and type of its cond differ.
Apr 1 2022, 8:43 AM · Restricted Project, Restricted Project

Mar 31 2022

hkmatsumoto retitled D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0 from [InstCombine] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0 to [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0.
Mar 31 2022, 8:16 AM · Restricted Project, Restricted Project
hkmatsumoto updated the diff for D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0.
  • Move change and its test to InstSimplify
Mar 31 2022, 8:13 AM · Restricted Project, Restricted Project

Mar 30 2022

hkmatsumoto added a reviewer for D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0: spatel.
Mar 30 2022, 12:21 PM · Restricted Project, Restricted Project
hkmatsumoto added a comment to D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0.

Proof (This is first time writing proof in English, so sorry for any inconveniences)
Suppose X: i32

  1. For 0 < N <= 32
    • ctpop(X) == N --> X > 0.
    • Hence (ctpop(X) == N) || (X != 0) --> X > 0 || X != 0.
    • Intuitively X > 0 || X != 0 --> X != 0.
  2. For 32 < N (This case is already optimized anyway)
    • ctpop(X) == N is always false, because of the semantics of ctpop().
    • Hence (ctpop(X) == N) || (X != 0) --> false || X != 0 --> X != 0.
Mar 30 2022, 12:16 PM · Restricted Project, Restricted Project
hkmatsumoto requested review of D122757: [InstSimplify] Fold (ctpop(X) == N) || (X != 0) into X != 0 where N > 0.
Mar 30 2022, 12:10 PM · Restricted Project, Restricted Project

Mar 29 2022

hkmatsumoto added a comment to D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.

@spatel Since I don't have commit access, can you land this patch?
Please use "Hirochika Matsumoto <git@hkmatsumoto.com>" as my identity.

Mar 29 2022, 7:17 AM · Restricted Project, Restricted Project
hkmatsumoto updated the diff for D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.

Create ctpop(X) > 1 instead of ctpop(X) >= 2

Mar 29 2022, 7:12 AM · Restricted Project, Restricted Project
hkmatsumoto added inline comments to D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.
Mar 29 2022, 7:11 AM · Restricted Project, Restricted Project
hkmatsumoto updated the diff for D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.

Sync with main branch

Mar 29 2022, 3:39 AM · Restricted Project, Restricted Project

Mar 26 2022

hkmatsumoto added a comment to D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.

A few changes for tests suggested inline.

There might be some generalization of ctpop analysis that we can make as a follow-up patch.
For example, I was looking at a "wrong predicate" combination and noticed that we miss possible optimizations like this:
https://alive2.llvm.org/ce/z/RRk_d9

Mar 26 2022, 11:10 AM · Restricted Project, Restricted Project
hkmatsumoto added inline comments to D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.
Mar 26 2022, 11:06 AM · Restricted Project, Restricted Project
hkmatsumoto updated the diff for D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.

Reflect code reviews

  • Move all added tests to ispow2.ll from icmp-or.ll since now that they contain tests for "and" operand
Mar 26 2022, 11:04 AM · Restricted Project, Restricted Project

Mar 23 2022

hkmatsumoto added inline comments to D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.
Mar 23 2022, 1:18 PM · Restricted Project, Restricted Project
hkmatsumoto updated the diff for D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.

Reflect code reviews

Mar 23 2022, 12:07 PM · Restricted Project, Restricted Project

Mar 21 2022

hkmatsumoto added a comment to D121627: [IROutliner][NFC] Fix typo in doc of findOrCreatePHIInBlock.

Since I don't have commit access, can you land this patch for me?

Mar 21 2022, 8:09 AM · Restricted Project, Restricted Project

Mar 20 2022

hkmatsumoto updated the diff for D121627: [IROutliner][NFC] Fix typo in doc of findOrCreatePHIInBlock.

Remove trailing space as well

Mar 20 2022, 7:55 AM · Restricted Project, Restricted Project
hkmatsumoto added a comment to D121627: [IROutliner][NFC] Fix typo in doc of findOrCreatePHIInBlock.

Ping

Mar 20 2022, 7:51 AM · Restricted Project, Restricted Project
hkmatsumoto added a reviewer for D121627: [IROutliner][NFC] Fix typo in doc of findOrCreatePHIInBlock: AndrewLitteken.
Mar 20 2022, 7:51 AM · Restricted Project, Restricted Project
hkmatsumoto added inline comments to D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.
Mar 20 2022, 2:11 AM · Restricted Project, Restricted Project
hkmatsumoto updated the diff for D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.

Address code review, removing "but this could reduce" from comment

Mar 20 2022, 2:08 AM · Restricted Project, Restricted Project
hkmatsumoto added inline comments to D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.
Mar 20 2022, 1:25 AM · Restricted Project, Restricted Project
hkmatsumoto updated the diff for D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.

Address code reviews

Mar 20 2022, 1:19 AM · Restricted Project, Restricted Project

Mar 19 2022

hkmatsumoto updated subscribers of D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.
Mar 19 2022, 1:17 PM · Restricted Project, Restricted Project
hkmatsumoto requested review of D122077: [InstCombine] Fold (ctpop(X) == 1) | (X == 0) into ctpop(X) < 2.
Mar 19 2022, 1:16 PM · Restricted Project, Restricted Project

Mar 14 2022

hkmatsumoto requested review of D121627: [IROutliner][NFC] Fix typo in doc of findOrCreatePHIInBlock.
Mar 14 2022, 11:00 AM · Restricted Project, Restricted Project

Jan 4 2022

hkmatsumoto updated hkmatsumoto.
Jan 4 2022, 2:32 AM
hkmatsumoto updated hkmatsumoto.
Jan 4 2022, 2:32 AM