Page MenuHomePhabricator
Feed Advanced Search

Jul 2 2018

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

gentle ping

Jul 2 2018, 6:13 AM
inouehrs created D48828: [InstSimplify] fold extracting from std::pair (1/2).
Jul 2 2018, 6:03 AM

Jun 19 2018

inouehrs committed rL335096: [NFC] fix trivial typos in comments.
[NFC] fix trivial typos in comments
Jun 19 2018, 10:34 PM

Jun 18 2018

inouehrs added inline comments to D48025: [PowerPC] avoid masking already-zero bits in BitPermutationSelector.
Jun 18 2018, 7:09 AM
inouehrs updated the diff for D48025: [PowerPC] avoid masking already-zero bits in BitPermutationSelector.
Jun 18 2018, 7:03 AM

Jun 14 2018

inouehrs committed rL334799: [NFC] fix trivial typos in documents.
[NFC] fix trivial typos in documents
Jun 14 2018, 10:22 PM

Jun 13 2018

inouehrs committed rL334687: [NFC] fix trivial typos in comments.
[NFC] fix trivial typos in comments
Jun 13 2018, 10:46 PM
inouehrs committed rL334583: [PowerPC] fix trivial typos in comment, NFC.
[PowerPC] fix trivial typos in comment, NFC
Jun 13 2018, 2:05 AM
inouehrs committed rL334579: [PowerPC] avoid verification failure due to PowerPC VSX Swap Removal pass.
[PowerPC] avoid verification failure due to PowerPC VSX Swap Removal pass
Jun 13 2018, 1:29 AM

Jun 11 2018

inouehrs created D48025: [PowerPC] avoid masking already-zero bits in BitPermutationSelector.
Jun 11 2018, 7:11 AM

Jun 7 2018

inouehrs committed rL334263: [NFC] fix formatting.
[NFC] fix formatting
Jun 7 2018, 9:06 PM
inouehrs committed rL334195: [PowerPC] avoid unprofitable Repl32 flag in BitPermutationSelector.
[PowerPC] avoid unprofitable Repl32 flag in BitPermutationSelector
Jun 7 2018, 6:25 AM
inouehrs closed D47867: [PowerPC] avoid unprofitable Repl32 flag in BitPermutationSelector.
Jun 7 2018, 6:25 AM
inouehrs committed rL334191: [PowerPC] fix trivial typos in comment, NFC.
[PowerPC] fix trivial typos in comment, NFC
Jun 7 2018, 5:53 AM
inouehrs added inline comments to D47867: [PowerPC] avoid unprofitable Repl32 flag in BitPermutationSelector.
Jun 7 2018, 5:48 AM
inouehrs updated the diff for D47867: [PowerPC] avoid unprofitable Repl32 flag in BitPermutationSelector.
Jun 7 2018, 5:47 AM
inouehrs retitled D47867: [PowerPC] avoid unprofitable Repl32 flag in BitPermutationSelector from [PowerPC] avoid redundant Repl32 flag in BitPermutationSelector to [PowerPC] avoid unprofitable Repl32 flag in BitPermutationSelector.
Jun 7 2018, 3:38 AM
inouehrs added inline comments to D42590: [PowerPC] Try to move the stack pointer update instruction later in the prologue and earlier in the epilogue (Version 2).
Jun 7 2018, 1:45 AM · Restricted Project

Jun 6 2018

inouehrs created D47867: [PowerPC] avoid unprofitable Repl32 flag in BitPermutationSelector.
Jun 6 2018, 11:07 PM

Jun 5 2018

inouehrs committed rL334011: [PowerPC] reduce rotate in BitPermutationSelector.
[PowerPC] reduce rotate in BitPermutationSelector
Jun 5 2018, 5:02 AM
inouehrs closed D47765: [PowerPC] reduce rotate in BitPermutationSelector.
Jun 5 2018, 5:02 AM
inouehrs created D47765: [PowerPC] reduce rotate in BitPermutationSelector.
Jun 5 2018, 2:04 AM

Jun 1 2018

inouehrs committed rL333754: [NFC] Zero initialize local variables.
[NFC] Zero initialize local variables
Jun 1 2018, 7:27 AM

May 29 2018

