Page MenuHomePhabricator

inouehrs (Hiroshi Inoue)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 16 2017, 11:05 AM (135 w, 4 d)

Recent Activity

Jun 25 2019

inouehrs committed rG78edad1bf18e: [NFC] fix trivial typos in documents (authored by inouehrs).
[NFC] fix trivial typos in documents
Jun 25 2019, 12:25 AM
inouehrs committed rL364278: [NFC] fix trivial typos in documents.
[NFC] fix trivial typos in documents
Jun 25 2019, 12:24 AM

May 13 2019

inouehrs added a comment to D40554: [PowerPC] Fix bugs in sign-/zero-extension elimination.

@amyk I see. Please let me know you need some help.

May 13 2019, 9:59 AM · Restricted Project

Apr 9 2019

inouehrs committed rG30d3c58b811c: [PowerPC] fix trivial typos in comment, NFC (authored by inouehrs).
[PowerPC] fix trivial typos in comment, NFC
Apr 9 2019, 1:39 AM
inouehrs committed rL357981: [PowerPC] fix trivial typos in comment, NFC.
[PowerPC] fix trivial typos in comment, NFC
Apr 9 2019, 1:38 AM

Feb 5 2019

inouehrs committed rG02a2bb2f5465: [NFC] fix trivial typos in comments (authored by inouehrs).
[NFC] fix trivial typos in comments
Feb 5 2019, 12:32 AM
inouehrs committed rL353147: [NFC] fix trivial typos in comments.
[NFC] fix trivial typos in comments
Feb 5 2019, 12:31 AM

Jan 29 2019

inouehrs committed rL352602: [NFC] fix trivial typos in comments.
[NFC] fix trivial typos in comments
Jan 29 2019, 9:26 PM

Jan 8 2019

inouehrs committed rL350690: [NFC] fix trivial typos in comments.
[NFC] fix trivial typos in comments
Jan 8 2019, 9:16 PM

Dec 29 2018

inouehrs abandoned D33715: [PPC] exploit rotate-left-then-mask-insert instructions for bitfield insert.

BitPermutationSelector has been enhanced to generate better code for bitfield insert. So we do not need to specially handle bitfield insert anymore.
https://reviews.llvm.org/D49076

Dec 29 2018, 8:17 PM

Dec 28 2018

inouehrs committed rL350118: [PowerPC] handle ISD:TRUNCATE in BitPermutationSelector.
[PowerPC] handle ISD:TRUNCATE in BitPermutationSelector
Dec 28 2018, 12:04 AM
inouehrs closed D49076: [PowerPC] handle ISD:TRUNCATE in BitPermutationSelector.
Dec 28 2018, 12:04 AM

Dec 27 2018

inouehrs updated the diff for D49076: [PowerPC] handle ISD:TRUNCATE in BitPermutationSelector.
Dec 27 2018, 9:52 PM

Dec 24 2018

inouehrs accepted D56041: [PowerPC] Fix a bug when optimizing conditional branch in PPCPreEmitPeephole pass.

LGTM.
Thank you for finding the problem. I do not remember my intention on checking SeenUse here.

Dec 24 2018, 11:53 PM

Dec 14 2018

inouehrs added inline comments to D54783: [PowerPC] suboptimal vec_abs for some cases on P9.
Dec 14 2018, 12:47 AM

Nov 6 2018

inouehrs added a comment to rL344150: [CodeGenCXX] Treat 'this' as noalias in constructors.

@AntonBikineev How about GCC Compile Farm? https://cfarm.tetaneutral.net/
Although I have never used it, the GCC Compile Farm provides access to powerpc machines.
I am sorry for the late reply.

Nov 6 2018, 5:16 AM

Oct 17 2018

inouehrs updated the summary of D49076: [PowerPC] handle ISD:TRUNCATE in BitPermutationSelector.
Oct 17 2018, 12:39 AM

Oct 16 2018

inouehrs updated the diff for D49076: [PowerPC] handle ISD:TRUNCATE in BitPermutationSelector.
Oct 16 2018, 11:00 PM

Oct 15 2018

inouehrs added a comment to rL344150: [CodeGenCXX] Treat 'this' as noalias in constructors.

@AntonBikineev When I revoke this patch on my machine, the problem is gone.
I somewhat digged into the problem, although I still cannot catch the true reason.

  • The problem is caused in the constructor of __shared_ptr called from std::_Construct. The call chain for the _Construct is std::__uninitialized_construct_buf, std::__stable_sort.
  • When I disabled EarlyCSE in the __shared_ptr constructor, the problem does not happen.

