De-virtualize mnemonicIsValid and remove from the base class. It's not called by...
[oota-llvm.git] / include / llvm / IR / TrackingMDRef.h
index 6e1b1bd151046e1683f71381ba6cb9fb6e5817ab..97efaff7a3771386757eeef25d4d67ef5f9b6152 100644 (file)
@@ -1,4 +1,4 @@
-//===- llvm/IR/TrackingMDRef.h - Tracking Metadata references -------------===//
+//===- llvm/IR/TrackingMDRef.h - Tracking Metadata references ---*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
 #ifndef LLVM_IR_TRACKINGMDREF_H
 #define LLVM_IR_TRACKINGMDREF_H
 
-#include "llvm/IR/MetadataTracking.h"
+#include "llvm/IR/Metadata.h"
 #include "llvm/Support/Casting.h"
 
 namespace llvm {
 
-class Metadata;
-class MDNode;
-class ValueAsMetadata;
-
 /// \brief Tracking metadata reference.
 ///
 /// This class behaves like \a TrackingVH, but for metadata.
@@ -55,7 +51,6 @@ public:
   }
   ~TrackingMDRef() { untrack(); }
 
-  LLVM_EXPLICIT operator bool() const { return get(); }
   Metadata *get() const { return MD; }
   operator Metadata *() const { return get(); }
   Metadata *operator->() const { return get(); }
@@ -121,7 +116,6 @@ public:
     return *this;
   }
 
-  LLVM_EXPLICIT operator bool() const { return get(); }
   T *get() const { return (T *)Ref.get(); }
   operator T *() const { return get(); }
   T *operator->() const { return get(); }