[PATCH] D62686: [WIP][RISCV] Add support for save/restore of callee-saved registers via libcalls

Edward Jones via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 17 08:31:16 PDT 2019


edward-jones added a comment.

Since CFI emission has been added this probably needs to be rebased. I don't think CFI should materially affect the implementation though.

Overall the patch looks good. As well as a test for varargs I would also suggest adding a non-varargs test for a function with arguments passed via the stack.

I noticed that GCC only emits __riscv_save_* and __riscv_restore_* when there are >4 stack callee saved registers to be saved. So it might be worth making the threshold for when to apply this optimization dependent on whether you are compiling for size or speed (though that may be more appropriate in a future patch)


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62686/new/

https://reviews.llvm.org/D62686





More information about the llvm-commits mailing list