summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/include/llvm/IR/TrackingMDRef.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/include/llvm/IR/TrackingMDRef.h b/llvm/include/llvm/IR/TrackingMDRef.h
index 972ccaa5fe7..6e1b1bd1510 100644
--- a/llvm/include/llvm/IR/TrackingMDRef.h
+++ b/llvm/include/llvm/IR/TrackingMDRef.h
@@ -78,6 +78,9 @@ public:
return !MD || !MetadataTracking::isReplaceable(*MD);
}
+ bool operator==(const TrackingMDRef &X) const { return MD == X.MD; }
+ bool operator!=(const TrackingMDRef &X) const { return MD != X.MD; }
+
private:
void track() {
if (MD)
@@ -124,6 +127,9 @@ public:
T *operator->() const { return get(); }
T &operator*() const { return *get(); }
+ bool operator==(const TypedTrackingMDRef &X) const { return Ref == X.Ref; }
+ bool operator!=(const TypedTrackingMDRef &X) const { return Ref != X.Ref; }
+
void reset() { Ref.reset(); }
void reset(T *MD) { Ref.reset(static_cast<Metadata *>(MD)); }
OpenPOWER on IntegriCloud