diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-12-27 12:00:18 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-12-27 12:00:18 +0000 |
| commit | e7d032f1d86cded3161bd38e3ed0e0eadb3742f7 (patch) | |
| tree | fc726ddac870fa62e2327961f5b0775f2f3e844a /llvm/test/Transforms | |
| parent | 6fad3cbc6662099c7d390d5533e627295cdf7156 (diff) | |
| download | bcm5719-llvm-e7d032f1d86cded3161bd38e3ed0e0eadb3742f7.tar.gz bcm5719-llvm-e7d032f1d86cded3161bd38e3ed0e0eadb3742f7.zip | |
[InstCombine] Gracefully handle out of range extractelement indices
InstSimplify is responsible for handling these, but we shouldn't just assert here.
Reduced from oss-fuzz #4808 test case
llvm-svn: 321489
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/extractelement.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/extractelement.ll b/llvm/test/Transforms/InstCombine/extractelement.ll new file mode 100644 index 00000000000..66fbd25947d --- /dev/null +++ b/llvm/test/Transforms/InstCombine/extractelement.ll @@ -0,0 +1,11 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py +; RUN: opt < %s -instcombine -S | FileCheck %s + +define i32 @extractelement_out_of_range(<2 x i32> %x) { +; CHECK-LABEL: @extractelement_out_of_range( +; CHECK-NEXT: [[E1:%.*]] = extractelement <2 x i32> [[X:%.*]], i8 16 +; CHECK-NEXT: ret i32 [[E1]] +; + %E1 = extractelement <2 x i32> %x, i8 16 + ret i32 %E1 +} |

