[PATCH] D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y)
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Aug 25 11:45:20 PDT 2019
- Previous message: [PATCH] D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y)
- Next message: [PATCH] D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
craig.topper added inline comments.
================
Comment at: lib/CodeGen/SelectionDAG/DAGCombiner.cpp:16448-16450
+ SmallVector<int, 16> NewMask(Mask.size());
+ for (size_t i = 0; i < Mask.size(); i++)
+ NewMask[i] = Mask[i];
----------------
deadalnix wrote:
> lebedev.ri wrote:
> > So `NewMask` is simply inited as a copy of `SVN->getMask()`?
> > Would something like `SmallVector<int, 16> NewMask(SVN->getMask());` just work?
> I asked mys elf the same question. This doesn't seem to work.
Yeah SmallVector doesn't take an ArrayRef, but you can do
SmallVector<int, 16> NewMask(Mask.begin(), Mask.end());
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66718/new/
https://reviews.llvm.org/D66718
- Previous message: [PATCH] D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y)
- Next message: [PATCH] D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the llvm-commits
mailing list