Page MenuHomePhabricator

lrzlin (Lin Runze)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 15 2022, 7:40 AM (15 w, 1 d)

Recent Activity

Dec 26 2022

lrzlin added a comment to D140670: [LoongArch][test] Regenerate checks for the ghc-cc.ll test case.

Thanks for the quick fix, sorry for my fault on that.

Dec 26 2022, 8:37 AM · Restricted Project, Restricted Project
lrzlin updated the diff for D137495: [LoongArch] Add GHC Calling Convention.
Dec 26 2022, 8:34 AM · Restricted Project, Restricted Project
lrzlin added a comment to D137495: [LoongArch] Add GHC Calling Convention.

Delete blank lines as @SixWeining suggest.

Thanks. Do you have commit access? If not, I could commit it for you if you leave the name and email here.

Dec 26 2022, 2:44 AM · Restricted Project, Restricted Project
lrzlin added a comment to D137495: [LoongArch] Add GHC Calling Convention.

Delete blank lines as @SixWeining suggest.

Dec 26 2022, 2:38 AM · Restricted Project, Restricted Project
lrzlin updated the diff for D137495: [LoongArch] Add GHC Calling Convention.
Dec 26 2022, 2:36 AM · Restricted Project, Restricted Project

Dec 24 2022

lrzlin updated the diff for D137495: [LoongArch] Add GHC Calling Convention.

Using dso_local in ghc-cc.ll and revert the changes in getAddr() to keep the semantics of dso_preemtable.

Dec 24 2022, 1:15 AM · Restricted Project, Restricted Project

Dec 14 2022

lrzlin added a comment to D137495: [LoongArch] Add GHC Calling Convention.
  1. Could you please rebase the change? I failed to apply it to my codebase.
  2. It's better to add -U999999 when generating the change so that we can have more context. See: https://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface
Dec 14 2022, 1:13 AM · Restricted Project, Restricted Project
lrzlin updated the diff for D137495: [LoongArch] Add GHC Calling Convention.
Dec 14 2022, 1:10 AM · Restricted Project, Restricted Project

Dec 7 2022

lrzlin updated the diff for D137495: [LoongArch] Add GHC Calling Convention.

Following @xen0n's advice: Fix --mattr and replace pointer types with opaque pointers in ghc-cc.ll, delete TODO in CodeModel:Small and make it fall through to CodeModel:Medium.

Dec 7 2022, 2:18 AM · Restricted Project, Restricted Project

Nov 7 2022

lrzlin added a comment to D137495: [LoongArch] Add GHC Calling Convention.

@wangleiat
Basically, what GHC calling convention do is mapping the virtual registers of STG Machine (part of the Haskell Runtime System) into real registers, so here in ghc-cc.ll must be pcrel, in short, it isn't a function call, but a simple value load process, using got here will lead to load a symbol twice, which isn't a function symbol, so it will not present in GOT table. More information about this calling convention could find on GHC llvm porting
Also, using -pic or not is determined by GHC itself, and judge by its knowing behavior, isPositionIndependent is needed to avoid generating got patterns while compiling it using llvm backend.

Nov 7 2022, 2:16 AM · Restricted Project, Restricted Project
lrzlin updated the summary of D137495: [LoongArch] Add GHC Calling Convention.
Nov 7 2022, 12:43 AM · Restricted Project, Restricted Project
lrzlin added a comment to D137495: [LoongArch] Add GHC Calling Convention.

@wangleiat
I have consulted the RISC-V codemodel here, which CodeModel::Small is represented by addi (lui %hi(sym)) %lo(sym), using for accessing the first 2GiB of address space, I think it could be implemented in LoongArch also, or LoongArch have a different codemodel here?

RISC-V only distinguishes when relocation-model=static is specified, but it is not required on LoongArch. On LoongArch, regardless of relocation-model=everything, it is sufficient to use pc-relative instructions.

Nov 7 2022, 12:39 AM · Restricted Project, Restricted Project

Nov 6 2022

lrzlin added a comment to D137495: [LoongArch] Add GHC Calling Convention.

@wangleiat
I have consulted the RISC-V codemodel here, which CodeModel::Small is represented by addi (lui %hi(sym)) %lo(sym), using for accessing the first 2GiB of address space, I think it could be implemented in LoongArch also, or LoongArch have a different codemodel here?

Nov 6 2022, 9:37 PM · Restricted Project, Restricted Project
lrzlin added a comment to D137495: [LoongArch] Add GHC Calling Convention.

This is used in Implement LoongArch64 LLVM backend support

Nov 6 2022, 6:39 AM · Restricted Project, Restricted Project
lrzlin updated the diff for D137495: [LoongArch] Add GHC Calling Convention.

Fix typos of the register mapping and delete empty lines.

Nov 6 2022, 1:43 AM · Restricted Project, Restricted Project

Nov 5 2022

lrzlin added a comment to D137495: [LoongArch] Add GHC Calling Convention.

Is GHC buildable now? If not, such changes probably should be deferred until verification can actually be made.

Nov 5 2022, 10:00 PM · Restricted Project, Restricted Project
lrzlin requested review of D137495: [LoongArch] Add GHC Calling Convention.
Nov 5 2022, 11:39 AM · Restricted Project, Restricted Project

Oct 19 2022

lrzlin accepted D136220: [LoongArch] Fix 32-bit and 64-bit atomicrmw nand operand order errors.
Oct 19 2022, 10:00 AM · Restricted Project, Restricted Project

Oct 15 2022

lrzlin requested review of D136021: [LoongArch] Fix codegen of atomicrmw nand.
Oct 15 2022, 9:21 AM · Restricted Project, Restricted Project