[PATCH] D87930: [DAG] Add BuildVectorSDNode::getRepeatedSequence helper to recognise multi-element splat patterns

Bing Yu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 18 22:42:34 PDT 2020


yubing added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:9830-9831
+    for (unsigned I = 0; I != NumOps; ++I) {
+      if (!DemandedElts[I])
+        continue;
+      SDValue &SeqOp = Sequence[I % SeqLen];
----------------
If we have a BV = [0,1,2,3,0,1,2,3], DemandedElts is 0b11011101, Shouldn't we return a Sequence = [0,undef,2,3]? But it seems if !DemandedElts[I], we will never set SeqOp, so the Sequence[1]  will be SDValue().


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D87930/new/

https://reviews.llvm.org/D87930



More information about the llvm-commits mailing list