Page MenuHomePhabricator

FreddyYe (Freddy, Ye)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 29 2020, 6:48 PM (112 w, 3 d)

Recent Activity

May 20 2022

FreddyYe accepted D126058: [X86][AMX][NFC] Refactor X86LowerAMXCast.cpp.

LGTM

May 20 2022, 4:25 AM · Restricted Project, Restricted Project

May 11 2022

Herald added a project to D107082: [X86][RFC] Enable `_Float16` type support on X86 following the psABI: Restricted Project.
May 11 2022, 12:52 AM · Restricted Project, Restricted Project, Restricted Project

May 6 2022

FreddyYe added a comment to D120327: compiler-rt: Add udivmodei5 to builtins and add bitint library.

Or even use clang to generate LLVM IR ahead of time...

This may not be a good idea for the feature of _BitInt() , which aims to offering more optimization opportunities for IR like i256, i257, i512... @erichkeane

May 6 2022, 1:29 AM · Restricted Project, Restricted Project

Apr 7 2022

FreddyYe accepted D120327: compiler-rt: Add udivmodei5 to builtins and add bitint library.

LGTM. Will you update the backend libcall?

Apr 7 2022, 6:57 PM · Restricted Project, Restricted Project

Mar 21 2022

FreddyYe added a comment to D120327: compiler-rt: Add udivmodei5 to builtins and add bitint library.

To be honest, I'm not familiar in compiler-rt component. And my experience before was mainly to find out the feasibility to support arbitrary-bits-division for _BitInt(). Fortunately, my proposal was basically same as this one: emit a new libcall in backend; add library support; use malloc()... And I even used a more simple division algorithm model: sub-shift, which has been shared in the RFC link. So my experience before may not be very helpful here. Anyway I can try my best. So everyone is OK with use malloc(), right? That was my biggest concern. BTW FYI the largest _BitInt() support is 8,388,608 . Hi @mgehre-amd Will you upload another patch to set the bitint.a as a default link library of clang when this patch gets landed in? I believe FE will reopen _BitInt() > 128 bit unless division is supported by default but not by option --rtlib=compiler-rt. @erichkeane @aaron.ballman

Mar 21 2022, 11:47 PM · Restricted Project, Restricted Project

Jan 5 2022

FreddyYe committed rG0f5b718030e7: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially (authored by craig.topper).
[LTO][codegen] Add TargetLibraryInfoWrapperPass initially
Jan 5 2022, 5:25 PM
FreddyYe closed D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially.
Jan 5 2022, 5:25 PM · Restricted Project
FreddyYe commandeered D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially.

All right. I'll commit then.

Jan 5 2022, 4:57 PM · Restricted Project
FreddyYe added a comment to D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially.

@FreddyYe do you mind taking this back to commit since the code change is yours.

Jan 5 2022, 4:49 PM · Restricted Project
FreddyYe accepted D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially.

Thank you both! Your speculating is right! That's the original motivation for this patch.

Jan 5 2022, 4:25 PM · Restricted Project

Jan 3 2022

FreddyYe committed rG0bab74280570: [X86] Add missing CET intrinsics support (authored by FreddyYe).
[X86] Add missing CET intrinsics support
Jan 3 2022, 7:41 PM
FreddyYe closed D116325: [X86] Add missing CET intrinsics support.
Jan 3 2022, 7:41 PM · Restricted Project
FreddyYe added a comment to D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially.

ping...

Jan 3 2022, 5:36 PM · Restricted Project

Dec 27 2021

FreddyYe added reviewers for D116325: [X86] Add missing CET intrinsics support: LuoYuanke, pengfei, craig.topper, xiangzhangllvm.
Dec 27 2021, 6:03 PM · Restricted Project
FreddyYe requested review of D116325: [X86] Add missing CET intrinsics support.
Dec 27 2021, 6:02 PM · Restricted Project
FreddyYe added a comment to D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially.

