Page MenuHomePhabricator

pengfei (Phoebe Wang)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 12 2018, 5:57 PM (224 w, 3 d)

Recent Activity

Yesterday

pengfei committed rG0cc66f3c779b: [Windows SEH] Fix catch+return crash for Windows -EHa (authored by pengfei).
[Windows SEH] Fix catch+return crash for Windows -EHa
Fri, Mar 31, 11:54 PM · Restricted Project, Restricted Project
pengfei closed D147165: [Windows SEH] Fix catch+return crash for Windows -EHa.
Fri, Mar 31, 11:53 PM · Restricted Project, Restricted Project
pengfei accepted D146494: [X86] Combine constant vector inputs for FMA.

Thanks @e-kud, LGTM.

Fri, Mar 31, 10:57 PM · Restricted Project, Restricted Project
pengfei accepted D147243: [X86] MatchVectorAllZeroTest - add support for icmp(bitcast(icmp_ne(X,Y)),0) vector reduction patterns.

Test case changes look good to me.

Fri, Mar 31, 6:31 AM · Restricted Project, Restricted Project

Thu, Mar 30

pengfei added inline comments to D147264: [DAG] Add SelectionDAG::SplitScalar helper.
Thu, Mar 30, 10:10 PM · Restricted Project, Restricted Project
pengfei added inline comments to D146494: [X86] Combine constant vector inputs for FMA.
Thu, Mar 30, 7:58 PM · Restricted Project, Restricted Project

Wed, Mar 29

pengfei added a comment to D147165: [Windows SEH] Fix catch+return crash for Windows -EHa.

I checked no difference in codegen between /EHa and /EHsc in MSVC. So it should be correct for clang as well.
We should land it ASAP since it fixes a crash case.

Wed, Mar 29, 10:35 PM · Restricted Project, Restricted Project
pengfei added a reviewer for D147165: [Windows SEH] Fix catch+return crash for Windows -EHa: LuoYuanke.
Wed, Mar 29, 10:31 PM · Restricted Project, Restricted Project
pengfei added a comment to D102817: [Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 2.

Hi @tentzen :)
I compiled clang's main branch after applying these changes, and I think I found a bug.
I tried to compile the following code with the "-fasync-exceptions" flag and the compiler crashed :(
can you take a look?

void foo()
{
    try
    {}
    catch (...)
    {
        // The 'return' statement causes a crash, it compiles just fine without the 'return'.
        return;
    }
}

thanks :)

Wed, Mar 29, 8:55 AM · Restricted Project, Restricted Project
pengfei requested review of D147165: [Windows SEH] Fix catch+return crash for Windows -EHa.
Wed, Mar 29, 8:50 AM · Restricted Project, Restricted Project
pengfei accepted D145220: [X86][InstCombine] Simplify some `pternlog` intrinsics.

LGTM.

Wed, Mar 29, 2:28 AM · Restricted Project, Restricted Project

Tue, Mar 28

