Page MenuHomePhabricator

LuoYuanke (LuoYuanke)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 24 2018, 10:28 PM (234 w, 5 d)

Recent Activity

Yesterday

LuoYuanke committed rT4b4faa5a42c4: [X86] Add test suite for stack realignment. (authored by LuoYuanke).
[X86] Add test suite for stack realignment.
Sat, Mar 25, 6:55 PM · Restricted Project
LuoYuanke closed D145926: [X86] Add test suite for stack realignment..
Sat, Mar 25, 6:55 PM · Restricted Project
LuoYuanke updated the diff for D145926: [X86] Add test suite for stack realignment..

Address Phoebe's comments.

Sat, Mar 25, 6:49 PM · Restricted Project
LuoYuanke added inline comments to D145926: [X86] Add test suite for stack realignment..
Sat, Mar 25, 6:46 PM · Restricted Project
LuoYuanke updated the summary of D145926: [X86] Add test suite for stack realignment..
Sat, Mar 25, 1:33 AM · Restricted Project
LuoYuanke added reviewers for D145926: [X86] Add test suite for stack realignment.: pengfei, RKSimon, rupprecht.
Sat, Mar 25, 1:31 AM · Restricted Project
LuoYuanke updated the diff for D145926: [X86] Add test suite for stack realignment..

Add test case to check function can return correctly with
extra prolog and epilog.

Sat, Mar 25, 1:30 AM · Restricted Project
LuoYuanke committed rG30b141a3b980: [X86] Fix the incorrect displacement for prolog/epilog (authored by LuoYuanke).
[X86] Fix the incorrect displacement for prolog/epilog
Sat, Mar 25, 12:57 AM · Restricted Project, Restricted Project
LuoYuanke closed D146862: [X86] Fix the incorrect displacement for prolog/epilog.
Sat, Mar 25, 12:57 AM · Restricted Project, Restricted Project

Fri, Mar 24

LuoYuanke updated the diff for D146862: [X86] Fix the incorrect displacement for prolog/epilog.

Address Phoebe's comments.

Fri, Mar 24, 9:22 PM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D146862: [X86] Fix the incorrect displacement for prolog/epilog.
Fri, Mar 24, 9:21 PM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D146862: [X86] Fix the incorrect displacement for prolog/epilog.
Fri, Mar 24, 9:13 PM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D146862: [X86] Fix the incorrect displacement for prolog/epilog.
Fri, Mar 24, 8:40 PM · Restricted Project, Restricted Project
LuoYuanke added a comment to D145650: [X86] Create extra prolog/epilog for stack realignment.

@rupprecht, could you help to check if https://reviews.llvm.org/D146862 can fix your issue?

Fri, Mar 24, 7:05 PM · Restricted Project, Restricted Project
LuoYuanke added reviewers for D146862: [X86] Fix the incorrect displacement for prolog/epilog: pengfei, rupprecht.
Fri, Mar 24, 7:04 PM · Restricted Project, Restricted Project
LuoYuanke requested review of D146862: [X86] Fix the incorrect displacement for prolog/epilog.
Fri, Mar 24, 7:03 PM · Restricted Project, Restricted Project
LuoYuanke added a comment to D145650: [X86] Create extra prolog/epilog for stack realignment.

