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 | 6f2db57daebfb8e29c6d1417911ae043ec3aea1b (patch) | |
| tree | e7c21a83eb4f62547edda8ae84fd474b03572f47 /llvm/test | |
| parent | 0e6afbdd77f5575b46640a48f35b8c53a2357732 (diff) | |
| download | bcm5719-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.ll | 8 |
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 +} |

