Add a trivial ArrayRef helper overload to the SelectionDAG interface.
authorChandler Carruth <chandlerc@gmail.com>
Fri, 30 May 2014 03:50:06 +0000 (03:50 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Fri, 30 May 2014 03:50:06 +0000 (03:50 +0000)
I'm using this pretty frequently in a patch I'm working on and it seems
generally useful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209872 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/SelectionDAG.h

index d9c38c072ddfd96b664f6cdf6251ec5c8d0b1553..bbcbf607f7eba1a8d548bf7e16c3329318beeee0 100644 (file)
@@ -540,6 +540,12 @@ public:
   /// undefined.
   SDValue getVectorShuffle(EVT VT, SDLoc dl, SDValue N1, SDValue N2,
                            const int *MaskElts);
+  SDValue getVectorShuffle(EVT VT, SDLoc dl, SDValue N1, SDValue N2,
+                           ArrayRef<int> MaskElts) {
+    assert(VT.getVectorNumElements() == MaskElts.size() &&
+           "Must have the same number of vector elements as mask elements!");
+    return getVectorShuffle(VT, dl, N1, N2, MaskElts.data());
+  }
 
   /// getAnyExtOrTrunc - Convert Op, which must be of integer type, to the
   /// integer type VT, by either any-extending or truncating it.