Why would TLI be involved in that test. Isn't the sqrt call converted to llvm.sqrt by the frontend?

Dec 27 2021, 5:52 PM · Restricted Project

Dec 19 2021

FreddyYe added a comment to D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially.

For example this patch can fix such performance drop on Linux:

Dec 19 2021, 7:46 PM · Restricted Project
FreddyYe updated the summary of D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially.
Dec 19 2021, 7:42 PM · Restricted Project

Dec 15 2021

FreddyYe added a reviewer for D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially: asbirlea.
Dec 15 2021, 11:06 PM · Restricted Project
FreddyYe added a reviewer for D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially: aeubanks.
Dec 15 2021, 11:03 PM · Restricted Project
FreddyYe added a comment to D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially.

CodeGenPasses is a legacy pass manager here. For now. llc.cpp has not switched to the new pass manager. llc.cpp does add this pass. And many passes in codegen need a right TargetLibraryInfo. If not adding it here with the module's triple info. TargetLibraryInfo will be initialized with a null string. That results in setting many library calls unavailable, as conservative as possible. I think it's not reasonable. Welcome discuss! Welcome adding more reviewers.

Dec 15 2021, 11:01 PM · Restricted Project
FreddyYe added reviewers for D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially: LuoYuanke, pengfei.
Dec 15 2021, 10:56 PM · Restricted Project
FreddyYe requested review of D115850: [LTO][codegen] Add TargetLibraryInfoWrapperPass initially.
Dec 15 2021, 10:48 PM · Restricted Project

Dec 13 2021

FreddyYe abandoned D115611: [X86][BF16] delete `typedef unsigned short __bfloat16`.

agree with @pengfei . sorry for noise.

Dec 13 2021, 10:30 PM · Restricted Project
FreddyYe updated the diff for D115611: [X86][BF16] delete `typedef unsigned short __bfloat16`.

clang-format

Dec 13 2021, 9:46 PM · Restricted Project
FreddyYe updated the diff for D115611: [X86][BF16] delete `typedef unsigned short __bfloat16`.

changed into unsigned short

Dec 13 2021, 9:16 PM · Restricted Project
FreddyYe added inline comments to D115611: [X86][BF16] delete `typedef unsigned short __bfloat16`.
Dec 13 2021, 5:39 PM · Restricted Project

Dec 12 2021

FreddyYe added reviewers for D115611: [X86][BF16] delete `typedef unsigned short __bfloat16`: pengfei, LuoYuanke, craig.topper, skan.
Dec 12 2021, 11:47 PM · Restricted Project
FreddyYe requested review of D115611: [X86][BF16] delete `typedef unsigned short __bfloat16`.
Dec 12 2021, 11:44 PM · Restricted Project

Nov 17 2021

FreddyYe committed rGeb9dc0c78f97: [X86] add 3 missing intrinsics: _mm_(mask/maskz)_cvtpbh_ps (authored by FreddyYe).
[X86] add 3 missing intrinsics: _mm_(mask/maskz)_cvtpbh_ps
Nov 17 2021, 4:49 PM
FreddyYe closed D114059: [X86] add 3 missing intrinsics: _mm_(mask/maskz)_cvtpbh_ps.
Nov 17 2021, 4:48 PM · Restricted Project

Nov 16 2021

FreddyYe updated the diff for D114059: [X86] add 3 missing intrinsics: _mm_(mask/maskz)_cvtpbh_ps.

convertion -> conversion.