pengfei added inline comments to D147059: [asan][test] Fix tests or mark XFAIL for MinGW target.
Tue, Mar 28, 6:27 PM · Restricted Project, Restricted Project
pengfei committed rG0efe111365ae: Reland "[Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 2" (authored by pengfei).
Reland "[Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 2"
Tue, Mar 28, 6:02 PM · Restricted Project, Restricted Project
pengfei added a reverting change for rGdb6a979ae824: Revert "[Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 2": rG0efe111365ae: Reland "[Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 2".
Tue, Mar 28, 6:02 PM · Restricted Project, Restricted Project
pengfei closed D102817: [Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 2.
Tue, Mar 28, 6:01 PM · Restricted Project, Restricted Project
pengfei added a comment to D102817: [Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 2.

FYI, I just got in touch with @tentzen. He is not working with this now, but he said the revert is just a mistake.
I suggest we reland it as is if no strong objections from other reviewers.
We have customers that looking forward to it as well. I'd like to work with community for the followups.

Tue, Mar 28, 1:33 AM · Restricted Project, Restricted Project

Mon, Mar 27

pengfei added inline comments to D146494: [X86] Combine constant vector inputs for FMA.
Mon, Mar 27, 7:36 PM · Restricted Project, Restricted Project

Sun, Mar 26

pengfei added inline comments to D146905: [IR] Add llvm.tan.* intrinsic.
Sun, Mar 26, 6:08 PM · Restricted Project, Restricted Project
pengfei added inline comments to D146121: [DAG] Move lshr narrowing from visitANDLike to SimplifyDemandedBits (WIP).
Sun, Mar 26, 5:59 PM · Restricted Project, Restricted Project

Sat, Mar 25

pengfei accepted D145926: [X86] Add test suite for stack realignment..

LGTM.

Sat, Mar 25, 6:44 PM · Restricted Project

Fri, Mar 24

pengfei added inline comments to D146862: [X86] Fix the incorrect displacement for prolog/epilog.
Fri, Mar 24, 9:16 PM · Restricted Project, Restricted Project
pengfei accepted D146862: [X86] Fix the incorrect displacement for prolog/epilog.

LGTM.

Fri, Mar 24, 9:07 PM · Restricted Project, Restricted Project
pengfei added inline comments to D146862: [X86] Fix the incorrect displacement for prolog/epilog.
Fri, Mar 24, 8:31 PM · Restricted Project, Restricted Project

Thu, Mar 23

pengfei accepted D146683: [DAG] Conservatively check the VSELECT Operation Action in tryToFoldExtendSelectLoad.
Thu, Mar 23, 8:05 PM · Restricted Project, Restricted Project
pengfei added inline comments to D146683: [DAG] Conservatively check the VSELECT Operation Action in tryToFoldExtendSelectLoad.
Thu, Mar 23, 6:34 PM · Restricted Project, Restricted Project
pengfei added inline comments to D146683: [DAG] Conservatively check the VSELECT Operation Action in tryToFoldExtendSelectLoad.
Thu, Mar 23, 8:15 AM · Restricted Project, Restricted Project

Mon, Mar 20

pengfei accepted D146489: [X86] Create extra prolog/epilog for stack realignment [part 2].

LGTM.

Mon, Mar 20, 7:59 PM · Restricted Project, Restricted Project
pengfei accepted D145650: [X86] Create extra prolog/epilog for stack realignment.

We had an offline discussion on this. I generally got the idea of the design. Let's land it first to see if there're unconsidered cases.

Mon, Mar 20, 8:44 AM · Restricted Project, Restricted Project
pengfei added a comment to D145286: [WinEH] Fix issue of dynamic alloca in try block.

Tested this with cases in #60914. Both got segmentation fault. I think this should not be a correct fix.

Mon, Mar 20, 7:30 AM · Restricted Project, Restricted Project

Wed, Mar 15

pengfei accepted D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

LGTM.

Wed, Mar 15, 8:13 PM · Restricted Project, Restricted Project
pengfei added inline comments to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.
Wed, Mar 15, 8:10 PM · Restricted Project, Restricted Project
pengfei added inline comments to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.
Wed, Mar 15, 8:08 PM · Restricted Project, Restricted Project
pengfei added inline comments to D145220: [X86][InstCombine] Simplify some `pternlog` intrinsics.
Wed, Mar 15, 7:14 PM · Restricted Project, Restricted Project

Tue, Mar 14

pengfei accepted D145939: [DAG] Fold multiple insert_vector_elt of zero values into an AND mask.

LGTM.

Tue, Mar 14, 8:28 PM · Restricted Project, Restricted Project
pengfei added a comment to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Do you have plan to support minimumNumber?

Sorry, I didn't get it. Could you be more specific?

It's accompanying function of minimum in IEEE-754 2019, it will be introduced in new C/C++ standard too. I thought you are working for that.

I can't find any lib calls or specific intrinsics for them. I'd like to add them separately if we have any users or needs of them, do we?

Tue, Mar 14, 8:26 PM · Restricted Project, Restricted Project
pengfei added inline comments to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.
Tue, Mar 14, 8:21 PM · Restricted Project, Restricted Project

Mon, Mar 13

pengfei committed rG7ff0b9735dc5: [X86] Use llvm::Align for passing the alignment (authored by pengfei).
[X86] Use llvm::Align for passing the alignment
Mon, Mar 13, 9:06 AM · Restricted Project, Restricted Project
pengfei closed D145863: [X86] Use llvm::Align for passing the alignment.
Mon, Mar 13, 9:06 AM · Restricted Project, Restricted Project
pengfei added inline comments to D145939: [DAG] Fold multiple insert_vector_elt of zero values into an AND mask.
Mon, Mar 13, 7:48 AM · Restricted Project, Restricted Project
pengfei retitled D145863: [X86] Use llvm::Align for passing the alignment from [X86][NFC] Use llvm::Align for passing the alignment to [X86] Use llvm::Align for passing the alignment.
Mon, Mar 13, 7:02 AM · Restricted Project, Restricted Project
pengfei updated the diff for D145863: [X86] Use llvm::Align for passing the alignment.

Add test case.

Mon, Mar 13, 7:01 AM · Restricted Project, Restricted Project
pengfei added inline comments to D145933: [X86] Add negative test for D145930.
Mon, Mar 13, 6:39 AM · Restricted Project, Restricted Project
pengfei added inline comments to D145933: [X86] Add negative test for D145930.
Mon, Mar 13, 6:36 AM · Restricted Project, Restricted Project
pengfei updated the diff for D145863: [X86] Use llvm::Align for passing the alignment.

Convert one more uint64_t Align into Align Alignment.

Mon, Mar 13, 5:28 AM · Restricted Project, Restricted Project
pengfei committed rGafdcf219eafe: [X86] Pre-commit test for #61271 (authored by pengfei).
[X86] Pre-commit test for #61271
Mon, Mar 13, 1:40 AM · Restricted Project, Restricted Project
pengfei retitled D145863: [X86] Use llvm::Align for passing the alignment from [X86][NFC] Use uint64_t for passing the alignment to [X86][NFC] Use llvm::Align for passing the alignment.
Mon, Mar 13, 1:24 AM · Restricted Project, Restricted Project
pengfei updated the diff for D145863: [X86] Use llvm::Align for passing the alignment.

Address review comment.

Mon, Mar 13, 1:24 AM · Restricted Project, Restricted Project

Sun, Mar 12

pengfei added a comment to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Do you have plan to support minimumNumber?

Sorry, I didn't get it. Could you be more specific?

Sun, Mar 12, 8:01 PM · Restricted Project, Restricted Project
pengfei updated the diff for D145857: [X86] Make triple ArchName override OS for i686 and i786.

Support i886 and i986.

Sun, Mar 12, 7:19 PM · Restricted Project, Restricted Project
pengfei updated the diff for D145857: [X86] Make triple ArchName override OS for i686 and i786.

Only make OS override i386.

Sun, Mar 12, 7:12 PM · Restricted Project, Restricted Project
pengfei planned changes to D145867: [X86][FP16] Optimize FMAXNUM/FMINNUM into SMAX/SMIN for FP16 emulation under fast math.

The negative comparison is not correct.

Sun, Mar 12, 5:46 PM · Restricted Project, Restricted Project
pengfei requested review of D145870: [X86][FP16] Combine bitcast(extract_vector_elt vXi16, N) to extract_vector_elt(bitcast(vXi16), N).
Sun, Mar 12, 6:52 AM · Restricted Project, Restricted Project
pengfei added inline comments to D145867: [X86][FP16] Optimize FMAXNUM/FMINNUM into SMAX/SMIN for FP16 emulation under fast math.
Sun, Mar 12, 6:12 AM · Restricted Project, Restricted Project
pengfei updated the diff for D145867: [X86][FP16] Optimize FMAXNUM/FMINNUM into SMAX/SMIN for FP16 emulation under fast math.

Address review commnets.

Sun, Mar 12, 6:11 AM · Restricted Project, Restricted Project
pengfei accepted D145866: [DAG] visitAND - fold (and (any_ext V), c) -> (zero_ext (and (trunc V), c)) if profitable..

X86 tests change looks good.

Sun, Mar 12, 5:40 AM · Restricted Project, Restricted Project
pengfei added inline comments to D145866: [DAG] visitAND - fold (and (any_ext V), c) -> (zero_ext (and (trunc V), c)) if profitable..
Sun, Mar 12, 5:06 AM · Restricted Project, Restricted Project
pengfei requested review of D145867: [X86][FP16] Optimize FMAXNUM/FMINNUM into SMAX/SMIN for FP16 emulation under fast math.
Sun, Mar 12, 4:42 AM · Restricted Project, Restricted Project
pengfei added inline comments to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.
Sun, Mar 12, 3:08 AM · Restricted Project, Restricted Project
pengfei updated the summary of D145863: [X86] Use llvm::Align for passing the alignment.
Sun, Mar 12, 1:34 AM · Restricted Project, Restricted Project
pengfei requested review of D145863: [X86] Use llvm::Align for passing the alignment.
Sun, Mar 12, 1:28 AM · Restricted Project, Restricted Project

Sat, Mar 11

pengfei updated the diff for D145857: [X86] Make triple ArchName override OS for i686 and i786.

Fix lit failure.

Sat, Mar 11, 8:58 PM · Restricted Project, Restricted Project
pengfei updated the diff for D145857: [X86] Make triple ArchName override OS for i686 and i786.

Fix typo & add tests.

Sat, Mar 11, 8:55 PM · Restricted Project, Restricted Project
pengfei planned changes to D145857: [X86] Make triple ArchName override OS for i686 and i786.

Did you test this? I kind of expected the triple would be normalized before this. I’m not at a computer to check.

Sat, Mar 11, 8:43 PM · Restricted Project, Restricted Project
pengfei requested review of D145857: [X86] Make triple ArchName override OS for i686 and i786.
Sat, Mar 11, 8:17 PM · Restricted Project, Restricted Project
pengfei accepted D145855: [X86] matchAddressRecursively - support zext(and(shl(x,c1)),c2) -> shl(zext(and(x, c2 >> c1),c1).

LGTM.

Sat, Mar 11, 6:09 PM · Restricted Project, Restricted Project

Fri, Mar 10

pengfei added inline comments to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.
Fri, Mar 10, 12:13 AM · Restricted Project, Restricted Project

Thu, Mar 9

pengfei added a comment to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Do you have plan to support minimumNumber?

Thu, Mar 9, 11:04 PM · Restricted Project, Restricted Project
pengfei added inline comments to D145650: [X86] Create extra prolog/epilog for stack realignment.
Thu, Mar 9, 6:34 PM · Restricted Project, Restricted Project

Wed, Mar 8

pengfei added inline comments to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.
Wed, Mar 8, 6:43 PM · Restricted Project, Restricted Project
pengfei added inline comments to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.
Wed, Mar 8, 6:36 PM · Restricted Project, Restricted Project

Tue, Mar 7

pengfei added a comment to D136919: [X86][RFC] Change mangle name of __bf16 from u6__bf16 to DF16b.

FWIW, at Arm we decided to keep the old name mangling to minimise friction with existing code/libraries, but allow more operations with this same name-mangling. We also discussed with Red Hat and they were ok with this.

Tue, Mar 7, 5:31 AM · Restricted Project, Restricted Project

Mon, Mar 6

pengfei added inline comments to D145237: [builtins] Only build float16/bfloat16 code if actually supported.
Mon, Mar 6, 6:57 AM · Restricted Project, Restricted Project

Fri, Mar 3

pengfei added a comment to D142287: [X86] Allow unaligned stores with KMOV* intrinsics.

Do you know what gcc does here?

Could you memcpy the __mmask64 into the byte buffer?

I think gcc does the same thing as clang. In both cases the issue can be observed with UBSAN.

memcpy can be used as a workaround but it is less ergonomic since both arguments are pointers which means it can only directly be used with lvalues. memcpy is also less explicit.

Intel's documentation of _store_mask64 does not specify any kind of alignment. Also, they document this intrinsic as being kmovq m64, k which has no alignment restrictions. I don't think it makes sense for intrinsics to enforce an arbitrary stricter alignment than instructions they represent.

Fri, Mar 3, 7:34 AM · Restricted Project, Restricted Project
pengfei added a comment to D145237: [builtins] Only build float16/bfloat16 code if actually supported.

Thanks for the fix, but I may not be qualified to approve.

Fri, Mar 3, 7:22 AM · Restricted Project, Restricted Project
pengfei added inline comments to D145221: [X86] Prefer `vpternlog` instead of `blendv` for `vselect` on masks..
Fri, Mar 3, 1:00 AM · Restricted Project, Restricted Project
pengfei added inline comments to D145220: [X86][InstCombine] Simplify some `pternlog` intrinsics.
Fri, Mar 3, 12:46 AM · Restricted Project, Restricted Project

Mar 2 2023

pengfei accepted D143786: [X86] Add `TuningPreferShiftShuffle` for when Shifts are preferable to shuffles..
Mar 2 2023, 12:13 AM · Restricted Project, Restricted Project

Mar 1 2023

pengfei requested changes to D145129: Recommit "[X86] Add `TuningPreferShiftShuffle` for when Shifts are preferable to shuffles." (2nd Try).

I'm confused. Isn't the patch identical to D143786?

Mar 1 2023, 11:59 PM · Restricted Project, Restricted Project
pengfei accepted D145129: Recommit "[X86] Add `TuningPreferShiftShuffle` for when Shifts are preferable to shuffles." (2nd Try).
Mar 1 2023, 11:53 PM · Restricted Project, Restricted Project

Feb 28 2023

pengfei added inline comments to D72820: [FPEnv] Add pragma FP_CONTRACT support under strict FP..
Feb 28 2023, 1:31 AM · Restricted Project, Restricted Project, Restricted Project

Feb 27 2023

pengfei committed rG2e0940c6a085: [X86] Fix for offsets of CFA directives (authored by theo25).
[X86] Fix for offsets of CFA directives
Feb 27 2023, 7:05 PM · Restricted Project, Restricted Project
pengfei closed D143618: [X86] Fix for offsets of CFA directives.
Feb 27 2023, 7:04 PM · Restricted Project, Restricted Project

Feb 25 2023

pengfei added a comment to D143786: [X86] Add `TuningPreferShiftShuffle` for when Shifts are preferable to shuffles..

Is this substituted by D144570?

Feb 25 2023, 6:21 AM · Restricted Project, Restricted Project
pengfei accepted D144776: [X86][MC] Assert unexpected form in emitREXPrefix, NFCI.

LGTM.

Feb 25 2023, 6:17 AM · Restricted Project, Restricted Project
pengfei added inline comments to D144570: [X86] Add support for using Sched/Codesize information to `X86FixupInstTuning` Pass..
Feb 25 2023, 6:13 AM · Restricted Project, Restricted Project
pengfei added inline comments to D144711: [DAGCombiner] don't reuse the pointer info for merged store.
Feb 25 2023, 5:42 AM · Restricted Project, Restricted Project
pengfei added inline comments to D144701: [COFF][X86_64] Put jump table in .rdata for Windows.
Feb 25 2023, 5:40 AM · Restricted Project, Restricted Project
pengfei added inline comments to D144776: [X86][MC] Assert unexpected form in emitREXPrefix, NFCI.
Feb 25 2023, 4:46 AM · Restricted Project, Restricted Project
pengfei added inline comments to D144776: [X86][MC] Assert unexpected form in emitREXPrefix, NFCI.
Feb 25 2023, 4:30 AM · Restricted Project, Restricted Project
pengfei accepted D144625: [X86] Fix the base pointer save/restore bug.

LGTM.

Feb 25 2023, 4:26 AM · Restricted Project, Restricted Project
pengfei added inline comments to D144776: [X86][MC] Assert unexpected form in emitREXPrefix, NFCI.
Feb 25 2023, 4:02 AM · Restricted Project, Restricted Project
pengfei added a comment to D143787: [X86] Add new pass `X86FixupInstTuning` for fixing up machine-instruction selection..

I don't think there exists such an API. We don't record such information for each instruction.

Feb 25 2023, 3:48 AM · Restricted Project, Restricted Project
pengfei added inline comments to D144776: [X86][MC] Assert unexpected form in emitREXPrefix, NFCI.
Feb 25 2023, 3:16 AM · Restricted Project, Restricted Project
pengfei added inline comments to D144625: [X86] Fix the base pointer save/restore bug.
Feb 25 2023, 2:40 AM · Restricted Project, Restricted Project

Feb 22 2023

pengfei added inline comments to D144570: [X86] Add support for using Sched/Codesize information to `X86FixupInstTuning` Pass..
Feb 22 2023, 5:01 PM · Restricted Project, Restricted Project
pengfei accepted D144541: [X86] Save/restore base pointer register when it is clobbered.

Looks great!

Feb 22 2023, 1:29 AM · Restricted Project, Restricted Project

Feb 20 2023

pengfei added inline comments to D144439: [X86] Disable base pointer register when it is clobbered..
Feb 20 2023, 5:30 PM · Restricted Project, Restricted Project
pengfei added a comment to D144439: [X86] Disable base pointer register when it is clobbered..

Should asm volatile ("nop"::"S"(405):); be asm volatile ("nop"::"b"(405):);?

Feb 20 2023, 5:23 PM · Restricted Project, Restricted Project

Feb 19 2023

pengfei added a comment to D144282: [X86] Add tests for (or/and (icmp eq/ne A, C0), (icmp eq/ne A, C1)) where IsPow2(dif(C0, C1)); NFC.

Can we add tests on demand? It looks to me there are tests neither touched by D144283 nor D144284.

There are some intentionally not touched tests *fail*. Would you prefer I drop some of them?

Feb 19 2023, 11:00 PM · Restricted Project, Restricted Project
pengfei added a comment to D144282: [X86] Add tests for (or/and (icmp eq/ne A, C0), (icmp eq/ne A, C1)) where IsPow2(dif(C0, C1)); NFC.

Can we add tests on demand? It looks to me there are tests neither touched by D144283 nor D144284.

Feb 19 2023, 7:07 PM · Restricted Project, Restricted Project