summaryrefslogtreecommitdiffstats
path: root/llvm/test
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
commit6f2db57daebfb8e29c6d1417911ae043ec3aea1b (patch)
treee7c21a83eb4f62547edda8ae84fd474b03572f47 /llvm/test
parent0e6afbdd77f5575b46640a48f35b8c53a2357732 (diff)
downloadbcm5719-llvm-6f2db57daebfb8e29c6d1417911ae043ec3aea1b.tar.gz
bcm5719-llvm-6f2db57daebfb8e29c6d1417911ae043ec3aea1b.zip
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. llvm-svn: 294248
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
index 84f2a1c6e70..96ec2152725 100644
--- a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
@@ -82,3 +82,11 @@ define void @legal_default([8 x i8] %in) {
insertvalue { [4 x i8], [8 x i8], [4 x i8] } undef, [8 x i8] %in, 1
ret void
}
+
+ ; AArch64 was asserting instead of returning an invalid mapping for unknown
+ ; sizes.
+; FALLBACK-WITH-REPORT-ERR: warning: Instruction selection used fallback path for sequence_sizes
+; FALLBACK-WITH-REPORT-LABEL: sequence_sizes:
+define i128 @sequence_sizes([8 x i8] %in) {
+ ret i128 undef
+}
OpenPOWER on IntegriCloud