Nov 16 2021, 11:37 PM · Restricted Project
FreddyYe added reviewers for D114059: [X86] add 3 missing intrinsics: _mm_(mask/maskz)_cvtpbh_ps: craig.topper, pengfei, LuoYuanke.
Nov 16 2021, 10:44 PM · Restricted Project
FreddyYe requested review of D114059: [X86] add 3 missing intrinsics: _mm_(mask/maskz)_cvtpbh_ps.
Nov 16 2021, 10:43 PM · Restricted Project
FreddyYe committed rG73c9cf820409: [X86][FP16] add alias for f*mul_*ch intrinsics (authored by FreddyYe).
[X86][FP16] add alias for f*mul_*ch intrinsics
Nov 16 2021, 9:27 PM
FreddyYe closed D112777: [X86][FP16] add alias for f*mul_*ch intrinsics.
Nov 16 2021, 9:27 PM · Restricted Project

Nov 14 2021

FreddyYe abandoned D113164: [NFC] Avoid nullptr dereference.

After reading the whole logic, I'll judge this as not a defect. Since TypePromotion::isSupportedValue() has checked before codes here. ReturnInst's operand won't be null. So getReturnValue() here won't return Null. I'll close this PR, sorry for the noise.

Nov 14 2021, 6:27 PM · Restricted Project
FreddyYe added a comment to D112777: [X86][FP16] add alias for f*mul_*ch intrinsics.

Ping.

Nov 14 2021, 4:57 PM · Restricted Project

Nov 8 2021

FreddyYe retitled D112777: [X86][FP16] add alias for f*mul_*ch intrinsics from [X86][FP16] add alias for *_fmul_pch intrinsics to [X86][FP16] add alias for f*mul_*ch intrinsics.
Nov 8 2021, 4:02 AM · Restricted Project
FreddyYe updated the diff for D112777: [X86][FP16] add alias for f*mul_*ch intrinsics.

address comments. add alias for 36 intrinsics in all.

Nov 8 2021, 4:00 AM · Restricted Project

Nov 7 2021

FreddyYe added a comment to D112777: [X86][FP16] add alias for f*mul_*ch intrinsics.

Not directly related to this patch, but why is the suffix _pch and _sch when the instruction names end in CPH and CSH? It kind of seems like the correct intrinsic name would have been _mm_fmulc_ph.

Why does the name here need to be aligned with mul_ps/pd? This a "complex" multiply which is a different operation. Is gcc also going to add aliases?

I can answer the second question. The prefix "f" can be judged as the mnemonic to distinguish fma instrinsics. The suffix "c" can be judged as the mnemonic of "complex". So add "f" mnemonic in this multiply intrinsics is ambiguous. gcc will add aliases, too. The first question is also a good question. But for now, it's not very conflict to old intrinsics, I think.

But the mnemonic for the instructions here do include an 'F'. While the mulps/mulpd instruction names do not include an 'F'. So we're creating new intrinsics that are further away from the mnemonics of the instructions. Is your argument that the instruction mnemonics are wrong and shouldn't include an 'F'?

Nov 7 2021, 6:18 PM · Restricted Project
FreddyYe added a comment to D112777: [X86][FP16] add alias for f*mul_*ch intrinsics.

Thx for review. I found I missed many intrinsics, including _fcmul_* series. they need to be aliased with cmul_*. pls wait for update.

Nov 7 2021, 6:06 PM · Restricted Project
FreddyYe added a comment to D112777: [X86][FP16] add alias for f*mul_*ch intrinsics.

Not directly related to this patch, but why is the suffix _pch and _sch when the instruction names end in CPH and CSH? It kind of seems like the correct intrinsic name would have been _mm_fmulc_ph.

Why does the name here need to be aligned with mul_ps/pd? This a "complex" multiply which is a different operation. Is gcc also going to add aliases?

Nov 7 2021, 6:05 PM · Restricted Project
FreddyYe added a comment to D112777: [X86][FP16] add alias for f*mul_*ch intrinsics.

Ping.

Nov 7 2021, 4:55 PM · Restricted Project

Nov 3 2021

FreddyYe updated the diff for D113164: [NFC] Avoid nullptr dereference.

changed into assert()

Nov 3 2021, 11:00 PM · Restricted Project
FreddyYe added a comment to D113164: [NFC] Avoid nullptr dereference.

