[PATCH] D132531: [AArch64] Reserve more physical registers

Guozhi Wei via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 23 22:08:45 PDT 2022


Carrot created this revision.
Carrot added a reviewer: dmgreen.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
Carrot requested review of this revision.
Herald added subscribers: llvm-commits, cfe-commits, MaskRay.
Herald added projects: clang, LLVM.

Reserved physical registers can't be assigned to virtual registers, but they can still be used as ABI required. So we can reserve X8, X16, X17 and X19.

Similarly argument registers can be reserved even if they are used by function call.

With this change we can reserve most of the physical registers, it is much easier to test and debug register allocator.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D132531

Files:
  clang/lib/Driver/ToolChains/Arch/AArch64.cpp
  llvm/lib/Target/AArch64/AArch64.td
  llvm/lib/Target/AArch64/AArch64FastISel.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
  llvm/lib/Target/AArch64/AArch64RegisterInfo.h
  llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
  llvm/test/CodeGen/AArch64/arm64-platform-reg.ll
  llvm/test/CodeGen/AArch64/arm64-reserved-arg-reg-call-error.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D132531.455071.patch
Type: text/x-patch
Size: 10936 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220824/3c3145e7/attachment-0001.bin>


More information about the cfe-commits mailing list