Page MenuHomePhabricator

xudaliang.pku (Daliang Xu)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 15 2018, 7:18 AM (47 w, 6 d)

Recent Activity

Apr 2 2019

xudaliang.pku added a comment to D59592: [RISCV] support ilp32e Calling Convention.
In D59592#1445996, @asb wrote:

Hi Daliang., thanks for the submission. One problem I think you'll find once you extend the tests is that support for realigning the stack is going to be required - e.g. if passing a double (8-byte aligned) on the stack (4-byte aligned).

Apr 2 2019, 2:57 AM · Restricted Project
xudaliang.pku updated the diff for D59592: [RISCV] support ilp32e Calling Convention.
  1. fix the bug on double check the interrupt mask
  2. give a test of passing a double (8-byte aligned) on the stack (4-byte aligned) in calling-conv-ilp32e.ll for func: caller_double_on_stack and callee_double_on_stack
Apr 2 2019, 2:43 AM · Restricted Project

Mar 30 2019

xudaliang.pku added a comment to D59592: [RISCV] support ilp32e Calling Convention.
In D59592#1445996, @asb wrote:

Hi Daliang., thanks for the submission. One problem I think you'll find once you extend the tests is that support for realigning the stack is going to be required - e.g. if passing a double (8-byte aligned) on the stack (4-byte aligned).

Mar 30 2019, 3:45 AM · Restricted Project

Mar 21 2019

xudaliang.pku added inline comments to D59592: [RISCV] support ilp32e Calling Convention.
Mar 21 2019, 5:51 AM · Restricted Project

Mar 20 2019

xudaliang.pku updated subscribers of D59592: [RISCV] support ilp32e Calling Convention.
Mar 20 2019, 7:29 AM · Restricted Project
xudaliang.pku removed a project from D59592: [RISCV] support ilp32e Calling Convention: Restricted Project.
Mar 20 2019, 7:22 AM · Restricted Project
xudaliang.pku removed a project from D59592: [RISCV] support ilp32e Calling Convention: Restricted Project.
Mar 20 2019, 7:21 AM · Restricted Project
xudaliang.pku created D59592: [RISCV] support ilp32e Calling Convention.
Mar 20 2019, 1:12 AM · Restricted Project

Oct 16 2018

xudaliang.pku added a comment to D53291: add riscv32e to the llvm.

The RISCVABIInfo constructor is called by RISCVTargetCodeGenInfo's constructor, which in turn is called by CodeGenModule::getTargetCodeGenInfo. CodeGenModule has a getTarget() which should give you access to the feature flags?

Oct 16 2018, 11:22 PM · Restricted Project
xudaliang.pku added a comment to D53291: add riscv32e to the llvm.

That's correct.

rv32e is just about hardware. Registers x16-x31 do not exist.

ilp32e is just about software. The function call convention and stack layout, as you say.

The link you point to should have that section renamed.

Oct 16 2018, 2:19 AM · Restricted Project
xudaliang.pku added a comment to D53291: add riscv32e to the llvm.
In D53291#1266088, @asb wrote:

Hi Daliang and welcome to the LLVM community.

Many thanks for your work on RV32E support. In our discussion on the sw-dev mailing list I suggested splitting this task into the MC layer, calling convention, and codegen support. I'd recommend preparing patches in a way that does this. Each of these elements should come along with tests.

You shouldn't need to have riscv32e as a new triple. Just rely on the SubtargetFeature - this should remove a lot of code from this patch.

Oct 16 2018, 1:55 AM · Restricted Project
xudaliang.pku added a comment to D53291: add riscv32e to the llvm.

rv32e arch and ilp32e ABI is decoupling is GCC, that's mean rv32i with ilp32e is possible, so I would suggest separate two thing.

Very true.

In embedded systems it can often make sense to use the ilp32e ABI even on CPUs with 32 registers because there are significantly fewer argument and temporary registers, making interrupt response time shorter. All the high 16 registers are callee-save, which means you can use them if required but you need to save them first and restore them after.

Oct 16 2018, 1:10 AM · Restricted Project

Oct 15 2018

xudaliang.pku created D53293: add riscv32e to the clang.
Oct 15 2018, 8:17 AM
xudaliang.pku updated the summary of D53291: add riscv32e to the llvm.
Oct 15 2018, 8:15 AM · Restricted Project
xudaliang.pku created D53291: add riscv32e to the llvm.
Oct 15 2018, 7:59 AM · Restricted Project