jtony (Tony Jiang)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 21 2016, 3:07 PM (59 w, 4 d)

Recent Activity

Mon, Dec 11

jtony committed rL320414: [PowerPC] Partially enable the ISEL expansion pass..
[PowerPC] Partially enable the ISEL expansion pass.
Mon, Dec 11, 12:43 PM
jtony closed D40497: [PowerPC] Partially enable the ISEL expansion pass. by committing rL320414: [PowerPC] Partially enable the ISEL expansion pass..
Mon, Dec 11, 12:43 PM

Wed, Dec 6

jtony added inline comments to D40855: [PowerPC] LSR tunings for PowerPC.
Wed, Dec 6, 8:15 AM
jtony added inline comments to D40855: [PowerPC] LSR tunings for PowerPC.
Wed, Dec 6, 8:14 AM

Mon, Dec 4

jtony added inline comments to D33715: [PPC] exploit rotate-left-then-mask-insert instructions for bitfield insert.
Mon, Dec 4, 1:27 PM
jtony added inline comments to D31772: [PowerPC] Add pass to expand extra memcpy calls.
Mon, Dec 4, 12:37 PM

Sat, Dec 2

jtony updated the diff for D40497: [PowerPC] Partially enable the ISEL expansion pass..

Address comments from Ecric and Nemanja.

Sat, Dec 2, 7:00 AM
jtony added a comment to D40497: [PowerPC] Partially enable the ISEL expansion pass..

How are we generating these isels if they're basically nops?

Sat, Dec 2, 6:56 AM

Tue, Nov 28

jtony added inline comments to D39376: [PowerPC] Add implementation for -msave-toc-indirect option - clang portion.
Tue, Nov 28, 11:48 AM
jtony added inline comments to D30431: [PowerPC] MachineSSA pass to reduce the number of CR-logical operations.
Tue, Nov 28, 11:39 AM
jtony added inline comments to D40497: [PowerPC] Partially enable the ISEL expansion pass..
Tue, Nov 28, 10:45 AM
jtony added inline comments to D40497: [PowerPC] Partially enable the ISEL expansion pass..
Tue, Nov 28, 6:58 AM

Mon, Nov 27

jtony added inline comments to D39536: [PowerPC] Eliminate redundant register copys after register allocation.
Mon, Nov 27, 1:01 PM
jtony added inline comments to D40477: Enable Partial Inlining by default.
Mon, Nov 27, 11:53 AM
jtony removed 1 blocking reviewer(s) for D40497: [PowerPC] Partially enable the ISEL expansion pass.: power-llvm-team.
Mon, Nov 27, 8:29 AM
jtony created D40497: [PowerPC] Partially enable the ISEL expansion pass..
Mon, Nov 27, 8:29 AM

Tue, Nov 21

jtony added inline comments to D40298: [PowerPC] Merge register copies.
Tue, Nov 21, 10:33 AM

Mon, Nov 20

jtony committed rL318661: [MachineCSE] Add new callback for is caller preserved or constant physregs.
[MachineCSE] Add new callback for is caller preserved or constant physregs
Mon, Nov 20, 8:55 AM
jtony closed D39173: [MachineCSE] Add new callback for is caller preserved or constant physregs. by committing rL318661: [MachineCSE] Add new callback for is caller preserved or constant physregs.
Mon, Nov 20, 8:55 AM
jtony committed rL318651: [PPC] Heuristic to choose between a X-Form VSX ld/st vs a X-Form FP ld/st..
[PPC] Heuristic to choose between a X-Form VSX ld/st vs a X-Form FP ld/st.
Mon, Nov 20, 6:39 AM
jtony closed D38486: [PPC] Implement the heuristic to choose between a X-Form VSX ld/st vs a X-Form FP ld/st. by committing rL318651: [PPC] Heuristic to choose between a X-Form VSX ld/st vs a X-Form FP ld/st..
Mon, Nov 20, 6:38 AM

Thu, Nov 16

jtony retitled D39173: [MachineCSE] Add new callback for is caller preserved or constant physregs. from [MachineCSE] Remove redudant TLS access instructions. to [MachineCSE] Add new callback for is caller preserved or constant physregs..
Thu, Nov 16, 10:18 AM

Oct 30 2017

jtony added a comment to D39163: [PPC CodeGen] Fix the bitreverse.i64 intrinsic..

For the Unexpected Failures: 29, do they still fail without your patch?

