forked from OSchip/llvm-project
[DAGCombine] Bail out if can't create a vector with at least two elements
Summary: Fixes pr32278 Reviewers: igorb, craig.topper, RKSimon, spatel, hfinkel Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30978 llvm-svn: 297878
This commit is contained in:
parent
13f080fbeb
commit
48cdde0e59
|
@ -14098,8 +14098,11 @@ SDValue DAGCombiner::visitCONCAT_VECTORS(SDNode *N) {
|
|||
if (!SclTy.isFloatingPoint() && !SclTy.isInteger())
|
||||
return SDValue();
|
||||
|
||||
EVT NVT = EVT::getVectorVT(*DAG.getContext(), SclTy,
|
||||
VT.getSizeInBits() / SclTy.getSizeInBits());
|
||||
unsigned VNTNumElms = VT.getSizeInBits() / SclTy.getSizeInBits();
|
||||
if (VNTNumElms < 2)
|
||||
return SDValue();
|
||||
|
||||
EVT NVT = EVT::getVectorVT(*DAG.getContext(), SclTy, VNTNumElms);
|
||||
if (!TLI.isTypeLegal(NVT) || !TLI.isTypeLegal(Scalar.getValueType()))
|
||||
return SDValue();
|
||||
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
; PR32278
|
||||
; XFAIL: *
|
||||
; REQUIRES: asserts
|
||||
|
||||
; RUN: llc < %s
|
||||
|
||||
|
|
Loading…
Reference in New Issue