Besides, I didn't find difference between StoreInst and ReturnInst, why only warn here?

The difference is Store->getValueOperand() doesn't return a nullptr but Return->getValueOperand() does.

Nov 3 2021, 10:54 PM · Restricted Project
FreddyYe added reviewers for D113164: [NFC] Avoid nullptr dereference: skan, LuoYuanke, pengfei.
Nov 3 2021, 7:38 PM · Restricted Project
FreddyYe requested review of D113164: [NFC] Avoid nullptr dereference.
Nov 3 2021, 7:38 PM · Restricted Project

Oct 31 2021

FreddyYe updated the diff for D112777: [X86][FP16] add alias for f*mul_*ch intrinsics.

clang-formats.

Oct 31 2021, 6:57 PM · Restricted Project
FreddyYe updated the summary of D112777: [X86][FP16] add alias for f*mul_*ch intrinsics.
Oct 31 2021, 6:55 PM · Restricted Project
FreddyYe added a comment to D112777: [X86][FP16] add alias for f*mul_*ch intrinsics.

*_mul_pch is to align with *_mul_ps annd *_mul_pd

And *_mul_ph?

Oct 31 2021, 6:54 PM · Restricted Project

Oct 28 2021

FreddyYe added reviewers for D112777: [X86][FP16] add alias for f*mul_*ch intrinsics: LuoYuanke, pengfei, craig.topper.
Oct 28 2021, 7:45 PM · Restricted Project
FreddyYe requested review of D112777: [X86][FP16] add alias for f*mul_*ch intrinsics.
Oct 28 2021, 7:44 PM · Restricted Project

Oct 14 2021

FreddyYe added a comment to D111778: [WIP][X86] Update CPU_SPECIFIC list..

Supporting these types requires changes to the library so that we can check these, right? Do you have the library changes for these as well? The constants used to check for these features/etc needs to be present in the glibc library.

Yes. It's highly related to the ProcessorFeatures I mentioned above. Does the library changes refer to the compiler-rt/cpu_model.c? I think that change depends on libgcc. For now libgcc has no strong will to update that table.

Oct 14 2021, 8:13 AM · Restricted Project, Restricted Project
FreddyYe added reviewers for D111778: [WIP][X86] Update CPU_SPECIFIC list.: LuoYuanke, pengfei, craig.topper, erichkeane.
Oct 14 2021, 12:13 AM · Restricted Project, Restricted Project
FreddyYe updated subscribers of D111778: [WIP][X86] Update CPU_SPECIFIC list..

As mentioned before:

Oct 14 2021, 12:13 AM · Restricted Project, Restricted Project

Oct 13 2021

FreddyYe retitled D111778: [WIP][X86] Update CPU_SPECIFIC list. from [X86] Update CPU_SPECIFIC list. to [WIP][X86] Update CPU_SPECIFIC list..
Oct 13 2021, 11:43 PM · Restricted Project, Restricted Project
FreddyYe requested review of D111778: [WIP][X86] Update CPU_SPECIFIC list..
Oct 13 2021, 11:40 PM · Restricted Project, Restricted Project

Oct 11 2021

FreddyYe committed rGd57a87ea89c7: [X86][ISel] Lowering llvm.thread.pointer (authored by FreddyYe).
[X86][ISel] Lowering llvm.thread.pointer
Oct 11 2021, 8:02 PM
FreddyYe closed D110681: [X86][ISel] Lowering llvm.thread.pointer.
Oct 11 2021, 8:01 PM · Restricted Project
FreddyYe updated the diff for D110681: [X86][ISel] Lowering llvm.thread.pointer.

Address comments.

Oct 11 2021, 6:52 PM · Restricted Project

Oct 8 2021

FreddyYe added a comment to D110681: [X86][ISel] Lowering llvm.thread.pointer.

Address part of comments. Thanks for review.