inouehrs committed rL333502: [PowerPC] fix broken JIT-compiled code with tail call optimization.
[PowerPC] fix broken JIT-compiled code with tail call optimization
May 29 2018, 9:52 PM
inouehrs closed D47456: [PowerPC] fix broken JIT-compiled code with tail call optimization.
May 29 2018, 9:52 PM

May 28 2018

inouehrs created D47456: [PowerPC] fix broken JIT-compiled code with tail call optimization.
May 28 2018, 11:40 PM

May 16 2018

inouehrs committed rL332575: [SROA] pr37267: fix assertion failure in integer widening.
[SROA] pr37267: fix assertion failure in integer widening
May 16 2018, 11:36 PM
inouehrs closed D46750: [SROA] pr37267: fix assertion failure while integer widening.
May 16 2018, 11:36 PM
inouehrs added a comment to D46750: [SROA] pr37267: fix assertion failure while integer widening.

Your testcase doesn't actually crash on trunk, unlike the testcase from the bug.

I fixed the test case. Thank you for pointing this out.

May 16 2018, 3:53 AM
inouehrs updated the diff for D46750: [SROA] pr37267: fix assertion failure while integer widening.
  • comments updated
May 16 2018, 3:48 AM
inouehrs updated the diff for D46750: [SROA] pr37267: fix assertion failure while integer widening.
  • added a test case
May 16 2018, 2:28 AM

May 15 2018

inouehrs added inline comments to D46750: [SROA] pr37267: fix assertion failure while integer widening.
May 15 2018, 12:28 AM
inouehrs updated the diff for D46750: [SROA] pr37267: fix assertion failure while integer widening.
  • modified test case
May 15 2018, 12:10 AM

May 14 2018

inouehrs added inline comments to D39536: [PowerPC] Eliminate redundant register copys after register allocation.
May 14 2018, 1:20 AM
inouehrs updated the diff for D39536: [PowerPC] Eliminate redundant register copys after register allocation.
May 14 2018, 1:16 AM

May 11 2018

inouehrs created D46750: [SROA] pr37267: fix assertion failure while integer widening.
May 11 2018, 5:36 AM

Apr 28 2018

inouehrs added a comment to D44626: [InstCombine] Fold (A OR B) AND B code sequence over Phi node .

I think what this patch really wants to ask/do is: "Does this binop simplify with the incoming value of the phi to 1 of the binop operands? If yes, substitute that value into the phi."

Note that this patch intend to optimize only a simple but important case on std::pair to help jump threading. Other optimizers are already able to do more generic optimization for this type of code sequence, but it's too late to help jump threading.

Apr 28 2018, 9:37 AM
inouehrs updated the diff for D44626: [InstCombine] Fold (A OR B) AND B code sequence over Phi node .
Apr 28 2018, 9:24 AM

Apr 26 2018

inouehrs added inline comments to D39536: [PowerPC] Eliminate redundant register copys after register allocation.
Apr 26 2018, 3:48 AM
inouehrs updated the diff for D39536: [PowerPC] Eliminate redundant register copys after register allocation.
  • addressed comments from @syzaara
  • rebased to the lates tcode and fix a failing test case
Apr 26 2018, 2:08 AM

Apr 25 2018

inouehrs added a comment to D44626: [InstCombine] Fold (A OR B) AND B code sequence over Phi node .

@efriedma Do you have further comments of suggestions? Thanks!

Apr 25 2018, 7:54 PM
inouehrs created D46101: [PowerPC] vectorize Sum of Absolute Difference.
Apr 25 2018, 7:52 PM

Apr 21 2018

inouehrs committed rL330497: [PowerPC] fix incorrect vectorization of abs() on POWER9.
[PowerPC] fix incorrect vectorization of abs() on POWER9
Apr 21 2018, 2:35 AM
inouehrs closed D45522: [PowerPC] fix incorrect vectorization of abs() on POWER9.
Apr 21 2018, 2:35 AM

Apr 20 2018

inouehrs updated the diff for D45522: [PowerPC] fix incorrect vectorization of abs() on POWER9.
  • refactoring based on the suggestion from @nemanjai
Apr 20 2018, 1:39 AM

Apr 19 2018

inouehrs updated the diff for D44626: [InstCombine] Fold (A OR B) AND B code sequence over Phi node .
  • addressed comments from Eli.
