From e9b30c72ada2e6ed950b820d61965c193d8b8fa6 Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Fri, 14 Nov 2014 18:42:09 +0000 Subject: [PATCH] IR: Take an LLVMContext in Metadata::Metadata() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222019 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/IR/Metadata.h | 2 +- lib/IR/Metadata.cpp | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/include/llvm/IR/Metadata.h b/include/llvm/IR/Metadata.h index 6cad37e9c0b..7f8dca68bfa 100644 --- a/include/llvm/IR/Metadata.h +++ b/include/llvm/IR/Metadata.h @@ -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) { diff --git a/lib/IR/Metadata.cpp b/lib/IR/Metadata.cpp index 53c7fc8d5c4..0f5f969d2f6 100644 --- a/lib/IR/Metadata.cpp +++ b/lib/IR/Metadata.cpp @@ -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 Vals, bool isFunctionLocal) - : Metadata(Type::getMetadataTy(C), Value::MDNodeVal) { + : Metadata(C, Value::MDNodeVal) { NumOperands = Vals.size(); if (isFunctionLocal)