yamauchi (Hiroshi Yamauchi)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 28 2017, 5:32 PM (64 w, 3 d)

Recent Activity

Tue, Sep 18

yamauchi committed rL342495: [PGO][CHR] Add opt remarks..
[PGO][CHR] Add opt remarks.
Tue, Sep 18, 9:51 AM
yamauchi closed D52056: [PGO][CHR] Add opt remarks..
Tue, Sep 18, 9:51 AM

Mon, Sep 17

yamauchi updated the diff for D52056: [PGO][CHR] Add opt remarks..

Comments addressed.

Mon, Sep 17, 11:40 AM

Thu, Sep 13

yamauchi created D52056: [PGO][CHR] Add opt remarks..
Thu, Sep 13, 1:21 PM

Fri, Sep 7

yamauchi accepted D51811: [PGO] Fix some style issue of ControlHeightReduction.

Thanks!

Fri, Sep 7, 1:07 PM
yamauchi committed rL341692: [PGO][CHR] Build/warning fix.
[PGO][CHR] Build/warning fix
Fri, Sep 7, 11:46 AM
yamauchi committed rL341681: [PGO][CHR] Small cleanup..
[PGO][CHR] Small cleanup.
Fri, Sep 7, 11:02 AM
yamauchi closed D51740: [PGO][CHR] Small cleanup..
Fri, Sep 7, 11:02 AM
yamauchi added inline comments to D51740: [PGO][CHR] Small cleanup..
Fri, Sep 7, 10:00 AM
yamauchi added inline comments to D51740: [PGO][CHR] Small cleanup..
Fri, Sep 7, 9:54 AM

Thu, Sep 6

yamauchi created D51740: [PGO][CHR] Small cleanup..
Thu, Sep 6, 11:07 AM

Wed, Sep 5

yamauchi added inline comments to D50591: [PGO] Control Height Reduction.
Wed, Sep 5, 8:42 AM

Tue, Sep 4

yamauchi committed rL341412: Fix a memory leak after rL341386..
Fix a memory leak after rL341386.
Tue, Sep 4, 2:29 PM
yamauchi closed D51658: Fix a memory leak after rL341386..
Tue, Sep 4, 2:29 PM
yamauchi updated the diff for D51658: Fix a memory leak after rL341386..

Rebased.

Tue, Sep 4, 2:21 PM
yamauchi created D51658: Fix a memory leak after rL341386..
Tue, Sep 4, 2:12 PM
yamauchi committed rL341391: Fix build failures after rL341386..
Fix build failures after rL341386.
Tue, Sep 4, 11:14 AM
yamauchi closed D51647: Fix build failures after rL341386..
Tue, Sep 4, 11:14 AM
yamauchi created D51647: Fix build failures after rL341386..
Tue, Sep 4, 11:08 AM
yamauchi committed rL341386: [PGO] Control Height Reduction.
[PGO] Control Height Reduction
Tue, Sep 4, 10:20 AM
yamauchi closed D50591: [PGO] Control Height Reduction.
Tue, Sep 4, 10:20 AM
yamauchi updated the diff for D50591: [PGO] Control Height Reduction.

Rebased.

Tue, Sep 4, 10:19 AM
yamauchi added inline comments to D50591: [PGO] Control Height Reduction.
Tue, Sep 4, 10:01 AM

Wed, Aug 29

yamauchi added inline comments to D50591: [PGO] Control Height Reduction.
Wed, Aug 29, 3:18 PM
yamauchi updated the diff for D50591: [PGO] Control Height Reduction.

Updated.

Wed, Aug 29, 3:18 PM

Mon, Aug 27

yamauchi added inline comments to D50591: [PGO] Control Height Reduction.
Mon, Aug 27, 4:05 PM
yamauchi updated the diff for D50591: [PGO] Control Height Reduction.

Addressed comments.

Mon, Aug 27, 4:04 PM
yamauchi updated the diff for D50591: [PGO] Control Height Reduction.

Added one more metric to the stats.

Mon, Aug 27, 1:52 PM

Fri, Aug 24

yamauchi added inline comments to D50591: [PGO] Control Height Reduction.
Fri, Aug 24, 10:16 AM
yamauchi updated the diff for D50591: [PGO] Control Height Reduction.

Addressed comments.

Fri, Aug 24, 10:16 AM

Aug 22 2018