Oct 8 2021, 7:35 AM · Restricted Project
FreddyYe updated the diff for D110681: [X86][ISel] Lowering llvm.thread.pointer.

Address comments.

Oct 8 2021, 7:32 AM · Restricted Project
FreddyYe committed rG6d276595d1ce: [NFC] Use CHECK-NEXT instead of CHECK-SAME in target-invalid-cpu-note.c (authored by FreddyYe).
[NFC] Use CHECK-NEXT instead of CHECK-SAME in target-invalid-cpu-note.c
Oct 8 2021, 7:08 AM
FreddyYe closed D110798: [NFC] Use CHECK-NEXT instead of CHECK-SAME in target-invalid-cpu-note.c.
Oct 8 2021, 7:08 AM · Restricted Project
FreddyYe added inline comments to D110798: [NFC] Use CHECK-NEXT instead of CHECK-SAME in target-invalid-cpu-note.c.
Oct 8 2021, 6:49 AM · Restricted Project
FreddyYe updated the diff for D110798: [NFC] Use CHECK-NEXT instead of CHECK-SAME in target-invalid-cpu-note.c.

Address comments.

Oct 8 2021, 6:49 AM · Restricted Project

Oct 7 2021

FreddyYe abandoned D107420: [sema] Disallow __builtin_mul_overflow under special condition..
Oct 7 2021, 10:41 PM · Restricted Project
FreddyYe updated the diff for D110798: [NFC] Use CHECK-NEXT instead of CHECK-SAME in target-invalid-cpu-note.c.

add {{$}}. add comments at first line.

Oct 7 2021, 7:17 PM · Restricted Project
FreddyYe added a comment to D110798: [NFC] Use CHECK-NEXT instead of CHECK-SAME in target-invalid-cpu-note.c.

Sorry for late response. Thanks for your comments, @DavidSpickett !

Oct 7 2021, 7:16 PM · Restricted Project

Sep 30 2021

FreddyYe added a comment to D110798: [NFC] Use CHECK-NEXT instead of CHECK-SAME in target-invalid-cpu-note.c.

In principle I agree but did you have this failure mode actually happen?

No failure happens for now, but may happen in the future if we continue to use -SAME. Pls read the example I gave in last comment.

Sep 30 2021, 8:00 PM · Restricted Project
FreddyYe added inline comments to D110798: [NFC] Use CHECK-NEXT instead of CHECK-SAME in target-invalid-cpu-note.c.
Sep 30 2021, 7:49 PM · Restricted Project

Sep 29 2021

FreddyYe added reviewers for D110798: [NFC] Use CHECK-NEXT instead of CHECK-SAME in target-invalid-cpu-note.c: apivovarov, justinlatimer, uweigand, aakanksha555, bcahoon, DavidSpickett, pengfei, LuoYuanke, LemonBoy, bkramer.
Sep 29 2021, 7:25 PM · Restricted Project
FreddyYe added a comment to D110798: [NFC] Use CHECK-NEXT instead of CHECK-SAME in target-invalid-cpu-note.c.

I found the old way cannot verify if there are some extra outputs between two different CHECK-SAME. So I changed to CHECK-NEXT. But it will introduce bad format issue. Anyway, the old way has broken clang-format already. So I would prefer the CHECK-NEXT. WDYT?

Sep 29 2021, 7:23 PM · Restricted Project
FreddyYe requested review of D110798: [NFC] Use CHECK-NEXT instead of CHECK-SAME in target-invalid-cpu-note.c.
Sep 29 2021, 7:19 PM · Restricted Project
FreddyYe requested review of D110683: [WIP][X86][ISel] Lowering FROUND(vxf16) and FROUNDEVEN(vxf16).
Sep 29 2021, 12:50 AM · Restricted Project
FreddyYe updated the diff for D110681: [X86][ISel] Lowering llvm.thread.pointer.

clean test.

