[VectorUtils] Use namespace for InterleaveGroup template specialization.

llvm-svn: 346759
diff --git a/llvm/lib/Analysis/VectorUtils.cpp b/llvm/lib/Analysis/VectorUtils.cpp
index 9c3bf7d..9ebb016 100644
--- a/llvm/lib/Analysis/VectorUtils.cpp
+++ b/llvm/lib/Analysis/VectorUtils.cpp
@@ -966,6 +966,12 @@
   RequiresScalarEpilogue = false;
 }
 
+template <typename InstT>
+void InterleaveGroup<InstT>::addMetadata(InstT *NewInst) const {
+  llvm_unreachable("addMetadata can only be used for Instruction");
+}
+
+namespace llvm {
 template <>
 void InterleaveGroup<Instruction>::addMetadata(Instruction *NewInst) const {
   SmallVector<Value *, 4> VL;
@@ -973,8 +979,4 @@
                  [](std::pair<int, Instruction *> p) { return p.second; });
   propagateMetadata(NewInst, VL);
 }
-
-template <typename InstT>
-void InterleaveGroup<InstT>::addMetadata(InstT *NewInst) const {
-  llvm_unreachable("addMetadata can only be used for Instruction");
 }