Oct 30 2017, 7:58 AM
jtony accepted D39163: [PPC CodeGen] Fix the bitreverse.i64 intrinsic..

LGTM.

Oct 30 2017, 7:54 AM

Oct 26 2017

jtony added a comment to D39163: [PPC CodeGen] Fix the bitreverse.i64 intrinsic..

@jtony I have renamed Extend Shift to Bytes0123 Bytes3012 ... because I think the new names are clearer.

32-bit __builtin_bitreverse needs a similar change and also I think there is a missing optimization:

def DWBytes0123 {

dag Word = (i32 (EXTRACT_SUBREG (RLDICL DWSwapInByte.Swap4, 32, 32), sub_32));

}

This could be msvsrld (lower doubleword) if Power ISA 3.0 is available. The original fix was my first revision and I did not expect it would take so much to time to fix a bug... I don't know much about .td but I think the`[IsISA3_0]` optimization and bitreverse32 deserve revisions of their own?

Oct 26 2017, 11:22 AM
jtony updated the diff for D38486: [PPC] Implement the heuristic to choose between a X-Form VSX ld/st vs a X-Form FP ld/st..

Address the comments from Nemanja.

Oct 26 2017, 10:06 AM

Oct 25 2017

jtony added inline comments to D39163: [PPC CodeGen] Fix the bitreverse.i64 intrinsic..
Oct 25 2017, 6:18 PM

Oct 23 2017

jtony added inline comments to D39173: [MachineCSE] Add new callback for is caller preserved or constant physregs..
Oct 23 2017, 2:07 PM
jtony updated the diff for D39173: [MachineCSE] Add new callback for is caller preserved or constant physregs..
Oct 23 2017, 2:07 PM

Oct 22 2017

jtony created D39173: [MachineCSE] Add new callback for is caller preserved or constant physregs..
Oct 22 2017, 6:30 PM

Oct 18 2017

jtony accepted D38705: [PPC CodeGen] Fix the bitreverse.i64 intrinsic..

This patch now LGTM.

Oct 18 2017, 8:34 AM
jtony added a comment to D38705: [PPC CodeGen] Fix the bitreverse.i64 intrinsic..

Added comment suggest by jtony.

The test can be updated to something like

for (int i = 0; i < NUM; ++i) {
  sum1 += ReverseBits32(i);
  sum2 += ReverseBits64(i);
}
for (int i = 0; i < NUM; ++i) {
  sum1 -= __builtin_bitreverse32(i);
  sum2 -= __builtin_bitreverse64(i);
}
return sum1 == 0 && sum2 == 0 ? 0 : 1;

But I use git and the document does not mention how to use arc diff to update a file that is in another repo (./projects/test-suite/)

% find . -name .git
./.git
./projects/libcxx/.git
./projects/test-suite/.git
./projects/compiler-rt/.git
./projects/libcxxabi/.git
./tools/clang/.git
./tools/clang/tools/extra/.git

Oct 18 2017, 8:32 AM
jtony added inline comments to D38962: [test-suite] Update bitreverse benchmark..
Oct 18 2017, 8:29 AM

Oct 16 2017

jtony added inline comments to D38705: [PPC CodeGen] Fix the bitreverse.i64 intrinsic..
Oct 16 2017, 12:28 PM

Oct 15 2017

jtony added a comment to D38705: [PPC CodeGen] Fix the bitreverse.i64 intrinsic..

