14 #ifndef LLVM_IR_TRACKINGMDREF_H
15 #define LLVM_IR_TRACKINGMDREF_H
88 assert(MD == X.MD &&
"Expected values to match");
110 Ref = std::move(
X.Ref);
118 T *
get()
const {
return (
T *)Ref.
get(); }
119 operator T *()
const {
return get(); }
bool hasTrivialDestructor() const
Check whether this has a trivial destructor.
static SimpleType getSimplifiedValue(const TrackingMDRef &MD)
Metadata * operator->() const
TrackingMDRef & operator=(TrackingMDRef &&X)
Tracking metadata reference.
TypedTrackingMDRef & operator=(const TypedTrackingMDRef &X)
bool operator!=(const TrackingMDRef &X) const
bool operator==(const TypedTrackingMDRef &X) const
TypedTrackingMDRef(T *MD)
TypedTrackingMDRef< ValueAsMetadata > TrackingValueAsMetadataRef
TypedTrackingMDRef & operator=(TypedTrackingMDRef &&X)
bool hasTrivialDestructor() const
Check whether this has a trivial destructor.
TypedTrackingMDRef(const TypedTrackingMDRef &X)
TrackingMDRef(TrackingMDRef &&X)
static SimpleType getSimplifiedValue(TypedTrackingMDRef< T > &MD)
bool operator==(const TrackingMDRef &X) const
TrackingMDRef(const TrackingMDRef &X)
static SimpleType getSimplifiedValue(const TypedTrackingMDRef< T > &MD)
static GCMetadataPrinterRegistry::Add< ErlangGCPrinter > X("erlang","erlang-compatible garbage collector")
TrackingMDRef & operator=(const TrackingMDRef &X)
bool operator!=(const TypedTrackingMDRef &X) const
TrackingMDRef(Metadata *MD)
Metadata & operator*() const
TypedTrackingMDRef< MDNode > TrackingMDNodeRef
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
static SimpleType getSimplifiedValue(TrackingMDRef &MD)
TypedTrackingMDRef(TypedTrackingMDRef &&X)