summaryrefslogtreecommitdiff
path: root/lib/Target/AArch64/AArch64RegisterBankInfo.h
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2017-02-06 21:57:06 +0000
committerTim Northover <tnorthover@apple.com>2017-02-06 21:57:06 +0000
commit8000e7a0c3cf6c9c83fac6acc80a11b5e49f9b3b (patch)
treecbdf208fda3cec75affb2d6db87e6c1bbe58c366 /lib/Target/AArch64/AArch64RegisterBankInfo.h
parentbfa46663d1c362d19cebd7644bdb2e6b2f7b159f (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.h9
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
};