yamauchi added inline comments to D50591: [PGO] Control Height Reduction.
Aug 22 2018, 8:05 AM
yamauchi updated the diff for D50591: [PGO] Control Height Reduction.

Addressed comments.

Aug 22 2018, 8:05 AM

Aug 17 2018

yamauchi added inline comments to D50591: [PGO] Control Height Reduction.
Aug 17 2018, 4:17 PM
yamauchi updated the diff for D50591: [PGO] Control Height Reduction.

Addressed more comments.

Aug 17 2018, 4:17 PM
yamauchi added inline comments to D50591: [PGO] Control Height Reduction.
Aug 17 2018, 12:54 PM
yamauchi updated the diff for D50591: [PGO] Control Height Reduction.

Updated the .cpp file.

Aug 17 2018, 12:53 PM

Aug 15 2018

yamauchi added inline comments to D50591: [PGO] Control Height Reduction.
Aug 15 2018, 2:04 PM
yamauchi updated the diff for D50591: [PGO] Control Height Reduction.

Updated the test file.

Aug 15 2018, 2:04 PM

Aug 10 2018

yamauchi created D50591: [PGO] Control Height Reduction.
Aug 10 2018, 4:51 PM

Jul 11 2018

yamauchi added inline comments to D49179: [InstCombine] Fold x & (-1 >> y) == x to x u<= (-1 >> y) .
Jul 11 2018, 3:35 PM

May 22 2018

yamauchi added inline comments to D41574: [Transforms] Adding a WeakReassociate pass.
May 22 2018, 10:58 AM

May 9 2018

yamauchi added inline comments to D46595: [InstCombine] Apply SimplifyUsingDistributiveLaws to associative/commutative cases..
May 9 2018, 10:49 AM
yamauchi added a comment to D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

Here's a comparison with D45842 for the 4th test @bit-check-combine-256 (which I understand is a long one, I'll try to see if I can reduce this.)

May 9 2018, 10:08 AM

May 8 2018

yamauchi added a comment to D46595: [InstCombine] Apply SimplifyUsingDistributiveLaws to associative/commutative cases..

After -instcombine with D46336

May 8 2018, 12:16 PM
yamauchi added a comment to D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

D46595 is a simpler but limited version of this. Note the test @bit-check-combine-256() doesn't get folded there as simple as here. But it doesn't modify the run loop and is less complex.

May 8 2018, 12:04 PM
yamauchi added a comment to D46595: [InstCombine] Apply SimplifyUsingDistributiveLaws to associative/commutative cases..

This is a simpler, but limited version of D46336. Note the test @bit-check-combine-256() doesn't get folded as simple as in D46336.

May 8 2018, 12:01 PM
yamauchi created D46595: [InstCombine] Apply SimplifyUsingDistributiveLaws to associative/commutative cases..
May 8 2018, 11:59 AM
yamauchi added a comment to D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

I'd guess something in instcombine does not use commutative matchers.
(I did not analyse this at all yet, just 'saving' it as one comment)
https://rise4fun.com/Alive/PsC

May 8 2018, 10:13 AM

May 7 2018

yamauchi added a comment to D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

After -instcombine -reassociate -instcombine -reassociate -instcombine with D45842

May 7 2018, 4:05 PM
yamauchi added a comment to D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

Having looked through D45842, i find this differential rather more complex.
Maybe instcombine shouldn't be doing this..

It would be interesting to know which of these testcase *aren't* handled by D45842.

May 7 2018, 3:49 PM
yamauchi added a comment to D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

Thanks for finding that thread...somehow I find it difficult to search llvm-dev history...

May 7 2018, 3:46 PM
yamauchi added a comment to D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

I think part of this has already landed with:
rL331311

What's 'this'? I am not clear how rL331311 (partially?) helps with the bitcheck combining this patch is aiming for. Do you mean a similar approach could be taken?

I was assuming from the name of this and similar tests:
"bit-check-combine1"
that 'this' was looking for any-bit-set / any-bit-clear / all-bits-set / all-bits-clear. Maybe the patterns you're looking for don't look like what I am matching though? If I run -instcombine on the first test, it is already substantially reduced...and at that point, it just looks like a problem for -reassociation?

define i1 @bit-check-combine1(i32 %a, i32 %b) {
entry:
  %0 = and i32 %b, 8
  %1 = and i32 %b, 16
  %2 = and i32 %b, 32
  %3 = and i32 %a, 7   <--- we got lucky on this one and found the reduction
  %4 = or i32 %3, %0
  %5 = or i32 %4, %1    <--- reassociate the 'or' operands, so we can factor out the mask ops
  %6 = or i32 %5, %2
  %7 = icmp eq i32 %6, 0
  ret i1 %7
}
May 7 2018, 3:34 PM

