[ARM64EC 3/?] Mark reserved registers specific to ARM64EC ABI.
authorEli Friedman <efriedma@quicinc.com>
Mon, 5 Sep 2022 19:59:39 +0000 (12:59 -0700)
committerEli Friedman <efriedma@quicinc.com>
Mon, 5 Sep 2022 19:59:39 +0000 (12:59 -0700)
commit4658366d95d5e398baad956225cc4ba339d5b037
tree1823be59422dc3e0beb9240dd2bd0544a76253f2
parent63335afb4ebaabc1f983b1f1dbb07816ef4f288f
[ARM64EC 3/?] Mark reserved registers specific to ARM64EC ABI.

Part of patchset to add initial support for ARM64EC.

I'm not completely sure I understand the reason for this restriction,
but Microsoft documentation says that asynchronous signals clobber these
registers, so we can't ever use them.

As far as I know, none of these registers have any hardcoded meaning, so
reserving them shouldn't have any significant side-effects.

Differental Revision: https://reviews.llvm.org/D125413
llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
llvm/lib/Target/AArch64/AArch64Subtarget.h
llvm/test/CodeGen/AArch64/arm64ec-reservedregs.ll [new file with mode: 0644]
llvm/utils/UpdateTestChecks/asm.py