repro_test`Halide::Runtime::Internal::halide_get_cpu_features:

0x55555806e23e <+1246>: movq   -0x48(%rbp), %r10
0x55555806e242 <+1250>: leaq   -0x28(%rbp), %rsp
0x55555806e246 <+1254>: popq   %rbx
0x55555806e247 <+1255>: popq   %r12
0x55555806e249 <+1257>: popq   %r13
0x55555806e24b <+1259>: popq   %r14
0x55555806e24d <+1261>: popq   %r15
0x55555806e24f <+1263>: popq   %rbp
0x55555806e250 <+1264>: leaq   -0x10(%r10), %rsp

-> 0x55555806e254 <+1268>: retq
(lldb) x/2 $rsp
0x7fffffffb810: 0xffffb890 0x00007fff
(lldb) x/2 0x7fffffffb818
0x7fffffffb818: 0x5806dc35 0x00005555

Fri, Mar 24, 6:55 PM · Restricted Project, Restricted Project
LuoYuanke committed rG0c36ab19081f: [NFC] Fix auto usage to avoid copies (authored by akshaykhadse).
[NFC] Fix auto usage to avoid copies
Fri, Mar 24, 2:30 AM · Restricted Project, Restricted Project
LuoYuanke closed D146694: [NFC] Fix auto usage to avoid copies.
Fri, Mar 24, 2:29 AM · Restricted Project, Restricted Project
LuoYuanke added a comment to D146694: [NFC] Fix auto usage to avoid copies.

@akshaykhadse, do you want me to help merge the patch?

Fri, Mar 24, 2:10 AM · Restricted Project, Restricted Project
LuoYuanke added a reviewer for D146791: Guard against dereferencing a nullptr: arsenm.
Fri, Mar 24, 2:06 AM · Restricted Project, Restricted Project

Thu, Mar 23

LuoYuanke accepted D146683: [DAG] Conservatively check the VSELECT Operation Action in tryToFoldExtendSelectLoad.

LGMT with NIT comments.

Thu, Mar 23, 7:32 PM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D146683: [DAG] Conservatively check the VSELECT Operation Action in tryToFoldExtendSelectLoad.
Thu, Mar 23, 7:25 PM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D146683: [DAG] Conservatively check the VSELECT Operation Action in tryToFoldExtendSelectLoad.
Thu, Mar 23, 6:56 AM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D146683: [DAG] Conservatively check the VSELECT Operation Action in tryToFoldExtendSelectLoad.
Thu, Mar 23, 6:50 AM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D146683: [DAG] Conservatively check the VSELECT Operation Action in tryToFoldExtendSelectLoad.
Thu, Mar 23, 5:51 AM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D146683: [DAG] Conservatively check the VSELECT Operation Action in tryToFoldExtendSelectLoad.
Thu, Mar 23, 5:41 AM · Restricted Project, Restricted Project
LuoYuanke accepted D146694: [NFC] Fix auto usage to avoid copies.

LGTM

Thu, Mar 23, 5:13 AM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D146683: [DAG] Conservatively check the VSELECT Operation Action in tryToFoldExtendSelectLoad.
Thu, Mar 23, 4:11 AM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D146694: [NFC] Fix auto usage to avoid copies.
Thu, Mar 23, 2:18 AM · Restricted Project, Restricted Project

Wed, Mar 22

LuoYuanke added inline comments to D146694: [NFC] Fix auto usage to avoid copies.
Wed, Mar 22, 11:57 PM · Restricted Project, Restricted Project
LuoYuanke retitled D146694: [NFC] Fix auto usage to avoid copies from Fix auto usage to avoid copies to [NFC] Fix auto usage to avoid copies.
Wed, Mar 22, 11:42 PM · Restricted Project, Restricted Project
LuoYuanke committed rGe4ceb5a7bb9b: [X86] Create extra prolog/epilog for stack realignment (authored by LuoYuanke).
[X86] Create extra prolog/epilog for stack realignment
Wed, Mar 22, 7:21 AM · Restricted Project, Restricted Project

Tue, Mar 21

LuoYuanke added a reverting change for rGe4c1dfed3837: [X86] Create extra prolog/epilog for stack realignment: rGda8260a9b111: Revert "[X86] Create extra prolog/epilog for stack realignment".
Tue, Mar 21, 5:30 AM · Restricted Project, Restricted Project
LuoYuanke committed rGda8260a9b111: Revert "[X86] Create extra prolog/epilog for stack realignment" (authored by LuoYuanke).
Revert "[X86] Create extra prolog/epilog for stack realignment"
Tue, Mar 21, 5:30 AM · Restricted Project, Restricted Project
LuoYuanke added a reverting change for D145650: [X86] Create extra prolog/epilog for stack realignment: rGda8260a9b111: Revert "[X86] Create extra prolog/epilog for stack realignment".
Tue, Mar 21, 5:30 AM · Restricted Project, Restricted Project
LuoYuanke added a reverting change for rG614c63bec6d6: [X86] Create extra prolog/epilog for stack realignment [part 2]: rG3e2d4e85d347: Revert "[X86] Create extra prolog/epilog for stack realignment [part 2]".
Tue, Mar 21, 5:14 AM · Restricted Project, Restricted Project
LuoYuanke committed rG3e2d4e85d347: Revert "[X86] Create extra prolog/epilog for stack realignment [part 2]" (authored by LuoYuanke).
Revert "[X86] Create extra prolog/epilog for stack realignment [part 2]"
Tue, Mar 21, 5:14 AM · Restricted Project, Restricted Project
LuoYuanke added a reverting change for D146489: [X86] Create extra prolog/epilog for stack realignment [part 2]: rG3e2d4e85d347: Revert "[X86] Create extra prolog/epilog for stack realignment [part 2]".
Tue, Mar 21, 5:14 AM · Restricted Project, Restricted Project
LuoYuanke added a comment to D145650: [X86] Create extra prolog/epilog for stack realignment.

There are live range issue for the physical register. Let me revert the patch first.

Tue, Mar 21, 5:11 AM · Restricted Project, Restricted Project
LuoYuanke added a comment to D145650: [X86] Create extra prolog/epilog for stack realignment.

It looks like this broke the expensive checks build (x86-64-baseptr.ll and i386-baseptr.ll fail).

Tue, Mar 21, 3:46 AM · Restricted Project, Restricted Project

Mon, Mar 20

LuoYuanke committed rG614c63bec6d6: [X86] Create extra prolog/epilog for stack realignment [part 2] (authored by LuoYuanke).
[X86] Create extra prolog/epilog for stack realignment [part 2]
Mon, Mar 20, 10:53 PM · Restricted Project, Restricted Project
LuoYuanke closed D146489: [X86] Create extra prolog/epilog for stack realignment [part 2].
Mon, Mar 20, 10:52 PM · Restricted Project, Restricted Project
LuoYuanke added a reviewer for D146489: [X86] Create extra prolog/epilog for stack realignment [part 2]: pengfei.
Mon, Mar 20, 6:11 PM · Restricted Project, Restricted Project
LuoYuanke requested review of D146489: [X86] Create extra prolog/epilog for stack realignment [part 2].
Mon, Mar 20, 6:11 PM · Restricted Project, Restricted Project
LuoYuanke abandoned D144541: [X86] Save/restore base pointer register when it is clobbered.
Mon, Mar 20, 5:55 PM · Restricted Project, Restricted Project
LuoYuanke abandoned D144439: [X86] Disable base pointer register when it is clobbered..
Mon, Mar 20, 5:54 PM · Restricted Project, Restricted Project
LuoYuanke committed rGe4c1dfed3837: [X86] Create extra prolog/epilog for stack realignment (authored by LuoYuanke).
[X86] Create extra prolog/epilog for stack realignment
Mon, Mar 20, 5:10 PM · Restricted Project, Restricted Project
LuoYuanke closed D145650: [X86] Create extra prolog/epilog for stack realignment.
Mon, Mar 20, 5:10 PM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D145650: [X86] Create extra prolog/epilog for stack realignment.
Mon, Mar 20, 4:56 PM · Restricted Project, Restricted Project
LuoYuanke updated the diff for D145650: [X86] Create extra prolog/epilog for stack realignment.

Address Phoebe's comments.

Mon, Mar 20, 4:55 PM · Restricted Project, Restricted Project

Mon, Mar 13

LuoYuanke updated the diff for D145650: [X86] Create extra prolog/epilog for stack realignment.

Address Simon's comments.

Mon, Mar 13, 6:08 PM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D145650: [X86] Create extra prolog/epilog for stack realignment.
Mon, Mar 13, 5:14 AM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D145650: [X86] Create extra prolog/epilog for stack realignment.
Mon, Mar 13, 5:11 AM · Restricted Project, Restricted Project
LuoYuanke added a comment to D145650: [X86] Create extra prolog/epilog for stack realignment.

The patch is ready for review.

Mon, Mar 13, 5:09 AM · Restricted Project, Restricted Project
LuoYuanke retitled D145650: [X86] Create extra prolog/epilog for stack realignment from [X86][WIP] Create extra prolog/epilog for stack realignment to [X86] Create extra prolog/epilog for stack realignment.
Mon, Mar 13, 5:08 AM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D145650: [X86] Create extra prolog/epilog for stack realignment.
Mon, Mar 13, 5:07 AM · Restricted Project, Restricted Project
LuoYuanke updated the diff for D145650: [X86] Create extra prolog/epilog for stack realignment.
  1. Use scratch register for argument base pointer.
  2. Fix CFI instruction
  3. Enhance replacement of frame pointer with argument base pointer.
  4. c++ test case (https://reviews.llvm.org/D145926) can pass with -g.
Mon, Mar 13, 5:01 AM · Restricted Project, Restricted Project
LuoYuanke requested review of D145926: [X86] Add test suite for stack realignment..
Mon, Mar 13, 5:00 AM · Restricted Project

Sun, Mar 12

LuoYuanke added inline comments to D145867: [X86][FP16] Optimize FMAXNUM/FMINNUM into SMAX/SMIN for FP16 emulation under fast math.
Sun, Mar 12, 5:03 PM · Restricted Project, Restricted Project
LuoYuanke accepted D145870: [X86][FP16] Combine bitcast(extract_vector_elt vXi16, N) to extract_vector_elt(bitcast(vXi16), N).
Sun, Mar 12, 4:28 PM · Restricted Project, Restricted Project

Sat, Mar 11

LuoYuanke retitled D145650: [X86] Create extra prolog/epilog for stack realignment from [X86] Create extra prolog/epilog for stack realignment to [X86][WIP] Create extra prolog/epilog for stack realignment.
Sat, Mar 11, 5:41 PM · Restricted Project, Restricted Project

Fri, Mar 10

LuoYuanke updated the diff for D145650: [X86] Create extra prolog/epilog for stack realignment.

Update test cases.

Fri, Mar 10, 8:03 PM · Restricted Project, Restricted Project
LuoYuanke committed rG91f7153965f2: [X86] Add unwind for base pointer test case. (authored by LuoYuanke).
[X86] Add unwind for base pointer test case.
Fri, Mar 10, 7:42 PM · Restricted Project, Restricted Project
LuoYuanke updated the diff for D145650: [X86] Create extra prolog/epilog for stack realignment.

Update test cases.

Fri, Mar 10, 7:18 PM · Restricted Project, Restricted Project
LuoYuanke committed rGb7021a3bed7b: [X86] Add regcall CC test case for base pointer register. (authored by LuoYuanke).
[X86] Add regcall CC test case for base pointer register.
Fri, Mar 10, 7:07 PM · Restricted Project, Restricted Project
LuoYuanke updated the diff for D145650: [X86] Create extra prolog/epilog for stack realignment.

Address Phoebe's comments.
Use virtual register for argument stack slot rebase.

Fri, Mar 10, 4:38 PM · Restricted Project, Restricted Project
LuoYuanke updated the diff for D145650: [X86] Create extra prolog/epilog for stack realignment.

Address some of Phoebe's comments. Need another patch
to create new register class.

Fri, Mar 10, 5:40 AM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D145650: [X86] Create extra prolog/epilog for stack realignment.
Fri, Mar 10, 5:35 AM · Restricted Project, Restricted Project

Wed, Mar 8

LuoYuanke added a reviewer for D145286: [WinEH] Fix issue of dynamic alloca in try block: efriedma.
Wed, Mar 8, 10:17 PM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D145650: [X86] Create extra prolog/epilog for stack realignment.
Wed, Mar 8, 10:14 PM · Restricted Project, Restricted Project
LuoYuanke updated the diff for D145650: [X86] Create extra prolog/epilog for stack realignment.

Add unwind attibute to test cfi instruction emit.

Wed, Mar 8, 10:13 PM · Restricted Project, Restricted Project
LuoYuanke added a comment to D144541: [X86] Save/restore base pointer register when it is clobbered.

This is the most straightforward/maintainable, probably.

Wed, Mar 8, 10:03 PM · Restricted Project, Restricted Project
LuoYuanke added reviewers for D145650: [X86] Create extra prolog/epilog for stack realignment: efriedma, pengfei, craig.topper, RKSimon.
Wed, Mar 8, 9:58 PM · Restricted Project, Restricted Project
LuoYuanke requested review of D145650: [X86] Create extra prolog/epilog for stack realignment.
Wed, Mar 8, 9:53 PM · Restricted Project, Restricted Project

Fri, Mar 3

LuoYuanke added a comment to D145275: [CGP] Hoist allocas used in catchpad instructions, if they are not in the entry block..

Hoisting like this is completely unsafe; dynamic allocation is dynamic for a reason (because the allocation is variable size, or happens in a loop).

How do you end up with IR that looks like "@hoist"? clang shouldn't generate IR like that.

Fri, Mar 3, 4:39 PM · Restricted Project, Restricted Project
LuoYuanke requested review of D145286: [WinEH] Fix issue of dynamic alloca in try block.
Fri, Mar 3, 4:31 PM · Restricted Project, Restricted Project

Mon, Feb 27

LuoYuanke added a comment to D144541: [X86] Save/restore base pointer register when it is clobbered.

Why it would mess unwinding?

I meant fp-based unwinding for profiling etc., not DWARF unwind.

That register (other register) may also be clobbered in another inline asm

We don't have to use the same register for each inline asm.

The base pointer register is reserved by compiler, we can't reserve too much register?

Don't know what ech cif_escape means

llvm-readobj --unwind can decode the DWARF for you.

The important thing is that it allocates a variable amount of space between the arguments and the frame pointer, and saves the incoming value of esp on the stack.

Mon, Feb 27, 6:40 PM · Restricted Project, Restricted Project
LuoYuanke accepted D144701: [COFF][X86_64] Put jump table in .rdata for Windows.

LGTM.

Mon, Feb 27, 6:38 PM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D144701: [COFF][X86_64] Put jump table in .rdata for Windows.
Mon, Feb 27, 6:27 PM · Restricted Project, Restricted Project
LuoYuanke added a comment to D144541: [X86] Save/restore base pointer register when it is clobbered.

Possible alternatives:

  • Use ebp... but this messes with unwinding, and doesn't actually solve the issue in general (if the inline asm references function arguments, those references are ebp-relative).

Why it would mess unwinding? The cfi instruction can indicate %esi to compute CFA. The assembly code may look like below. Yes, there is still issue if inline asm references function arguments after modifying %esi.

Mon, Feb 27, 3:57 AM · Restricted Project, Restricted Project

Sun, Feb 26

LuoYuanke added a comment to D141899: [IR][X86] Remove X86AMX type in LLVM IR instead of target extension.

Deal. And because I am on busy for a long time and it is also better to let intel guy handle x86-related feature, I am happy with the patch being commandeered.

Sun, Feb 26, 5:31 PM · Restricted Project, Restricted Project, Restricted Project

Sat, Feb 25

LuoYuanke added inline comments to D144701: [COFF][X86_64] Put jump table in .rdata for Windows.
Sat, Feb 25, 5:33 PM · Restricted Project, Restricted Project
LuoYuanke added a comment to D144541: [X86] Save/restore base pointer register when it is clobbered.

What happens if an inline asm both has a memory reference, and clobbers the base pointer? How do we refer to memory?

Sat, Feb 25, 4:30 PM · Restricted Project, Restricted Project
LuoYuanke updated the diff for D144541: [X86] Save/restore base pointer register when it is clobbered.

Rebase and update test case.

Sat, Feb 25, 6:28 AM · Restricted Project, Restricted Project
LuoYuanke committed rGba8a520512b7: [X86] Fix the base pointer save/restore bug (authored by LuoYuanke).
[X86] Fix the base pointer save/restore bug
Sat, Feb 25, 5:13 AM · Restricted Project, Restricted Project
LuoYuanke closed D144625: [X86] Fix the base pointer save/restore bug.
Sat, Feb 25, 5:13 AM · Restricted Project, Restricted Project
LuoYuanke updated the diff for D144625: [X86] Fix the base pointer save/restore bug.

Address Phoebe's comments.

Sat, Feb 25, 3:19 AM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D144625: [X86] Fix the base pointer save/restore bug.
Sat, Feb 25, 3:18 AM · Restricted Project, Restricted Project

Feb 24 2023

LuoYuanke added a comment to D144625: [X86] Fix the base pointer save/restore bug.

It's been a decade since I've worked with LLVM. The change looks okay to me.

Feb 24 2023, 5:06 PM · Restricted Project, Restricted Project

Feb 23 2023

LuoYuanke updated the diff for D144625: [X86] Fix the base pointer save/restore bug.

update test case.

Feb 23 2023, 4:40 AM · Restricted Project, Restricted Project
LuoYuanke added a reviewer for D144625: [X86] Fix the base pointer save/restore bug: hliao.
Feb 23 2023, 1:26 AM · Restricted Project, Restricted Project
LuoYuanke added a comment to D6388: Restore X86 base pointer after call to llvm.eh.sjlj.setjmp.

I create https://reviews.llvm.org/D144625 to address the issues.

Feb 23 2023, 1:25 AM · Restricted Project
Herald added a project to D6388: Restore X86 base pointer after call to llvm.eh.sjlj.setjmp: Restricted Project.
Feb 23 2023, 1:23 AM · Restricted Project
LuoYuanke added inline comments to D144625: [X86] Fix the base pointer save/restore bug.
Feb 23 2023, 1:16 AM · Restricted Project, Restricted Project
LuoYuanke added inline comments to D144541: [X86] Save/restore base pointer register when it is clobbered.
Feb 23 2023, 1:14 AM · Restricted Project, Restricted Project
LuoYuanke added reviewers for D144625: [X86] Fix the base pointer save/restore bug: ArchDRobison, craig.topper, pengfei, RKSimon.
Feb 23 2023, 1:14 AM · Restricted Project, Restricted Project
LuoYuanke requested review of D144625: [X86] Fix the base pointer save/restore bug.
Feb 23 2023, 1:13 AM · Restricted Project, Restricted Project

Feb 22 2023

LuoYuanke added inline comments to D144541: [X86] Save/restore base pointer register when it is clobbered.
Feb 22 2023, 5:03 AM · Restricted Project, Restricted Project
LuoYuanke updated the diff for D144541: [X86] Save/restore base pointer register when it is clobbered.

Address Craig's comments.

Feb 22 2023, 5:00 AM · Restricted Project, Restricted Project