diff options
author | Tim Northover <tnorthover@apple.com> | 2017-02-06 21:57:06 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2017-02-06 21:57:06 +0000 |
commit | 8000e7a0c3cf6c9c83fac6acc80a11b5e49f9b3b (patch) | |
tree | cbdf208fda3cec75affb2d6db87e6c1bbe58c366 /lib/Target/AArch64/AArch64RegisterBankInfo.h | |
parent | bfa46663d1c362d19cebd7644bdb2e6b2f7b159f (diff) |
GlobalISel: fall back gracefully when we can't map an operand's size.
AArch64 was asserting when it was asked to provide a register-bank of a size it
couldn't deal with (in this case an s128 IMPLICIT_DEF). But we want a robust
fallback path so this isn't allowed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294248 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/AArch64/AArch64RegisterBankInfo.h')
-rw-r--r-- | lib/Target/AArch64/AArch64RegisterBankInfo.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/Target/AArch64/AArch64RegisterBankInfo.h b/lib/Target/AArch64/AArch64RegisterBankInfo.h index bc609f422ac..0a795a42c0b 100644 --- a/lib/Target/AArch64/AArch64RegisterBankInfo.h +++ b/lib/Target/AArch64/AArch64RegisterBankInfo.h @@ -47,11 +47,12 @@ protected: static PartialMappingIdx BankIDToCopyMapIdx[]; enum ValueMappingIdx { - First3OpsIdx = 0, - Last3OpsIdx = 18, + InvalidIdx = 0, + First3OpsIdx = 1, + Last3OpsIdx = 19, DistanceBetweenRegBanks = 3, - FirstCrossRegCpyIdx = 21, - LastCrossRegCpyIdx = 33, + FirstCrossRegCpyIdx = 22, + LastCrossRegCpyIdx = 34, DistanceBetweenCrossRegCpy = 2 }; |