From 566bd12e54247b96823112e945e67ed7b9b7dce0 Mon Sep 17 00:00:00 2001
From: Devang Patel <dpatel@apple.com>
Date: Fri, 4 Mar 2011 01:20:33 +0000
Subject: [PATCH] Add ArrayRef variant.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126978 91177308-0d34-0410-b5e6-96231b3b80d8
---
 include/llvm/Metadata.h | 3 +++
 lib/VMCore/Metadata.cpp | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/include/llvm/Metadata.h b/include/llvm/Metadata.h
index a6c3f039a11..6a61996ff76 100644
--- a/include/llvm/Metadata.h
+++ b/include/llvm/Metadata.h
@@ -17,6 +17,7 @@
 #define LLVM_METADATA_H
 
 #include "llvm/Value.h"
+#include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/FoldingSet.h"
 #include "llvm/ADT/ilist_node.h"
 
@@ -117,6 +118,8 @@ class MDNode : public Value, public FoldingSetNode {
                            FunctionLocalness FL, bool Insert = true);
 public:
   // Constructors and destructors.
+  static MDNode *get(LLVMContext &Context, ArrayRef<Value*> V);
+  // FIXME: Eliminate this constructor form.
   static MDNode *get(LLVMContext &Context, Value *const *Vals,
                      unsigned NumVals);
   // getWhenValsUnresolved - Construct MDNode determining function-localness
diff --git a/lib/VMCore/Metadata.cpp b/lib/VMCore/Metadata.cpp
index 0b8e8dfa8b3..84a0975e61e 100644
--- a/lib/VMCore/Metadata.cpp
+++ b/lib/VMCore/Metadata.cpp
@@ -232,6 +232,9 @@ MDNode *MDNode::getMDNode(LLVMContext &Context, Value *const *Vals,
   return N;
 }
 
+MDNode *MDNode::get(LLVMContext &Context, ArrayRef<Value*> Vals) {
+  return getMDNode(Context, Vals.data(), Vals.size(), FL_Unknown);
+}
 MDNode *MDNode::get(LLVMContext &Context, Value*const* Vals, unsigned NumVals) {
   return getMDNode(Context, Vals, NumVals, FL_Unknown);
 }
-- 
2.40.0