If a constructor is called from std::Construct, may this pointer potentially alias with other memory references?

Oct 15 2018, 6:54 AM

Oct 12 2018

inouehrs added a comment to rL344150: [CodeGenCXX] Treat 'this' as noalias in constructors.

@AntonBikineev It seems that this patch is causing failures in a ppc64 buildbot http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/ . Do you have any idea on the reason of the problem by looking at the errors?

Oct 12 2018, 11:50 AM
inouehrs committed rL344347: [PowerPC] avoid masking already-zero bits in BitPermutationSelector.
[PowerPC] avoid masking already-zero bits in BitPermutationSelector
Oct 12 2018, 7:04 AM
inouehrs closed D48025: [PowerPC] avoid masking already-zero bits in BitPermutationSelector.
Oct 12 2018, 7:04 AM

Oct 10 2018

inouehrs updated the diff for D48025: [PowerPC] avoid masking already-zero bits in BitPermutationSelector.

gentle ping

Oct 10 2018, 7:06 AM

Sep 29 2018

inouehrs abandoned D46101: [PowerPC] vectorize Sum of Absolute Difference.

@RKSimon Other colleagues in IBM are working on this and hopefully they will submit a patch separately. So I abandone this.
Thank you so much for your comments.

Sep 29 2018, 9:17 AM

Sep 27 2018

inouehrs committed rL343297: [CodeGen] fix broken successor probability in MBB dump.
[CodeGen] fix broken successor probability in MBB dump
Sep 27 2018, 10:29 PM
inouehrs closed D52605: [CodeGen] avoid broken successor probability in MBB dump.
Sep 27 2018, 10:29 PM
inouehrs updated the summary of D52605: [CodeGen] avoid broken successor probability in MBB dump.
Sep 27 2018, 5:02 AM
inouehrs created D52605: [CodeGen] avoid broken successor probability in MBB dump.
Sep 27 2018, 5:02 AM

Sep 26 2018

inouehrs committed rL343100: [PowerPC] optimize conditional branch on CRSET/CRUNSET.
[PowerPC] optimize conditional branch on CRSET/CRUNSET
Sep 26 2018, 5:34 AM
inouehrs closed D52345: [PowerPC] optimize conditional branch on CRSET/CRUNSET.
Sep 26 2018, 5:34 AM

Sep 25 2018

inouehrs added inline comments to D52345: [PowerPC] optimize conditional branch on CRSET/CRUNSET.
Sep 25 2018, 8:11 PM
inouehrs added inline comments to D52467: [PowerPC] [NFC] Refactor code for printing register operands.
Sep 25 2018, 8:11 PM
inouehrs added inline comments to D52467: [PowerPC] [NFC] Refactor code for printing register operands.
Sep 25 2018, 7:15 AM

Sep 24 2018

inouehrs added inline comments to D52345: [PowerPC] optimize conditional branch on CRSET/CRUNSET.
Sep 24 2018, 8:49 PM
inouehrs added a comment to D52345: [PowerPC] optimize conditional branch on CRSET/CRUNSET.

I'm just curious, is there something that runs after this pass that will clean up unreachable blocks if any became unreachable? For example, if MBB1 is the only predecessor of MBB2 and MBB2 is removed as a successor to MBB1, will something remove MBB2 afterwards.

Actually, no pass can eliminate unreachable block from this optimization. So I added a simple unrechable block elimination and modify a testcase for this.

Sep 24 2018, 10:12 AM
inouehrs updated the diff for D52345: [PowerPC] optimize conditional branch on CRSET/CRUNSET.
Sep 24 2018, 10:10 AM
inouehrs updated the diff for D52345: [PowerPC] optimize conditional branch on CRSET/CRUNSET.
Sep 24 2018, 10:09 AM

Sep 21 2018

inouehrs updated the diff for D52345: [PowerPC] optimize conditional branch on CRSET/CRUNSET.

add -verify-machineinstrs options in unit tests

Sep 21 2018, 2:56 AM
inouehrs created D52345: [PowerPC] optimize conditional branch on CRSET/CRUNSET.
Sep 21 2018, 2:45 AM

Sep 7 2018

inouehrs added a comment to D48025: [PowerPC] avoid masking already-zero bits in BitPermutationSelector.

@hfinkel do you have any further suggestions?