May 3 2018

yamauchi added a comment to D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

Re: bloat, is the consensus that we just don't add to instcombine any more?

May 3 2018, 4:38 PM
yamauchi added a comment to D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

FWIW, a nice thing is that this patch doesn't need to recognize and combine some specific patterns (eg. bitchecks, FoldPHIArgOrIntoPHI (D44626) or and-or-lshr (D45986)) or use some reassociation/canonicalization rules/orders based on some specific patterns (eg. some binops that operate on the same value for bitchecks, a certain definition of “matching pair” like D45842 or the ranking in the reassociate pass) (and those orders might conflict among them).

May 3 2018, 3:12 PM
yamauchi added a comment to D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

I think part of this has already landed with:
rL331311

May 3 2018, 2:32 PM

May 2 2018

yamauchi added a comment to D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

I think part of this has already landed with:
rL331311

There are proposals trying to do reassociation in a more complete way outside of instcombine:
D45842 (this would catch the cases that I recently added to and-xor-or.ll)
D41574

This is a response to discussions on llvm-dev that instcombine is already trying to do too much. This patch goes against that idea.

May 2 2018, 3:55 PM
yamauchi updated the diff for D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

Rebased.

May 2 2018, 3:36 PM
yamauchi updated the diff for D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..

Used utils/update_test_checks.py for bit-check-combine.ll.

May 2 2018, 2:51 PM

May 1 2018

yamauchi created D46336: [InstCombine] Apply binary operator simplifications to associative/commutative cases..
May 1 2018, 3:54 PM

Mar 13 2018

yamauchi committed rL327450: Simplify more cases of logical ops of masked icmps..
Simplify more cases of logical ops of masked icmps.
Mar 13 2018, 2:17 PM
yamauchi closed D43835: Simplify more cases of logical ops of masked icmps..
Mar 13 2018, 2:17 PM
yamauchi updated the diff for D43835: Simplify more cases of logical ops of masked icmps..

Addressed comments.

Mar 13 2018, 12:50 PM
yamauchi added inline comments to D43835: Simplify more cases of logical ops of masked icmps..
Mar 13 2018, 11:17 AM
yamauchi updated the diff for D43835: Simplify more cases of logical ops of masked icmps..

Addressed comments.

Mar 13 2018, 11:16 AM

Mar 12 2018

yamauchi added inline comments to D43835: Simplify more cases of logical ops of masked icmps..
Mar 12 2018, 9:55 AM
yamauchi updated the diff for D43835: Simplify more cases of logical ops of masked icmps..

Addressed comments.

Mar 12 2018, 9:51 AM

Mar 9 2018

yamauchi added inline comments to D43835: Simplify more cases of logical ops of masked icmps..
Mar 9 2018, 5:38 PM
yamauchi added inline comments to D43835: Simplify more cases of logical ops of masked icmps..
Mar 9 2018, 10:37 AM
yamauchi updated the diff for D43835: Simplify more cases of logical ops of masked icmps..

Addressed comments.

Mar 9 2018, 8:55 AM
yamauchi added inline comments to D43835: Simplify more cases of logical ops of masked icmps..
Mar 9 2018, 8:55 AM

Mar 6 2018

yamauchi updated the diff for D43835: Simplify more cases of logical ops of masked icmps..

Addressed comments.

Mar 6 2018, 1:49 PM

Mar 1 2018

yamauchi updated the diff for D43835: Simplify more cases of logical ops of masked icmps..

Fixed bugs in the previous revision.

Mar 1 2018, 10:34 AM
yamauchi added a comment to D43835: Simplify more cases of logical ops of masked icmps..

Ok, ready for reviews.

Mar 1 2018, 10:34 AM

Feb 28 2018

yamauchi added a comment to D43835: Simplify more cases of logical ops of masked icmps..

I found a bug in the first revision. Please hold off reviews. Will update.

Feb 28 2018, 3:12 PM

Feb 27 2018

yamauchi created D43835: Simplify more cases of logical ops of masked icmps..
Feb 27 2018, 2:43 PM

Dec 12 2017

yamauchi added a comment to D40699: Split IndirectBr critical edges before PGO gen/use passes..