Apr 19 2018, 11:10 PM

Apr 18 2018

inouehrs added inline comments to D45522: [PowerPC] fix incorrect vectorization of abs() on POWER9.
Apr 18 2018, 10:53 AM
inouehrs updated the diff for D45522: [PowerPC] fix incorrect vectorization of abs() on POWER9.

addressed comments from @nemanjai

Apr 18 2018, 10:52 AM
inouehrs added inline comments to D45522: [PowerPC] fix incorrect vectorization of abs() on POWER9.
Apr 18 2018, 12:39 AM

Apr 14 2018

inouehrs committed rL330083: [NFC] fix trivial typos in document and comments.
[NFC] fix trivial typos in document and comments
Apr 14 2018, 2:02 AM

Apr 13 2018

inouehrs updated the diff for D40554: [PowerPC] Fix bugs in sign-/zero-extension elimination.
  • rebased to the latest tree and ran tests again
  • fix formatting
Apr 13 2018, 9:58 AM · Restricted Project
inouehrs committed rL330006: [NFC] fix trivial typos in comments.
[NFC] fix trivial typos in comments
Apr 13 2018, 4:42 AM

Apr 12 2018

inouehrs added inline comments to D42590: [PowerPC] Try to move the stack pointer update instruction later in the prologue and earlier in the epilogue (Version 2).
Apr 12 2018, 10:19 PM · Restricted Project
inouehrs updated the diff for D44626: [InstCombine] Fold (A OR B) AND B code sequence over Phi node .
  • simplify code
  • rebase to the latest code
Apr 12 2018, 10:27 AM
inouehrs added inline comments to D44897: [PowerPC] Do not emit record-form rotates when record-form andi/andis suffices.
Apr 12 2018, 10:21 AM
inouehrs added inline comments to D45553: [Power9]Legalize and emit code for truncate and convert Quad-Precision to Double-Word.
Apr 12 2018, 8:23 AM
inouehrs updated the diff for D31647: [JumpThreading] Propagate branch hint metadata in more cases.
  • rebase to the latest
  • code cleanup
Apr 12 2018, 12:48 AM

Apr 11 2018

inouehrs updated the diff for D33715: [PPC] exploit rotate-left-then-mask-insert instructions for bitfield insert.
  • fix code format (e.g. too long lines)
  • rebased to the latest
Apr 11 2018, 11:11 PM
inouehrs committed rL329878: [NFC] fix trivial typos in documents and comments.
[NFC] fix trivial typos in documents and comments
Apr 11 2018, 10:56 PM
inouehrs updated the diff for D45522: [PowerPC] fix incorrect vectorization of abs() on POWER9.
  • fix for halfword and byte cases
Apr 11 2018, 8:52 AM
inouehrs created D45522: [PowerPC] fix incorrect vectorization of abs() on POWER9.
Apr 11 2018, 8:33 AM

Apr 8 2018

inouehrs committed rL329546: [NFC] fix trivial typos in comments and error message.
[NFC] fix trivial typos in comments and error message
Apr 8 2018, 9:41 PM

Apr 5 2018

inouehrs committed rL329377: [PowerPC] allow D-form VSX load/store when accessing FrameIndex without offset .
[PowerPC] allow D-form VSX load/store when accessing FrameIndex without offset
Apr 5 2018, 10:44 PM
inouehrs closed D45079: [PowerPC] allow D-form VSX load/store when accessing FrameIndex without offset .
Apr 5 2018, 10:44 PM
inouehrs committed rL329299: [PowerPC] fix assertion failure due to missing instruction in P9InstrResources..
[PowerPC] fix assertion failure due to missing instruction in P9InstrResources.
Apr 5 2018, 8:30 AM

Apr 4 2018

inouehrs updated the diff for D45079: [PowerPC] allow D-form VSX load/store when accessing FrameIndex without offset .
  • make unit tests more strict
Apr 4 2018, 11:26 PM
inouehrs added a comment to D45079: [PowerPC] allow D-form VSX load/store when accessing FrameIndex without offset .

Even the offset to the stack object is zero, the offset to stack pointer ($x1) is not zero. So we do not have li 4, 0 before stxvx, but we have something like addi 4, 1, 32.