This is my omission in the implementation. All the 1-bit, 2-bit, 4-bit and bytes are swapped, except the high word and low word is not swapped, which is the root cause for the problem. The reason why the test case : projects/test-suite/SingleSource/Benchmarks/Misc/revertBits.c didn't catch it was probably LLVM OPT optimizes ReverseBits64(__builtin_bitreverse64(i)) to just i, so it never tests the code I added (Note I retest it, it generates the same result with gcc at -O2 but generates wrong result without optimization). I also did some other functional testing on my own machine before committing, but I used the number 0x5555555555555555, which was not general enough, so it also didn't catch this subtle bug. I should have used a more general test case. I suggest modifying the test case in the Benchmark (https://reviews.llvm.org/D35188) to be stronger to catch this (like instead of add ReverseBits64(__builtin_bitreverse64) to sum, add ReverseBits64 and __builtin_bitreverse64 separately to the sum so LLVM OPT couldn't recognize it is a reversal of a reversal.

Oct 15 2017, 7:05 PM

Oct 12 2017

jtony added inline comments to D38486: [PPC] Implement the heuristic to choose between a X-Form VSX ld/st vs a X-Form FP ld/st..
Oct 12 2017, 1:42 PM
jtony updated the diff for D38486: [PPC] Implement the heuristic to choose between a X-Form VSX ld/st vs a X-Form FP ld/st..

Address comments from Nemanja.
(1) Abstract the common part code for handling D-Form and X-Form LD/ST heuristic into a function.
(2) Fix missing predicate guards (HasP8Vector, AddedComplexity=400) problem.

Oct 12 2017, 1:38 PM

Oct 2 2017

jtony added inline comments to D38486: [PPC] Implement the heuristic to choose between a X-Form VSX ld/st vs a X-Form FP ld/st..
Oct 2 2017, 6:33 PM
jtony created D38486: [PPC] Implement the heuristic to choose between a X-Form VSX ld/st vs a X-Form FP ld/st..
Oct 2 2017, 6:32 PM
jtony abandoned D38099: Fix crashes with -fprofile-use + new pass manager in queens.c from the testsuite (bugzilla bug 33776).

Thanks for your contribution.
Some notes:

  1. Can you please update the patch to include context (see the doc) ?
  2. Can you please add a test? I attached one to the PR.
  3. Can you please explain the rationale behind this fix? I'm afraid it's just papering over the problem rather than solving it.
Oct 2 2017, 6:10 PM

Sep 21 2017

jtony updated the summary of D38099: Fix crashes with -fprofile-use + new pass manager in queens.c from the testsuite (bugzilla bug 33776).
Sep 21 2017, 10:13 AM

Sep 20 2017

jtony created D38099: Fix crashes with -fprofile-use + new pass manager in queens.c from the testsuite (bugzilla bug 33776).
Sep 20 2017, 2:26 PM

Sep 19 2017

jtony committed rL313639: [PowerPC Peephole] Constants into a join add, use ADDI over LI/ADD..
[PowerPC Peephole] Constants into a join add, use ADDI over LI/ADD.
Sep 19 2017, 9:16 AM
jtony closed D36734: [PowerPC Peephole] Constants into a join add, use ADDI over LI/ADD. by committing rL313639: [PowerPC Peephole] Constants into a join add, use ADDI over LI/ADD..
Sep 19 2017, 9:16 AM
jtony closed D37851: [Power9] Add missing Power9 instructions..
Sep 19 2017, 9:10 AM
jtony committed rL313636: [Power9] Add missing Power9 instructions..
[Power9] Add missing Power9 instructions.
Sep 19 2017, 8:24 AM

Sep 18 2017

jtony updated the diff for D37851: [Power9] Add missing Power9 instructions..

Address all the comments from Nemanja.

Sep 18 2017, 2:50 PM
jtony added inline comments to D37851: [Power9] Add missing Power9 instructions..
Sep 18 2017, 2:25 PM

Sep 15 2017

jtony updated the diff for D37851: [Power9] Add missing Power9 instructions..

Delete the p9-instrs.txt file, since all the needed instructions in it have been implemented.

Sep 15 2017, 7:44 AM

Sep 14 2017

jtony created D37851: [Power9] Add missing Power9 instructions..
Sep 14 2017, 6:22 AM

Sep 7 2017

jtony updated the diff for D36734: [PowerPC Peephole] Constants into a join add, use ADDI over LI/ADD..

Address comments from Hiroshi and rebase on trunk.

Sep 7 2017, 4:34 PM
jtony added inline comments to D36734: [PowerPC Peephole] Constants into a join add, use ADDI over LI/ADD..
Sep 7 2017, 11:44 AM

Sep 5 2017

jtony committed rL312547: [PPC][NFC] Renaming things with 'xxinsert' moniker to 'vecinsert' to make it….
[PPC][NFC] Renaming things with 'xxinsert' moniker to 'vecinsert' to make it…
Sep 5 2017, 11:10 AM

Aug 30 2017

jtony updated the diff for D36734: [PowerPC Peephole] Constants into a join add, use ADDI over LI/ADD..

Refactor the implementation according to Nemanja's suggestion (get rid of the large lambda function replaceLiWithAddi, and inline replaceAddWithCopy)

Aug 30 2017, 6:25 AM

Aug 24 2017

jtony added inline comments to D36734: [PowerPC Peephole] Constants into a join add, use ADDI over LI/ADD..
Aug 24 2017, 12:29 PM
jtony updated the diff for D36734: [PowerPC Peephole] Constants into a join add, use ADDI over LI/ADD..

Address the comments from Nemanja.

Aug 24 2017, 12:29 PM

Aug 16 2017

jtony committed rL311010: Add bitreverse LNT benchmark..
Add bitreverse LNT benchmark.
Aug 16 2017, 8:09 AM
jtony closed D35188: Add bitreverse LNT benchmark. by committing rL311010: Add bitreverse LNT benchmark..
Aug 16 2017, 8:09 AM

Aug 15 2017

jtony created D36734: [PowerPC Peephole] Constants into a join add, use ADDI over LI/ADD..
Aug 15 2017, 6:26 AM

Aug 14 2017

jtony updated the diff for D35188: Add bitreverse LNT benchmark..

Address one more new comment from Hal (add check for compilers that don't support __has_builtin)

Aug 14 2017, 2:01 PM

Aug 13 2017

jtony updated the diff for D35188: Add bitreverse LNT benchmark..

Address comments from Hal Finkel.

Aug 13 2017, 6:20 PM

Jul 26 2017

jtony added inline comments to D35907: [StackColoring] Update AliasAnalysis information in stack coloring pass.
Jul 26 2017, 1:31 PM

Jul 24 2017

jtony added a comment to D35188: Add bitreverse LNT benchmark..

Kindly ping.

Jul 24 2017, 1:11 PM

Jul 11 2017

jtony committed rL307691: [PPC] Fix one test case regression for patch https://reviews.llvm.org/D34337..
[PPC] Fix one test case regression for patch https://reviews.llvm.org/D34337.
Jul 11 2017, 12:07 PM
jtony committed rL307672: [PPC] Fix two bugs in frame lowering..
[PPC] Fix two bugs in frame lowering.
Jul 11 2017, 9:42 AM
jtony closed D34337: [PPC] Fix two bugs in frame lowering. by committing rL307672: [PPC] Fix two bugs in frame lowering..
Jul 11 2017, 9:42 AM

Jul 10 2017

jtony added inline comments to D35188: Add bitreverse LNT benchmark..
Jul 10 2017, 1:16 PM
jtony updated the diff for D35188: Add bitreverse LNT benchmark..

(1) Also test builtin_bitreverse32 and builtin_bitreverse64.
(2) Add the missing newline at the end of the second printf.

Jul 10 2017, 1:16 PM
jtony committed rL307563: [PPC CodeGen] Expand the bitreverse.i64 intrinsic..
[PPC CodeGen] Expand the bitreverse.i64 intrinsic.
Jul 10 2017, 11:11 AM
jtony closed D34908: [PPC CodeGen] Expand the bitreverse.i64 intrinsic. by committing rL307563: [PPC CodeGen] Expand the bitreverse.i64 intrinsic..
Jul 10 2017, 11:11 AM
jtony updated the summary of D35188: Add bitreverse LNT benchmark..
Jul 10 2017, 6:48 AM

Jul 9 2017

jtony created D35188: Add bitreverse LNT benchmark..
Jul 9 2017, 4:18 PM
jtony updated the diff for D34337: [PPC] Fix two bugs in frame lowering..

Address comments from Hiroshi.

Jul 9 2017, 4:01 PM
jtony added inline comments to D35007: [PowerPC] Do not emit displacements for DQ-Form instructions that aren't multiples of 16.
Jul 9 2017, 6:15 AM

Jul 7 2017

jtony committed rL307413: [PPC CodeGen] Expand the bitreverse.i32 intrinsic..
[PPC CodeGen] Expand the bitreverse.i32 intrinsic.
Jul 7 2017, 9:42 AM
jtony closed D33572: [PPC CodeGen] Expand the bitreverse.i32 intrinsic. by committing rL307413: [PPC CodeGen] Expand the bitreverse.i32 intrinsic..
Jul 7 2017, 9:42 AM

Jul 6 2017

jtony added inline comments to D34337: [PPC] Fix two bugs in frame lowering..
Jul 6 2017, 12:58 PM
jtony updated the diff for D34337: [PPC] Fix two bugs in frame lowering..

(1) Refactor the messy red zone guard conditions to make it more readable.
(2) Differentiate the red zone behavior for DarwinABI and Non-DarwinABI (SVR4ABI).
(3) Address comments from Hal.

Jul 6 2017, 11:25 AM
jtony added inline comments to D35027: [PowerPC] Reduce register pressure by not materializing a constant just for use as an index register for X-Form loads/stores.
Jul 6 2017, 11:10 AM

Jul 5 2017

jtony committed rL307174: [Power9] Exploit vector extract with variable index..
[Power9] Exploit vector extract with variable index.
Jul 5 2017, 9:55 AM
jtony closed D34032: [Power9] Exploit vector extract with variable index by committing rL307174: [Power9] Exploit vector extract with variable index..
Jul 5 2017, 9:55 AM
jtony committed rL307169: [Power9] Exploit vector integer extend instructions when indices aren't correct..
[Power9] Exploit vector integer extend instructions when indices aren't correct.
Jul 5 2017, 9:01 AM
jtony closed D34009: [Power9] Exploit vector integer extend instructions when indices aren't correct by committing rL307169: [Power9] Exploit vector integer extend instructions when indices aren't correct..
Jul 5 2017, 9:01 AM

Jun 30 2017

jtony created D34908: [PPC CodeGen] Expand the bitreverse.i64 intrinsic..
Jun 30 2017, 2:08 PM

Jun 29 2017

jtony added inline comments to D34627: [Power9] Disable removing extra swaps on P9 since it should not be needed..
Jun 29 2017, 9:47 AM

Jun 28 2017

jtony updated the diff for D33572: [PPC CodeGen] Expand the bitreverse.i32 intrinsic..

Address comments from Hal Finkel and add one more IR test case to test the original situation in Bugzilla (the IR is equivalent form of fast bit-reverse but NOT the intrinsic).

Jun 28 2017, 11:25 AM
jtony retitled D33572: [PPC CodeGen] Expand the bitreverse.i32 intrinsic. from [PPC] Implement fast bit reverse in PPCDAGToDAGISel to [PPC CodeGen] Expand the bitreverse.i32 intrinsic..
Jun 28 2017, 8:54 AM

Jun 26 2017

jtony updated the diff for D33572: [PPC CodeGen] Expand the bitreverse.i32 intrinsic..

Re-implement this patch according to Hal's comments.
Note this is the first patch of the CodeGen part for intrinsic llvm.bitreverse.i32
There will be a follow-up patch to implement intrinsic llvm.bitreverse.i64
and another patch to do idiom recognition in llvm opt to generate llvm.bitreverse

Jun 26 2017, 6:50 PM
jtony commandeered D33572: [PPC CodeGen] Expand the bitreverse.i32 intrinsic..
Jun 26 2017, 6:23 PM

Jun 21 2017

jtony updated the summary of D34337: [PPC] Fix two bugs in frame lowering..
Jun 21 2017, 7:58 AM
jtony updated the diff for D34337: [PPC] Fix two bugs in frame lowering..

Address the comments from Nemanja and Stefan.
Add one test case to test the alignment calculation change.

Jun 21 2017, 6:50 AM

Jun 19 2017

jtony added inline comments to D34337: [PPC] Fix two bugs in frame lowering..
Jun 19 2017, 8:59 AM
jtony updated the summary of D34337: [PPC] Fix two bugs in frame lowering..
Jun 19 2017, 6:22 AM
jtony updated the summary of D34337: [PPC] Fix two bugs in frame lowering..
Jun 19 2017, 6:22 AM
jtony updated the summary of D34337: [PPC] Fix two bugs in frame lowering..
Jun 19 2017, 6:21 AM

Jun 18 2017

jtony created D34337: [PPC] Fix two bugs in frame lowering..
Jun 18 2017, 6:53 PM

Jun 16 2017

jtony added inline comments to D34160: [Power9] Exploit vinserth instruction.
Jun 16 2017, 7:55 AM

Jun 15 2017

jtony added inline comments to D34160: [Power9] Exploit vinserth instruction.
Jun 15 2017, 1:55 PM

Jun 14 2017

jtony committed rL305401: [PPC] Enhance altivec conversion function macros implementation..
[PPC] Enhance altivec conversion function macros implementation.
Jun 14 2017, 10:24 AM
jtony closed D34092: [PPC] Enhance altivec conversion function macros implementation. by committing rL305401: [PPC] Enhance altivec conversion function macros implementation..
Jun 14 2017, 10:24 AM