diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-12-06 15:39:25 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-12-06 15:39:25 +0000 |
commit | 105a3662546d8ec92641ef3a8dbebc51f954f2f8 (patch) | |
tree | 5898bb00d9b94cf14deea49551ebf73c593adf55 /llvm/lib/CodeGen/SelectionDAG | |
parent | 9c9067316be2b802a3af689b94aadc2740a47bcc (diff) | |
download | bcm5719-llvm-105a3662546d8ec92641ef3a8dbebc51f954f2f8.tar.gz bcm5719-llvm-105a3662546d8ec92641ef3a8dbebc51f954f2f8.zip |
DAGCombiner::visitINSERT_VECTOR_ELT - pull out repeated VT.getVectorNumElements(). NFCI.
llvm-svn: 348494
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 326b08d60ce..4b3e0f8fc18 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -15360,6 +15360,7 @@ SDValue DAGCombiner::visitINSERT_VECTOR_ELT(SDNode *N) { return InVec; EVT VT = InVec.getValueType(); + unsigned NumElts = VT.getVectorNumElements(); // Remove redundant insertions: // (insert_vector_elt x (extract_vector_elt x idx) idx) -> x @@ -15372,7 +15373,7 @@ SDValue DAGCombiner::visitINSERT_VECTOR_ELT(SDNode *N) { // If this is variable insert to undef vector, it might be better to splat: // inselt undef, InVal, EltNo --> build_vector < InVal, InVal, ... > if (InVec.isUndef() && TLI.shouldSplatInsEltVarIndex(VT)) { - SmallVector<SDValue, 8> Ops(VT.getVectorNumElements(), InVal); + SmallVector<SDValue, 8> Ops(NumElts, InVal); return DAG.getBuildVector(VT, DL, Ops); } return SDValue(); @@ -15417,11 +15418,11 @@ SDValue DAGCombiner::visitINSERT_VECTOR_ELT(SDNode *N) { Ops.append(InVec.getNode()->op_begin(), InVec.getNode()->op_end()); } else if (InVec.isUndef()) { - unsigned NElts = VT.getVectorNumElements(); - Ops.append(NElts, DAG.getUNDEF(InVal.getValueType())); + Ops.append(NumElts, DAG.getUNDEF(InVal.getValueType())); } else { return SDValue(); } + assert(Ops.size() == NumElts && "Unexpected vector size"); // Insert the element if (Elt < Ops.size()) { |