Apr 4 2018, 11:06 PM

Apr 3 2018

inouehrs added inline comments to D45079: [PowerPC] allow D-form VSX load/store when accessing FrameIndex without offset .
Apr 3 2018, 10:31 PM
inouehrs updated the diff for D45079: [PowerPC] allow D-form VSX load/store when accessing FrameIndex without offset .
Apr 3 2018, 10:30 PM
inouehrs committed rL329064: [PowerPC] reorder entries in P9InstrResources.td in alphabetical order; NFC.
[PowerPC] reorder entries in P9InstrResources.td in alphabetical order; NFC
Apr 3 2018, 5:53 AM

Apr 2 2018

inouehrs committed rL328969: [PowerPC] fix assertion failure due to missing instruction in P9InstrResources..
[PowerPC] fix assertion failure due to missing instruction in P9InstrResources.
Apr 2 2018, 5:23 AM

Mar 30 2018

inouehrs retitled D45079: [PowerPC] allow D-form VSX load/store when accessing FrameIndex without offset from [PowerPC] allow D-form load/store when accessing FrameIndex without offset to [PowerPC] allow D-form VSX load/store when accessing FrameIndex without offset .
Mar 30 2018, 1:37 AM
inouehrs created D45079: [PowerPC] allow D-form VSX load/store when accessing FrameIndex without offset .
Mar 30 2018, 1:34 AM

Mar 26 2018

inouehrs updated the diff for D31647: [JumpThreading] Propagate branch hint metadata in more cases.
  • rebased to the latest tree and tested again
  • minor touch up
Mar 26 2018, 5:46 AM
inouehrs updated the diff for D33715: [PPC] exploit rotate-left-then-mask-insert instructions for bitfield insert.

− rebased onto the latest code base

  • minor touch up
Mar 26 2018, 4:57 AM

Mar 23 2018

inouehrs added inline comments to D44626: [InstCombine] Fold (A OR B) AND B code sequence over Phi node .
Mar 23 2018, 5:30 AM
inouehrs added a comment to D44626: [InstCombine] Fold (A OR B) AND B code sequence over Phi node .

@efriedma Thank you so much for the advise! I added check before creating a new phi node to confirm that the AND instruction will be eliminated later and so not to increase the code size.
Also, I added test case; I forgot to include this in the first submission.

Mar 23 2018, 5:04 AM
inouehrs updated the diff for D44626: [InstCombine] Fold (A OR B) AND B code sequence over Phi node .
  • Now this optimization creates a new phi node only if the AND instruction can be eliminated not to increase the code size.
  • Added test case.
Mar 23 2018, 4:55 AM

Mar 19 2018

inouehrs added a comment to D44626: [InstCombine] Fold (A OR B) AND B code sequence over Phi node .

