IR: Take an LLVMContext in Metadata::Metadata()
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Fri, 14 Nov 2014 18:42:09 +0000 (18:42 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Fri, 14 Nov 2014 18:42:09 +0000 (18:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222019 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/Metadata.h
lib/IR/Metadata.cpp

index 6cad37e9c0beb920294bc39444dfaa5df2a7e567..7f8dca68bfa7a1c75e5346e0ac7db40a16b54767 100644 (file)
@@ -41,7 +41,7 @@ enum LLVMConstants : uint32_t {
 /// TODO: Detach from the Value hierarchy.
 class Metadata : public Value {
 protected:
-  Metadata(Type *Type, unsigned ID) : Value(Type, ID) {}
+  Metadata(LLVMContext &Context, unsigned ID);
 
 public:
   static bool classof(const Value *V) {
index 53c7fc8d5c40729f99e0f291771ff3083e805059..0f5f969d2f66a39fe864930044d466e63ea517b2 100644 (file)
@@ -28,6 +28,9 @@
 
 using namespace llvm;
 
+Metadata::Metadata(LLVMContext &Context, unsigned ID)
+    : Value(Type::getMetadataTy(Context), ID) {}
+
 //===----------------------------------------------------------------------===//
 // MDString implementation.
 //
@@ -119,7 +122,7 @@ void MDNode::replaceOperandWith(unsigned i, Value *Val) {
 }
 
 MDNode::MDNode(LLVMContext &C, ArrayRef<Value *> Vals, bool isFunctionLocal)
-    : Metadata(Type::getMetadataTy(C), Value::MDNodeVal) {
+    : Metadata(C, Value::MDNodeVal) {
   NumOperands = Vals.size();
 
   if (isFunctionLocal)