[all-commits] [llvm/llvm-project] e4500b: [AArch64][GlobalISel] Handle rtcGPR64RegClassID in...
Raul Tambre via All-commits
all-commits at lists.llvm.org
Wed Nov 25 16:21:33 PST 2020
Branch: refs/heads/release/11.x
Home: https://github.com/llvm/llvm-project
Commit: e4500bab8b29bdea2f4c51e8a143b8122491e6f5
https://github.com/llvm/llvm-project/commit/e4500bab8b29bdea2f4c51e8a143b8122491e6f5
Author: Raul Tambre <raul at tambre.ee>
Date: 2020-11-25 (Wed, 25 Nov 2020)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-default.mir
Log Message:
-----------
[AArch64][GlobalISel] Handle rtcGPR64RegClassID in AArch64RegisterBankInfo::getRegBankFromRegClass()
TargetRegisterInfo::getMinimalPhysRegClass() returns rtcGPR64RegClassID for X16
and X17, as it's the last matching class. This in turn gets passed to
AArch64RegisterBankInfo::getRegBankFromRegClass(), which hits an unreachable.
It seems sensible to handle this case, so copies from X16 and X17 work.
Copying from X17 is used in inline assembly in libunwind for pointer
authentication.
Differential Revision: https://reviews.llvm.org/D85720
(cherry picked from commit e887d0e89b837be37b4279735a9c1ac57e90c995)
More information about the All-commits
mailing list