Sep 29 2021, 12:25 AM · Restricted Project
FreddyYe added reviewers for D110681: [X86][ISel] Lowering llvm.thread.pointer: pengfei, LuoYuanke.
Sep 29 2021, 12:19 AM · Restricted Project
FreddyYe added a comment to D110681: [X86][ISel] Lowering llvm.thread.pointer.

This patch is to align with gcc's behavior on __builtin_thread_pointer () on Linux. Example output of gcc: https://godbolt.org/z/9oTTW53qe
Related bugzilla of gcc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96200, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96955

Sep 29 2021, 12:19 AM · Restricted Project
FreddyYe requested review of D110681: [X86][ISel] Lowering llvm.thread.pointer.
Sep 29 2021, 12:15 AM · Restricted Project

Sep 27 2021

FreddyYe accepted D110606: [X86][FP16] Fix a bug when Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)..

LGTM.

Sep 27 2021, 8:22 PM · Restricted Project
FreddyYe accepted D110606: [X86][FP16] Fix a bug when Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)..

LGTM.

Sep 27 2021, 7:39 PM · Restricted Project

Sep 26 2021

FreddyYe committed rG902ec6142a6f: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16) (authored by FreddyYe).
[X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16)
Sep 26 2021, 10:44 PM
FreddyYe closed D110312: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16).
Sep 26 2021, 10:44 PM · Restricted Project
FreddyYe updated the diff for D110312: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16).

Refine tests.

Sep 26 2021, 7:34 PM · Restricted Project
FreddyYe added inline comments to D110312: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16).
Sep 26 2021, 1:34 AM · Restricted Project
FreddyYe retitled D110312: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16) from [X86][ISel] setOperationAction for FROUND(f16) and FROUNDEVEN(f16) to [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16).
Sep 26 2021, 1:32 AM · Restricted Project
FreddyYe added inline comments to D110312: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16).
Sep 26 2021, 1:11 AM · Restricted Project
FreddyYe updated the diff for D110312: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16).

nfc refine.

Sep 26 2021, 12:33 AM · Restricted Project
FreddyYe updated the diff for D110312: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16).

Thanks for review! Addressed comments.

Sep 26 2021, 12:30 AM · Restricted Project
FreddyYe added inline comments to D110312: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16).
Sep 26 2021, 12:29 AM · Restricted Project

Sep 23 2021

FreddyYe added inline comments to D110312: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16).
Sep 23 2021, 1:38 AM · Restricted Project
FreddyYe added reviewers for D110312: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16): LuoYuanke, craig.topper, pengfei.
Sep 23 2021, 12:10 AM · Restricted Project
FreddyYe added a comment to D110312: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16).

Example reproduce: https://gcc.godbolt.org/z/czrY74sxv

Sep 23 2021, 12:10 AM · Restricted Project
FreddyYe requested review of D110312: [X86][ISel] Lowering FROUND(f16) and FROUNDEVEN(f16).
Sep 23 2021, 12:03 AM · Restricted Project

Sep 22 2021

FreddyYe added a reviewer for D110302: [NFC] Remove redundant setOperationAction.: craig.topper.
Sep 22 2021, 7:30 PM · Restricted Project
FreddyYe committed rG13207a21a64d: [NFC] Remove redundant setOperationAction. (authored by FreddyYe).
[NFC] Remove redundant setOperationAction.
Sep 22 2021, 7:29 PM
FreddyYe closed D110302: [NFC] Remove redundant setOperationAction..
Sep 22 2021, 7:29 PM · Restricted Project
FreddyYe edited reviewers for D110302: [NFC] Remove redundant setOperationAction., added: pengfei, LuoYuanke; removed: craig.topper.
Sep 22 2021, 7:25 PM · Restricted Project
FreddyYe added inline comments to D110302: [NFC] Remove redundant setOperationAction..
Sep 22 2021, 7:25 PM · Restricted Project