Sep 7 2018, 6:23 AM
inouehrs updated the diff for D40554: [PowerPC] Fix bugs in sign-/zero-extension elimination.
  • rebased to the latest source (fix conflicts and update unit tests)
Sep 7 2018, 6:11 AM · Restricted Project

Aug 31 2018

inouehrs accepted D51353: [PowerPC] Optimize compares fed by ANDISo.

LGTM with nitpicking.

Aug 31 2018, 5:12 AM
inouehrs accepted D44897: [PowerPC] Do not emit record-form rotates when record-form andi/andis suffices.

LGTM

Aug 31 2018, 5:02 AM

Aug 29 2018

inouehrs added a comment to D51403: [PowerPC] Combine ADD to ADDZE.

Does this code pattern frequently happen?

Aug 29 2018, 12:58 AM

Aug 28 2018

inouehrs updated the diff for D48025: [PowerPC] avoid masking already-zero bits in BitPermutationSelector.

rebased to the latest revision

Aug 28 2018, 8:42 AM
inouehrs added a comment to D44897: [PowerPC] Do not emit record-form rotates when record-form andi/andis suffices.

This patch increases the number of record-form rotates we emit by more than 70%.

Do you mean reducing the record-form rotates by 70%? If so, it is great!

Aug 28 2018, 12:12 AM

Aug 21 2018