I think it will be an assert failure like before. Like said above, this patch isn't intended to handle that case.

Dec 12 2017, 12:02 PM
yamauchi committed rL320511: Split IndirectBr critical edges before PGO gen/use passes..
Split IndirectBr critical edges before PGO gen/use passes.
Dec 12 2017, 11:08 AM
yamauchi closed D40699: Split IndirectBr critical edges before PGO gen/use passes..
Dec 12 2017, 11:08 AM
yamauchi updated the diff for D40699: Split IndirectBr critical edges before PGO gen/use passes..

Rebased.

Dec 12 2017, 10:51 AM

Dec 11 2017

yamauchi added inline comments to D40699: Split IndirectBr critical edges before PGO gen/use passes..
Dec 11 2017, 2:53 PM
yamauchi updated the summary of D40699: Split IndirectBr critical edges before PGO gen/use passes..
Dec 11 2017, 2:52 PM
yamauchi updated the diff for D40699: Split IndirectBr critical edges before PGO gen/use passes..

Going back to Diff 125662.

Dec 11 2017, 2:50 PM
yamauchi added inline comments to D40699: Split IndirectBr critical edges before PGO gen/use passes..
Dec 11 2017, 10:47 AM

Dec 7 2017

yamauchi added inline comments to D40699: Split IndirectBr critical edges before PGO gen/use passes..
Dec 7 2017, 5:41 PM
yamauchi updated the diff for D40699: Split IndirectBr critical edges before PGO gen/use passes..

Detect indirectbr critical non-MST edges in CFGMST and if none, avoid iterating
over the edges in FuncPGOInstrumentation().

Dec 7 2017, 5:26 PM
yamauchi abandoned D38474: Add support for multiple prof metadata on instructions..
Dec 7 2017, 2:56 PM

Dec 6 2017

yamauchi updated the summary of D40699: Split IndirectBr critical edges before PGO gen/use passes..
Dec 6 2017, 4:49 PM
yamauchi updated the diff for D40699: Split IndirectBr critical edges before PGO gen/use passes..

Split only the IndirectBr critical edges that need to be split rather than
all. This avoids changing the indirectbr.ll test.

Dec 6 2017, 4:27 PM

Dec 5 2017

yamauchi updated the summary of D40699: Split IndirectBr critical edges before PGO gen/use passes..
Dec 5 2017, 6:06 PM
yamauchi updated the diff for D40699: Split IndirectBr critical edges before PGO gen/use passes..

Split indirectbr critical edges in the PGO gen/use passes.

Dec 5 2017, 6:05 PM

Dec 4 2017

yamauchi updated the summary of D40699: Split IndirectBr critical edges before PGO gen/use passes..
Dec 4 2017, 3:32 PM
yamauchi updated the summary of D40699: Split IndirectBr critical edges before PGO gen/use passes..
Dec 4 2017, 3:30 PM
yamauchi updated the diff for D40699: Split IndirectBr critical edges before PGO gen/use passes..

Rebased after D40750.

Dec 4 2017, 3:26 PM
yamauchi committed rL319689: Move splitIndirectCriticalEdges() to BasicBlockUtils.h..
Move splitIndirectCriticalEdges() to BasicBlockUtils.h.
Dec 4 2017, 12:36 PM
yamauchi closed D40750: Move splitIndirectCriticalEdges() to BasicBlockUtils.h..
Dec 4 2017, 12:36 PM
yamauchi added a comment to D40699: Split IndirectBr critical edges before PGO gen/use passes..

Created https://reviews.llvm.org/D40750 for the refactoring part.

Dec 4 2017, 10:45 AM
yamauchi added inline comments to D40699: Split IndirectBr critical edges before PGO gen/use passes..
Dec 4 2017, 10:44 AM

Dec 1 2017

yamauchi created D40750: Move splitIndirectCriticalEdges() to BasicBlockUtils.h..
Dec 1 2017, 1:15 PM
yamauchi added a comment to D40699: Split IndirectBr critical edges before PGO gen/use passes..

The PGO gen/use passes currently fail with an assert failure if there's a critical edge whose source is an IndirectBr instruction.

findIBRPredecessor will fail for blocks with multiple multiple indirectbr predecessors. And then you're back at square one, with an assertion failure.

Dec 1 2017, 11:38 AM

Nov 30 2017

yamauchi added a reviewer for D40699: Split IndirectBr critical edges before PGO gen/use passes.: xur.
Nov 30 2017, 6:15 PM