Page MenuHomePhabricator

wxz2020 (Wei Zhao)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 21 2020, 8:57 AM (15 w, 22 h)

Recent Activity

Tue, May 19

wxz2020 added a comment to D78129: Add Marvell ThunderX3T110 support.

Thanks, Just sent Tom an email.

Tue, May 19, 9:48 AM · Restricted Project, Restricted Project
wxz2020 added a comment to D78129: Add Marvell ThunderX3T110 support.

I have a question here. Our customers need the TX3 support urgently, they asked me to put this TX3 support to LLVM 10.0.1 and if there is 9.0.2 release planned, they also need it there.

Tue, May 19, 8:41 AM · Restricted Project, Restricted Project

Wed, May 13

wxz2020 added a comment to D78129: Add Marvell ThunderX3T110 support.

Joel will help me to commit it. Thanks,

Wed, May 13, 6:59 AM · Restricted Project, Restricted Project

Tue, May 12

wxz2020 updated the diff for D78129: Add Marvell ThunderX3T110 support.

Correct the wrong version of llvm/unittests/Support/TargetParserTest.cpp which causes the test failure.

Tue, May 12, 6:20 PM · Restricted Project, Restricted Project
wxz2020 updated the diff for D78129: Add Marvell ThunderX3T110 support.
  1. in clang/test/Driver/aarch64-cpus.c, expanded the the same tests for thunderx2t99 to thunderx3t110
  2. in llvm/unittest/Support/TargetParserTest.cpp, fix the missing target features
Tue, May 12, 4:09 PM · Restricted Project, Restricted Project

Sun, May 10

wxz2020 updated the diff for D78129: Add Marvell ThunderX3T110 support.

fix a typo, thunderx3t110, not thunderx3t100 in TargetParserTest.cpp

Sun, May 10, 1:18 PM · Restricted Project, Restricted Project
wxz2020 updated the diff for D78129: Add Marvell ThunderX3T110 support.

Fix the format issue in TargetParserTest.cpp

Sun, May 10, 12:46 PM · Restricted Project, Restricted Project
wxz2020 updated the diff for D78129: Add Marvell ThunderX3T110 support.
  1. Added the predicates as suggested
  2. brought back the TargetParserTest.cpp which was missed last time
Sun, May 10, 7:58 AM · Restricted Project, Restricted Project

Fri, May 8

wxz2020 added a comment to D78129: Add Marvell ThunderX3T110 support.

Sure I will add Joel's suggestion and other fixes later.

Fri, May 8, 1:25 PM · Restricted Project, Restricted Project
wxz2020 added a comment to D78129: Add Marvell ThunderX3T110 support.

I think I made all the changes mentioned in the feedbacks. Please take sometime to review the current version. We are eager to get the first thunderx3t110 checked in.

Fri, May 8, 8:00 AM · Restricted Project, Restricted Project
wxz2020 updated the diff for D78129: Add Marvell ThunderX3T110 support.

Removed the PA related instructions from the .md file as suggested.

Fri, May 8, 8:00 AM · Restricted Project, Restricted Project

Thu, May 7

wxz2020 added a comment to D78129: Add Marvell ThunderX3T110 support.

I will put the "PAUnsupported" predicate later once this got passed.

Thu, May 7, 9:04 AM · Restricted Project, Restricted Project
wxz2020 updated the diff for D78129: Add Marvell ThunderX3T110 support.

I put every people's feedbacks into the code and upload them here.

Thu, May 7, 8:29 AM · Restricted Project, Restricted Project

May 6 2020

wxz2020 added a comment to D78129: Add Marvell ThunderX3T110 support.

I can confirm your findings, basically as long as we comment out the new instructions, it will be OK to build.

May 6 2020, 1:00 PM · Restricted Project, Restricted Project
wxz2020 added a comment to D78129: Add Marvell ThunderX3T110 support.

I tried to set CompleteModel = 0 on line 25 in file llvm/lib/Target/AArch64/AArch64SchedThunderX3T110.td

May 6 2020, 8:02 AM · Restricted Project, Restricted Project

May 1 2020

wxz2020 updated the diff for D78129: Add Marvell ThunderX3T110 support.

fixed all the feedback suggestions. Thanks,

May 1 2020, 5:10 PM · Restricted Project, Restricted Project
wxz2020 added inline comments to D78129: Add Marvell ThunderX3T110 support.
May 1 2020, 5:10 PM · Restricted Project, Restricted Project

Apr 28 2020

wxz2020 added inline comments to D78129: Add Marvell ThunderX3T110 support.
Apr 28 2020, 2:02 PM · Restricted Project, Restricted Project
wxz2020 updated the diff for D78129: Add Marvell ThunderX3T110 support.

Remove non-official target options. We now only support -mcpu=thunderx3t110

Apr 28 2020, 10:11 AM · Restricted Project, Restricted Project

Apr 24 2020

wxz2020 added inline comments to D78129: Add Marvell ThunderX3T110 support.
Apr 24 2020, 9:09 AM · Restricted Project, Restricted Project

Apr 23 2020

wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

An other miss the format. fixed