This patch improved the performance of protobuf (https://github.com/google/protobuf), which suffers from the problem of jump threading for std::pair<int, bool>.

with this patch
----------------------------------------------------------------------
Benchmark                               Time           CPU Iterations
----------------------------------------------------------------------
google_message2_parse_new          761764 ns     761558 ns        842   105.904MB/s
google_message2_parse_reuse        204430 ns     204397 ns       3422   394.587MB/s
google_message2_parse_newarena     398431 ns     398367 ns       1758   202.457MB/s
google_message2_serialize          116088 ns     116080 ns       6029     694.8MB/s
Mar 19 2018, 7:48 AM
inouehrs created D44626: [InstCombine] Fold (A OR B) AND B code sequence over Phi node .
Mar 19 2018, 7:46 AM

Mar 7 2018

inouehrs added a comment to D44147: [InstCombine] Fold add/sub over phi node.

Thanks for the comments!
After disabling optimization for loop induction variables, optimization still happens more than 10k during the bootstrap. However, I cannot see visible change in code size and performance with benchmarks.
So, I will revisit this when I find a realistic case for which it matters.

Mar 7 2018, 1:32 AM

Mar 6 2018

inouehrs added a comment to D44147: [InstCombine] Fold add/sub over phi node.

So far, I disabled this optimization for Hexagon since this patch affects Hexagon loop idiom recognition (test/CodeGen/Hexagon/loop-idiom/pmpy-mod.ll).
Should I add a flag in backend to control this optimization rather than explicitly checking the triple in this method?

Mar 6 2018, 6:25 AM
inouehrs created D44147: [InstCombine] Fold add/sub over phi node.
Mar 6 2018, 6:21 AM

Mar 4 2018

inouehrs added inline comments to D43929: [RewriteStatepoints] Fix stale parse points.
Mar 4 2018, 8:07 PM

Feb 21 2018

inouehrs committed rC325753: [NFC] fix trivial typos in comments.
[NFC] fix trivial typos in comments
Feb 21 2018, 11:54 PM
inouehrs committed rL325753: [NFC] fix trivial typos in comments.
[NFC] fix trivial typos in comments
Feb 21 2018, 11:54 PM
inouehrs committed rL325752: [NFC] fix trivial typos in comments.
[NFC] fix trivial typos in comments
Feb 21 2018, 11:50 PM
inouehrs abandoned D43565: [SimplifyCFG] Expanding scope for hoisting common instructions after branch .

@efriedma I agree. I confirmed that GVNHoist can optimize my motivating examples. So I abandon this.
I hope GVNHoist will become default on soon. Thanks!

Feb 21 2018, 8:58 PM
inouehrs created D43565: [SimplifyCFG] Expanding scope for hoisting common instructions after branch .
Feb 21 2018, 3:34 AM

Feb 8 2018

inouehrs added inline comments to D40554: [PowerPC] Fix bugs in sign-/zero-extension elimination.
Feb 8 2018, 6:50 AM · Restricted Project
inouehrs updated the diff for D40554: [PowerPC] Fix bugs in sign-/zero-extension elimination.
  • changed the return value of isSignOrZeroExtended to std::pair<bool, bool>
Feb 8 2018, 6:46 AM · Restricted Project

Feb 7 2018

inouehrs updated the diff for D33715: [PPC] exploit rotate-left-then-mask-insert instructions for bitfield insert.
  • rebased to the latest code
Feb 7 2018, 6:01 AM
inouehrs added a comment to D40298: [PowerPC] Merge register copies.

Can you please re-evaluate the applicability and functionality of this patch in light of related patches that recently landed. For example, does https://reviews.llvm.org/rL323991 affect this patch?

COPY source forwarding (rL323991) does not affect this optimization; they seem mostly orthogonal.
The number of reg copy merge optimizations happened are mostly unchanged by enabling/disabling the COPY source forwarding (26433 with COPY source forwarding and 26173 without COPY source forwarding during the bootstrap test).

Feb 7 2018, 5:16 AM
inouehrs updated the diff for D40298: [PowerPC] Merge register copies.
  • rebased to ToT
  • included the recent update in D39536
Feb 7 2018, 5:13 AM
inouehrs added inline comments to D39536: [PowerPC] Eliminate redundant register copys after register allocation.
Feb 7 2018, 12:59 AM
inouehrs added a comment to D39536: [PowerPC] Eliminate redundant register copys after register allocation.

Now that https://reviews.llvm.org/rL323991 has actually landed, can you re-evaluate whether this patch is still applicable and if so, whether it needs any changes. Also, have you looked into Hal's suggestion?

As long as I tested, COPY source forwarding (rL323991) does not affect this optimization. The number of optimizations happen in this pass are mostly unchanged by enabling/disabling the COPY source forwarding (11730 with COPY source forwarding and 11242 without COPY source forwarding during the bootstrap test).

Feb 7 2018, 12:57 AM
inouehrs updated the diff for D39536: [PowerPC] Eliminate redundant register copys after register allocation.
  • check the reserved register using getReservedRegs instead of own check.
  • rebased to the latest code
Feb 7 2018, 12:53 AM

Feb 6 2018

inouehrs added inline comments to D40554: [PowerPC] Fix bugs in sign-/zero-extension elimination.
Feb 6 2018, 7:34 AM · Restricted Project
inouehrs updated the diff for D40554: [PowerPC] Fix bugs in sign-/zero-extension elimination.
Feb 6 2018, 7:29 AM · Restricted Project
inouehrs updated the diff for D40554: [PowerPC] Fix bugs in sign-/zero-extension elimination.

addressed comments

Feb 6 2018, 7:24 AM · Restricted Project