[PATCH] D48411: [RISCV] Support for __attribute__((interrupt))

Ana Pazos via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 20 18:46:31 PDT 2018


apazos created this revision.
apazos added a reviewer: asb.
Herald added subscribers: rogfer01, mgrang, edward-jones, zzheng, shiva0217, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, rbar.

- Save all GRPs at prologue and restore them at epilogue of functions with  "interrupt" attribute.
- Emit special return instructions depending on "interrupt" attribute type.

Patch by Zhaoshi Zheng.


https://reviews.llvm.org/D48411

Files:
  lib/Target/RISCV/RISCVCallingConv.td
  lib/Target/RISCV/RISCVFrameLowering.cpp
  lib/Target/RISCV/RISCVISelLowering.cpp
  lib/Target/RISCV/RISCVISelLowering.h
  lib/Target/RISCV/RISCVInstrInfo.cpp
  lib/Target/RISCV/RISCVInstrInfo.td
  lib/Target/RISCV/RISCVRegisterInfo.cpp
  lib/Target/RISCV/RISCVSubtarget.cpp
  test/CodeGen/RISCV/interrupt-attr-args-error.ll
  test/CodeGen/RISCV/interrupt-attr-invalid.ll
  test/CodeGen/RISCV/interrupt-attr-ret-error.ll
  test/CodeGen/RISCV/interrupt-attr.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48411.152212.patch
Type: text/x-patch
Size: 14588 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180621/fb201a53/attachment-0001.bin>


More information about the llvm-commits mailing list