#define LLVM_METADATA_H
#include "llvm/Value.h"
-#include "llvm/Type.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/ilist_node.h"
class Constant;
class Instruction;
class LLVMContext;
+class Module;
class MetadataContextImpl;
template <typename T> class SmallVectorImpl;
template<class PtrType, unsigned SmallSize> class SmallPtrSet;
StringRef Str;
protected:
- explicit MDString(LLVMContext &C, StringRef S)
- : MetadataBase(Type::getMetadataTy(C), Value::MDStringVal), Str(S) {}
+ explicit MDString(LLVMContext &C, StringRef S);
public:
static MDString *get(LLVMContext &Context, StringRef Str);
#include "llvm/Constants.h"
#include "llvm/Function.h"
#include "llvm/InlineAsm.h"
+#include "llvm/Type.h"
#include "llvm/Value.h"
#include "llvm/Assembly/Writer.h"
#include "llvm/CodeGen/MachineFunction.h"
//===----------------------------------------------------------------------===//
// MDString implementation.
//
+
+MDString::MDString(LLVMContext &C, StringRef S)
+ : MetadataBase(Type::getMetadataTy(C), Value::MDStringVal), Str(S) {}
+
MDString *MDString::get(LLVMContext &Context, StringRef Str) {
LLVMContextImpl *pImpl = Context.pImpl;
StringMapEntry<MDString *> &Entry =