git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223820
91177308-0d34-0410-b5e6-
96231b3b80d8
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)
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)); }