Page MenuHomePhabricator

tingwang (Ting Wang)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 9 2022, 5:09 PM (18 w, 2 d)

Recent Activity

Tue, May 10

tingwang committed rG289236d597a2: [PowerPC] Fix PPCISD::STBRX selection issue on A2 (authored by tingwang).
[PowerPC] Fix PPCISD::STBRX selection issue on A2
Tue, May 10, 5:48 PM · Restricted Project, Restricted Project, Restricted Project
tingwang closed D125203: [PowerPC] Fix PPCISD::STBRX selection issue on A2.
Tue, May 10, 5:48 PM · Restricted Project, Restricted Project, Restricted Project

Mon, May 9

tingwang added a comment to D125203: [PowerPC] Fix PPCISD::STBRX selection issue on A2.

Why not also fix this in the front end so that we allow the builtin on the A2 CPU as well (since it's supported)?

Mon, May 9, 10:52 PM · Restricted Project, Restricted Project, Restricted Project
tingwang updated the diff for D125203: [PowerPC] Fix PPCISD::STBRX selection issue on A2.

Update according to Nemanja's comment: add A2 to frontend isa-v206-instructions feature list, together with test case update.

Mon, May 9, 10:47 PM · Restricted Project, Restricted Project, Restricted Project
tingwang updated the diff for D125095: [Clang][AIX] Add .ref in frontend for AIX XCOFF to support `-bcdtors:csect` linker option.

Update the three test cases introduced in this patch to use opaque-pointer
clang/test/CodeGen/PowerPC/aix-init-ref-null.cpp
clang/test/CodeGen/PowerPC/aix-ref-static-var.cpp
clang/test/CodeGen/PowerPC/aix-ref-tls_init.cpp

Mon, May 9, 7:49 PM · Restricted Project, Restricted Project, Restricted Project
tingwang updated the diff for D122198: [PowerPC] Add .ref in backend for AIX XCOFF to support `-bcdtors:csect` linker option.

Use opaque-pointer in testcase aix-xcoff-ref.ll

Mon, May 9, 7:02 PM · Restricted Project, Restricted Project

Sun, May 8

tingwang updated the summary of D125203: [PowerPC] Fix PPCISD::STBRX selection issue on A2.
Sun, May 8, 11:31 PM · Restricted Project, Restricted Project, Restricted Project
tingwang requested review of D125203: [PowerPC] Fix PPCISD::STBRX selection issue on A2.
Sun, May 8, 9:08 PM · Restricted Project, Restricted Project, Restricted Project

Fri, May 6

tingwang requested review of D125095: [Clang][AIX] Add .ref in frontend for AIX XCOFF to support `-bcdtors:csect` linker option.
Fri, May 6, 7:39 AM · Restricted Project, Restricted Project, Restricted Project

Thu, May 5

tingwang updated the diff for D122198: [PowerPC] Add .ref in backend for AIX XCOFF to support `-bcdtors:csect` linker option.
Thu, May 5, 6:26 PM · Restricted Project, Restricted Project

Apr 11 2022

tingwang added a comment to D122198: [PowerPC] Add .ref in backend for AIX XCOFF to support `-bcdtors:csect` linker option.

During test some case revealed another issue regarding BSSLocal: there maybe some function associated with variable which has storage class BSSLocal (zero initialized). Unfortunately the variable is the association target, and there is no associated metadata attached to the variable. I have to work out a solution for this, incorporating Zheng's comments here. I will update code once the solution is formed.

Apr 11 2022, 9:58 PM · Restricted Project, Restricted Project

Apr 8 2022

tingwang updated the diff for D122198: [PowerPC] Add .ref in backend for AIX XCOFF to support `-bcdtors:csect` linker option.

Add assert to guard MCSection

Apr 8 2022, 8:11 AM · Restricted Project, Restricted Project
tingwang added inline comments to D122198: [PowerPC] Add .ref in backend for AIX XCOFF to support `-bcdtors:csect` linker option.
Apr 8 2022, 8:09 AM · Restricted Project, Restricted Project

Apr 7 2022

tingwang added inline comments to D122198: [PowerPC] Add .ref in backend for AIX XCOFF to support `-bcdtors:csect` linker option.
Apr 7 2022, 4:45 AM · Restricted Project, Restricted Project
tingwang updated the diff for D122198: [PowerPC] Add .ref in backend for AIX XCOFF to support `-bcdtors:csect` linker option.

Update based on Chen Zheng's comments:
(1) Corrected emitXCOFFRefDirective argument, the original one should be fine.
(2) Add assert check to guard against BS and UC mapping class.
(3) Updated code comment and code style.

Apr 7 2022, 4:45 AM · Restricted Project, Restricted Project

Apr 5 2022

tingwang committed rGb389354b2857: [Clang][PowerPC] Add max/min intrinsics to Clang and PPC backend (authored by tingwang).
[Clang][PowerPC] Add max/min intrinsics to Clang and PPC backend
Apr 5 2022, 7:48 PM · Restricted Project, Restricted Project, Restricted Project
tingwang closed D122478: [PowerPC] Add max/min intrinsics to Clang and PPC backend.
Apr 5 2022, 7:48 PM · Restricted Project, Restricted Project, Restricted Project

Apr 1 2022

tingwang added inline comments to D122478: [PowerPC] Add max/min intrinsics to Clang and PPC backend.
Apr 1 2022, 3:56 AM · Restricted Project, Restricted Project, Restricted Project
tingwang updated the diff for D122478: [PowerPC] Add max/min intrinsics to Clang and PPC backend.

Update based on comments:
(1) Reuse diag error message.
(2) Update clang test case for those diag messages.
(3) Add TODO comment.

Apr 1 2022, 3:55 AM · Restricted Project, Restricted Project, Restricted Project

Mar 28 2022

tingwang updated the summary of D122478: [PowerPC] Add max/min intrinsics to Clang and PPC backend.
Mar 28 2022, 4:41 AM · Restricted Project, Restricted Project, Restricted Project
tingwang abandoned D122462: [PowerPC] Add guard in LowerSELECT_CC for ppcf128.

Not required

Mar 28 2022, 4:41 AM · Restricted Project, Restricted Project
tingwang added inline comments to D122478: [PowerPC] Add max/min intrinsics to Clang and PPC backend.
Mar 28 2022, 4:38 AM · Restricted Project, Restricted Project, Restricted Project
tingwang updated the diff for D122478: [PowerPC] Add max/min intrinsics to Clang and PPC backend.

Update based on Chaofan's suggestions.

Mar 28 2022, 4:38 AM · Restricted Project, Restricted Project, Restricted Project
tingwang updated the diff for D122478: [PowerPC] Add max/min intrinsics to Clang and PPC backend.

Update test case to show that we need D122462 to fix the crash.

Mar 28 2022, 12:56 AM · Restricted Project, Restricted Project, Restricted Project

Mar 27 2022

tingwang updated the diff for D122478: [PowerPC] Add max/min intrinsics to Clang and PPC backend.

Option -mlong-double-128 is not supported on AIX currently, and clang fails due to type mismatch in the fe case. Add check logic to print diag message in this case.

Mar 27 2022, 7:54 PM · Restricted Project, Restricted Project, Restricted Project

Mar 25 2022

tingwang added a comment to D122478: [PowerPC] Add max/min intrinsics to Clang and PPC backend.

Since this is compatibility support, I'm trying to match the result from XLC in scenarios where there is all kinds of QNaN, SNaN, +/-Infinity, +/-ZERO. Currently maxfl and maxfs still give different result compared with XLC in above scenario. This is one thing I'm still looking into.

Mar 25 2022, 6:26 AM · Restricted Project, Restricted Project, Restricted Project
tingwang requested review of D122478: [PowerPC] Add max/min intrinsics to Clang and PPC backend.
Mar 25 2022, 6:22 AM · Restricted Project, Restricted Project, Restricted Project

Mar 24 2022

tingwang added a comment to D122462: [PowerPC] Add guard in LowerSELECT_CC for ppcf128.

Please also add tests.

Mar 24 2022, 11:17 PM · Restricted Project, Restricted Project
tingwang requested review of D122462: [PowerPC] Add guard in LowerSELECT_CC for ppcf128.
Mar 24 2022, 10:52 PM · Restricted Project, Restricted Project

Mar 21 2022

tingwang requested review of D122198: [PowerPC] Add .ref in backend for AIX XCOFF to support `-bcdtors:csect` linker option.
Mar 21 2022, 6:12 PM · Restricted Project, Restricted Project

Feb 18 2022

tingwang abandoned D118316: [PowerPC] Materialize special ConstantFP using instructions instead of load from TOC.

No perf gain according to some spec test.

Feb 18 2022, 12:58 AM · Restricted Project
tingwang requested review of D120113: [PowerPC] Improve i32 and-or-and on BPS.Select64 path to generate single rlwimi.
Feb 18 2022, 12:53 AM · Restricted Project

Feb 16 2022

tingwang added a comment to D118316: [PowerPC] Materialize special ConstantFP using instructions instead of load from TOC.

I am wondering if you have done any performance comparison or even just latency/throughput "back-of-the-envelope" computation for this. It doesn't seem obvious to me that this is better than a CP load. The conversion is a fairly expensive instruction. Another less compelling thing to consider is that in high register pressure situations (for VMX registers), the VSPLTISW may cause a spill.

One thing to note is that this necessarily replaces the cracked lfs instruction which is also expensive, so this transformation may be worthwhile. However, I wonder how this transformation would compare to stopping the conversion from double precision to single precision for constants on Power9 (i.e. return false from ShouldShrinkFPConstant() on Power9). This would of course grow the constant pool in situations where a lot of compact constants are loaded, but presumably this is a somewhat rare situation.

Feb 16 2022, 4:31 PM · Restricted Project

Feb 9 2022

tingwang committed rG097a95f2df46: [PowerPC] Add custom lowering for SELECT_CC fp128 using xsmaxcqp (authored by tingwang).
[PowerPC] Add custom lowering for SELECT_CC fp128 using xsmaxcqp
Feb 9 2022, 6:49 PM
tingwang closed D117006: [PowerPC] Add custom lowering for SELECT_CC fp128 using xsmaxcqp.
Feb 9 2022, 6:49 PM · Restricted Project

Feb 7 2022

tingwang added a comment to D118316: [PowerPC] Materialize special ConstantFP using instructions instead of load from TOC.

I am wondering if you have done any performance comparison or even just latency/throughput "back-of-the-envelope" computation for this. It doesn't seem obvious to me that this is better than a CP load. The conversion is a fairly expensive instruction. Another less compelling thing to consider is that in high register pressure situations (for VMX registers), the VSPLTISW may cause a spill.

One thing to note is that this necessarily replaces the cracked lfs instruction which is also expensive, so this transformation may be worthwhile. However, I wonder how this transformation would compare to stopping the conversion from double precision to single precision for constants on Power9 (i.e. return false from ShouldShrinkFPConstant() on Power9). This would of course grow the constant pool in situations where a lot of compact constants are loaded, but presumably this is a somewhat rare situation.

Feb 7 2022, 5:09 AM · Restricted Project

Feb 6 2022

tingwang updated the diff for D118316: [PowerPC] Materialize special ConstantFP using instructions instead of load from TOC.

Used clang-format to tidy the code style

Feb 6 2022, 5:31 PM · Restricted Project

Jan 26 2022

tingwang added inline comments to D118316: [PowerPC] Materialize special ConstantFP using instructions instead of load from TOC.
Jan 26 2022, 10:26 PM · Restricted Project
tingwang requested review of D118316: [PowerPC] Materialize special ConstantFP using instructions instead of load from TOC.
Jan 26 2022, 10:24 PM · Restricted Project
tingwang committed rG6f25cb86854a: [PowerPC] Add the Power10 XS[MAX|MIN]CQP instruction (authored by tingwang).
[PowerPC] Add the Power10 XS[MAX|MIN]CQP instruction
Jan 26 2022, 8:01 PM
tingwang closed D118036: [PowerPC] Add the Power10 XS[MAX|MIN]CQP instruction..
Jan 26 2022, 8:01 PM · Restricted Project
tingwang committed rG630e6fa912a3: [NFC] Empty test commit, check commit access (authored by tingwang).
[NFC] Empty test commit, check commit access
Jan 26 2022, 5:01 PM

Jan 24 2022

tingwang updated the diff for D118036: [PowerPC] Add the Power10 XS[MAX|MIN]CQP instruction..

Move the two instructions XS[MAX|MIN]CQP under predicate [IsISA3_1, HasVSX]

Jan 24 2022, 6:41 PM · Restricted Project
tingwang added inline comments to D118036: [PowerPC] Add the Power10 XS[MAX|MIN]CQP instruction..
Jan 24 2022, 6:22 PM · Restricted Project
tingwang added inline comments to D118036: [PowerPC] Add the Power10 XS[MAX|MIN]CQP instruction..
Jan 24 2022, 6:19 PM · Restricted Project
tingwang updated the summary of D118036: [PowerPC] Add the Power10 XS[MAX|MIN]CQP instruction..
Jan 24 2022, 6:09 AM · Restricted Project
tingwang requested review of D118036: [PowerPC] Add the Power10 XS[MAX|MIN]CQP instruction..
Jan 24 2022, 4:27 AM · Restricted Project

Jan 19 2022

tingwang updated the diff for D117006: [PowerPC] Add custom lowering for SELECT_CC fp128 using xsmaxcqp.

(1) Add llvm.maxnum/minnum.f128 check case for P10
(2) Update test case using the script: update_llc_test_checks.py

Jan 19 2022, 11:48 PM · Restricted Project
tingwang added inline comments to D117006: [PowerPC] Add custom lowering for SELECT_CC fp128 using xsmaxcqp.
Jan 19 2022, 11:44 PM · Restricted Project

Jan 17 2022

tingwang added inline comments to D117006: [PowerPC] Add custom lowering for SELECT_CC fp128 using xsmaxcqp.
Jan 17 2022, 8:28 PM · Restricted Project

Jan 12 2022

tingwang updated the diff for D117006: [PowerPC] Add custom lowering for SELECT_CC fp128 using xsmaxcqp.

Renamed PPCISD::XS[MAX|MIN]CDP to PPCISD::XS[MAX|MIN]C, and use the nodes for both dual-precision and quad-precision type-c instructions

Jan 12 2022, 4:32 PM · Restricted Project

Jan 11 2022

tingwang added inline comments to D117006: [PowerPC] Add custom lowering for SELECT_CC fp128 using xsmaxcqp.
Jan 11 2022, 5:32 PM · Restricted Project
tingwang added inline comments to D117006: [PowerPC] Add custom lowering for SELECT_CC fp128 using xsmaxcqp.
Jan 11 2022, 5:06 PM · Restricted Project
tingwang retitled D117006: [PowerPC] Add custom lowering for SELECT_CC fp128 using xsmaxcqp from Add custom lowering for SELECT_CC fp128 using xsmaxcqp to [PowerPC] Add custom lowering for SELECT_CC fp128 using xsmaxcqp.
Jan 11 2022, 3:39 AM · Restricted Project
tingwang requested review of D117006: [PowerPC] Add custom lowering for SELECT_CC fp128 using xsmaxcqp.
Jan 11 2022, 3:39 AM · Restricted Project