inouehrs committed rC340386: [AST] correct the behavior of -fvisibility-inlines-hidden option (don't make….
[AST] correct the behavior of -fvisibility-inlines-hidden option (don't make…
Aug 21 2018, 10:44 PM
inouehrs committed rL340386: [AST] correct the behavior of -fvisibility-inlines-hidden option (don't make….
[AST] correct the behavior of -fvisibility-inlines-hidden option (don't make…
Aug 21 2018, 10:44 PM
inouehrs closed D50968: [AST] make a static local variable in a fuction hidden by -fvisibility-inlines-hidden visible.
Aug 21 2018, 10:44 PM
inouehrs added a comment to rC340247: [analyzer] [NFC] Split up RetainSummaryManager from RetainCountChecker - try #2.

I added a missing dependency in CMakeFiles for ARCMigrate to fix build break in build bot (http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/)
https://reviews.llvm.org/rC340271

Aug 21 2018, 4:46 AM
inouehrs committed rC340271: Add missing library dependency to fix build break after rC340247.
Add missing library dependency to fix build break after rC340247
Aug 21 2018, 4:42 AM
inouehrs committed rL340271: Add missing library dependency to fix build break after rC340247.
Add missing library dependency to fix build break after rC340247
Aug 21 2018, 4:42 AM
inouehrs added inline comments to D50968: [AST] make a static local variable in a fuction hidden by -fvisibility-inlines-hidden visible.
Aug 21 2018, 4:03 AM
inouehrs added inline comments to D50968: [AST] make a static local variable in a fuction hidden by -fvisibility-inlines-hidden visible.
Aug 21 2018, 1:37 AM
inouehrs updated the diff for D50968: [AST] make a static local variable in a fuction hidden by -fvisibility-inlines-hidden visible.
  • check the explicit visibility attribute before changing the visibility to default
  • add more tests
Aug 21 2018, 1:32 AM

Aug 20 2018

inouehrs retitled D50968: [AST] make a static local variable in a fuction hidden by -fvisibility-inlines-hidden visible from [AST] make a static local variable in a hidden inlined fuction visible to [AST] make a static local variable in a fuction hidden by -fvisibility-inlines-hidden visible.
Aug 20 2018, 9:58 AM
inouehrs added a comment to D50968: [AST] make a static local variable in a fuction hidden by -fvisibility-inlines-hidden visible.

GCC option document mentions explicitly that local static variables should NOT be affected by -fvisibility-inlines-hidden.

Oh, thanks! I have not found this document.

Aug 20 2018, 9:47 AM
inouehrs updated the summary of D50968: [AST] make a static local variable in a fuction hidden by -fvisibility-inlines-hidden visible.
Aug 20 2018, 5:54 AM
inouehrs created D50968: [AST] make a static local variable in a fuction hidden by -fvisibility-inlines-hidden visible.
Aug 20 2018, 5:46 AM

Aug 8 2018

inouehrs added a comment to D48025: [PowerPC] avoid masking already-zero bits in BitPermutationSelector.

gentle ping

Aug 8 2018, 7:42 AM
inouehrs added inline comments to D49879: [PowerPC] Generate Power9 extswsli extend sign and shift immediate instruction.
Aug 8 2018, 7:40 AM

Aug 3 2018

inouehrs added a comment to D49981: [InstSimplify] fold extracting from std::pair (2/2).

Just one: test/Transforms/NewGVN/pair_jumpthread.ll can now be un-XFAIL'ed i think?

I wonder if this still can be merged into 7.0, given that it is the second half of D48828/rL338485, which made it into the 7.0.
@hans ?

Sounds good to me.

Aug 3 2018, 10:17 AM

Aug 2 2018

inouehrs committed rL338817: [InstSimplify] fold extracting from std::pair (2/2).
[InstSimplify] fold extracting from std::pair (2/2)
Aug 2 2018, 10:40 PM
inouehrs closed D49981: [InstSimplify] fold extracting from std::pair (2/2).
Aug 2 2018, 10:40 PM
inouehrs added a comment to D50004: [PowerPC] Emit xscpsgndp instead of xxlor when copying floating point scalar registers for P9.

Does the comment about normalization only pertain to ISA 2.07?

As I browse the document, neither ISA 2.07 nor 3.0 mention about normalization by xscpsgndp.
P8 UM says xscpsgndp, xvcpsgndp and fmr are normalizing instruction. P9 UM say nothing.
Since fmr is also a normalizing instruction, I feel it is acceptable to use xscpsgndp for coping register.

Aug 2 2018, 8:56 AM
inouehrs added a comment to D49981: [InstSimplify] fold extracting from std::pair (2/2).

@spatel @lebedev.ri Do you have any further comments before committing this?

Aug 2 2018, 2:26 AM
inouehrs updated the diff for D49981: [InstSimplify] fold extracting from std::pair (2/2).
Aug 2 2018, 2:24 AM

Jul 31 2018

inouehrs abandoned D44626: [InstCombine] Fold (A OR B) AND B code sequence over Phi node .

I submitted new patches for instsimplify to catch this opportunity.
https://reviews.llvm.org/D48828
https://reviews.llvm.org/D49981

Jul 31 2018, 10:10 PM
inouehrs committed rL338485: [InstSimplify] fold extracting from std::pair (1/2).
[InstSimplify] fold extracting from std::pair (1/2)
Jul 31 2018, 9:41 PM
inouehrs closed D48828: [InstSimplify] fold extracting from std::pair (1/2).
Jul 31 2018, 9:41 PM
inouehrs added a comment to D50004: [PowerPC] Emit xscpsgndp instead of xxlor when copying floating point scalar registers for P9.

XSCPSGNDP has longer latency (6 cycles) than XXLOR (2 cycles) on POWER8 while it has higher throughput with the same latency on POWER9. So XXLOR is preferable for pre-P9.

Jul 31 2018, 11:18 AM
inouehrs added a comment to D48828: [InstSimplify] fold extracting from std::pair (1/2).

Please add/adjust the tests with baseline checks as a preliminary step; we don't want to lose those in case the code change gets reverted.

I have updated baseline checks.

Jul 31 2018, 12:57 AM
inouehrs updated the diff for D48828: [InstSimplify] fold extracting from std::pair (1/2).
Jul 31 2018, 12:44 AM

Jul 30 2018

inouehrs committed rL338351: [InstSimplify] tests for D48828, D49981: fold extraction from std::pair.
[InstSimplify] tests for D48828, D49981: fold extraction from std::pair
Jul 30 2018, 10:29 PM
inouehrs committed rL338350: [InstSimplify] tests for D48828, D49981: fold extraction from std::pair.
[InstSimplify] tests for D48828, D49981: fold extraction from std::pair
Jul 30 2018, 10:11 PM
inouehrs updated the diff for D49981: [InstSimplify] fold extracting from std::pair (2/2).
Jul 30 2018, 5:20 AM
inouehrs created D49981: [InstSimplify] fold extracting from std::pair (2/2).
Jul 30 2018, 5:18 AM
inouehrs added inline comments to D48828: [InstSimplify] fold extracting from std::pair (1/2).
Jul 30 2018, 4:59 AM
inouehrs updated the diff for D48828: [InstSimplify] fold extracting from std::pair (1/2).
  • Separate the patch into two; this one is the first of the two.
  • Add test cases with vector data type.
Jul 30 2018, 4:56 AM

Jul 28 2018

inouehrs added inline comments to D49958: [MISC]Fix wrong usage of std::equal().
Jul 28 2018, 10:59 PM
inouehrs added a comment to D48828: [InstSimplify] fold extracting from std::pair (1/2).

Yes, I'd also like to see the tests get committed now with baseline CHECKs.

I have committed unit tests in https://reviews.llvm.org/rL338107

Jul 28 2018, 6:21 AM
inouehrs updated the diff for D48828: [InstSimplify] fold extracting from std::pair (1/2).
Jul 28 2018, 6:10 AM

Jul 27 2018

inouehrs committed rL338107: [InstSimplify] tests for D48828: fold extraction from std::pair.
[InstSimplify] tests for D48828: fold extraction from std::pair
Jul 27 2018, 12:21 AM

Jul 26 2018

inouehrs updated the diff for D48828: [InstSimplify] fold extracting from std::pair (1/2).

addressed the comments from @lebedev.ri

Jul 26 2018, 7:08 AM

Jul 23 2018

inouehrs added inline comments to D48828: [InstSimplify] fold extracting from std::pair (1/2).
Jul 23 2018, 6:25 AM
inouehrs updated the diff for D48828: [InstSimplify] fold extracting from std::pair (1/2).
Jul 23 2018, 6:24 AM
inouehrs updated the diff for D48828: [InstSimplify] fold extracting from std::pair (1/2).
Jul 23 2018, 6:21 AM
inouehrs added inline comments to D48828: [InstSimplify] fold extracting from std::pair (1/2).
Jul 23 2018, 6:09 AM
inouehrs updated the diff for D48828: [InstSimplify] fold extracting from std::pair (1/2).
  • fix a bug with an integer larger than 64 bit
  • add more test cases
  • remove an unnecessary check
Jul 23 2018, 6:05 AM

Jul 19 2018

inouehrs added a comment to D48828: [InstSimplify] fold extracting from std::pair (1/2).

So i guess my question is, what in instcombine does this fold?
Is it very general, and this is only one of the cases it handles?
If not, maybe it should be refactored into instsimplify.

For the shl->or->lshr case, instcombine first identifies or is redundant and eliminates it. Then shl shr pair is eliminated. I think it is not general compared to my code.
For the shl->or->and case, instcombine does more general but more costly analysis in SimplifyDemandedInstructionBits. The same analysis seems too costly, but I expand the scope of my code for non-boolean cases.

Jul 19 2018, 5:47 AM
inouehrs updated the diff for D48828: [InstSimplify] fold extracting from std::pair (1/2).
Jul 19 2018, 5:22 AM

Jul 17 2018

inouehrs committed rL337351: [NFC] fix trivial typos in comments.
[NFC] fix trivial typos in comments
Jul 17 2018, 11:09 PM
inouehrs added a comment to D48828: [InstSimplify] fold extracting from std::pair (1/2).

@lebedev.ri @spatel
Thak you so much for the advices. I avoid mentioning about C++ in the comment.

Jul 17 2018, 5:51 AM
inouehrs updated the diff for D48828: [InstSimplify] fold extracting from std::pair (1/2).

update comments and test cases

Jul 17 2018, 5:41 AM

Jul 16 2018

inouehrs added inline comments to D48828: [InstSimplify] fold extracting from std::pair (1/2).
Jul 16 2018, 7:03 AM
inouehrs updated the diff for D48828: [InstSimplify] fold extracting from std::pair (1/2).
  • add more test cases
  • make the algorithm more general using m_c_Or instead of m_Or
Jul 16 2018, 7:01 AM

Jul 9 2018

inouehrs added a parent revision for D49076: [PowerPC] handle ISD:TRUNCATE in BitPermutationSelector: D48025: [PowerPC] avoid masking already-zero bits in BitPermutationSelector.
Jul 9 2018, 7:05 AM
inouehrs added a child revision for D48025: [PowerPC] avoid masking already-zero bits in BitPermutationSelector: D49076: [PowerPC] handle ISD:TRUNCATE in BitPermutationSelector.
Jul 9 2018, 7:05 AM
inouehrs created D49076: [PowerPC] handle ISD:TRUNCATE in BitPermutationSelector.
Jul 9 2018, 7:05 AM
inouehrs updated the diff for D48025: [PowerPC] avoid masking already-zero bits in BitPermutationSelector.
  • rebase to the latest
  • make the test cases more strict
Jul 9 2018, 6:41 AM