Apr 23 2020, 7:01 PM · Restricted Project
wxz2020 added a comment to D78129: Add Marvell ThunderX3T110 support.

Fix a format issue.

Apr 23 2020, 3:47 PM · Restricted Project, Restricted Project
wxz2020 updated the diff for D78129: Add Marvell ThunderX3T110 support.

fix a format issus.

Apr 23 2020, 3:47 PM · Restricted Project, Restricted Project
wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

Fix a few format problems.

Apr 23 2020, 3:15 PM · Restricted Project
wxz2020 updated the diff for D78129: Add Marvell ThunderX3T110 support.

Resubmit as the previous one was rejected by test plan changes

Apr 23 2020, 9:43 AM · Restricted Project, Restricted Project
wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

Merged with the current code.

Apr 23 2020, 8:38 AM · Restricted Project

Apr 22 2020

wxz2020 added a reviewer for D78129: Add Marvell ThunderX3T110 support: t.p.northover.
Apr 22 2020, 11:25 AM · Restricted Project, Restricted Project

Apr 15 2020

wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

Fix the precheck errors.

Apr 15 2020, 4:01 PM · Restricted Project
wxz2020 updated the diff for D78129: Add Marvell ThunderX3T110 support.

The newly added two files were not accepted by the pre-merge check. Re worked on the diff file and uploaded it now.

Apr 15 2020, 4:01 PM · Restricted Project, Restricted Project
wxz2020 added inline comments to D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..
Apr 15 2020, 10:24 AM · Restricted Project
wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

Patch the function interface changes in other targets to avoid build failure for ARM, Hexagon, PowerPC, SystemZ and X86.

Apr 15 2020, 9:16 AM · Restricted Project

Apr 14 2020

wxz2020 created D78129: Add Marvell ThunderX3T110 support.
Apr 14 2020, 10:10 AM · Restricted Project, Restricted Project

Mar 31 2020

wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

fix the warning.

Mar 31 2020, 11:58 AM · Restricted Project
wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

minor format change

Mar 31 2020, 10:33 AM · Restricted Project
wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

fix clang-format issue.

Mar 31 2020, 7:44 AM · Restricted Project

Mar 30 2020

wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

Move the creation of the Tbl1 instruction's mask from LLVM generic code to AArch64 target specific code.

Mar 30 2020, 3:51 PM · Restricted Project

Mar 18 2020

wxz2020 retitled D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics. from Add a pass to identify certain shuffle_vector and transform it into target specific intrinsics. to Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..
Mar 18 2020, 2:40 PM · Restricted Project
wxz2020 added a comment to D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

Sanjay Patel :The title of this patch confused me. This is not adding a pass; it is extending existing passes.
WZ: Agree. It is not a new LLVM pass. The work is piggy backed on an existing pass. I will change the title.

Mar 18 2020, 2:40 PM · Restricted Project
wxz2020 added a comment to D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

On 05/03/2020 00:35, Wei Zhao wrote:

  1. Why not do this work in ISel?

    In LLVM IR, we have shufflevector In LLVM DAG, we have vector_shuffle

    In ISel, the normal process to translate LLVM IR shufflevector to TBLn instruction is to translate it first to DAG node vector_shuffle, and then in the DAG Legalize() to lower it to machine specific instructions like TBLn.

    There is a very strict and deeply rooted convention or requirement on how to translate LLVM IR shufflevector -> DAG node vector_shuffle.

    In the following example: %v3 = shufflevector <8 x i8> %v1, <8 x i8> %v2, <8 x i32> <i32 1, i32 0, i32 3, i32 2, i32 5, i32 4, i32 7, i32 6> ; yields <8 x i8>

    %v3 and %v1, %v2 have to be the same type.

    If not, ISel won't translate it to DAG node vector_shuffle and later it won't be lowered into a TBLn instruction. Instead, the ISel(it has at most 9 steps in total) will lower it into a sequence of extract/insert instructions to form a new vector, as in the above example, %v3 will be generated by a sequence of extract/insert instructions.

    Because ISel is coded like this, it is very hard to break this rule and put the handling of irregular (mismatched type) shufflevector in the ISel stage.

    To my understanding, the type match requirement on shuffle vector can be dated back to the early days of LLVM when it was used to generate code for Motorola Altivec.

    Because of all these, we decided to following the example of Ldn/Stn generation in InterleavedAccessPass(), just directly generate Tbl1 instruction from LLVM IR before entering ISel.
Mar 18 2020, 8:42 AM · Restricted Project

Mar 9 2020

wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

Fix a minor comment.

Mar 9 2020, 9:08 AM · Restricted Project
wxz2020 added inline comments to D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..
Mar 9 2020, 9:08 AM · Restricted Project

Mar 4 2020

wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

Fix clang-tidy warning and one clang-format error.

Mar 4 2020, 12:56 PM · Restricted Project
wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

yet another missing format error.

Mar 4 2020, 11:15 AM · Restricted Project
wxz2020 updated the diff for D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..

This upload changed the clang-format problems.

Mar 4 2020, 9:32 AM · Restricted Project

Feb 28 2020

wxz2020 created D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics..
Feb 28 2020, 3:30 PM · Restricted Project