reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

include/llvm/IR/Metadata.h
  338 class ValueAsMetadata : public Metadata, ReplaceableMetadataImpl {
  603 class MDString : public Metadata {
  863 class MDNode : public Metadata {
 1280 class DistinctMDOperandPlaceholder : public Metadata {

Declarations

include/llvm/IR/GlobalObject.h
   28 class Metadata;
include/llvm/IR/MDBuilder.h
   33 class Metadata;
include/llvm/IR/ProfileSummary.h
   23 class Metadata;
include/llvm/Linker/IRMover.h
   19 class Metadata;
include/llvm/Transforms/Utils/ValueMapper.h
   29 class Metadata;
lib/Bitcode/Reader/MetadataLoader.h
   29 class Metadata;
lib/Bitcode/Writer/ValueEnumerator.h
   36 class Metadata;

References

examples/Kaleidoscope/Chapter9/toy.cpp
  843   SmallVector<Metadata *, 8> EltTys;
include/llvm/ADT/ArrayRef.h
  108         const ArrayRef<U *> &A,
  110            std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  118       const SmallVectorTemplateCommon<U *, DummyT> &Vec,
  120           std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  127     ArrayRef(const std::vector<U *, A> &Vec,
  129                  std::is_convertible<U *const *, T const *>::value>::type* = 0)
include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/IR/DIBuilder.h
   50     SmallVector<Metadata *, 4> AllEnumTypes;
   53     SmallVector<Metadata *, 4> AllSubprograms;
   54     SmallVector<Metadata *, 4> AllGVs;
   59     MapVector<MDNode *, SetVector<Metadata *>> AllMacrosPerParent;
  555     DINodeArray getOrCreateArray(ArrayRef<Metadata *> Elements);
  558     DIMacroNodeArray getOrCreateMacroArray(ArrayRef<Metadata *> Elements);
  561     DITypeRefArray getOrCreateTypeArray(ArrayRef<Metadata *> Elements);
  566     DISubrange *getOrCreateSubrange(int64_t Lo, Metadata *CountNode);
include/llvm/IR/DebugInfoMetadata.h
  124          ArrayRef<Metadata *> Ops1, ArrayRef<Metadata *> Ops2 = None)
  124          ArrayRef<Metadata *> Ops1, ArrayRef<Metadata *> Ops2 = None)
  131   template <class Ty> Ty *getOperandAs(unsigned I) const {
  132     return cast_or_null<Ty>(getOperand(I));
  177   static bool classof(const Metadata *MD) {
  219                 unsigned Tag, ArrayRef<Metadata *> Ops1,
  220                 ArrayRef<Metadata *> Ops2)
  230                                 StringRef Header, ArrayRef<Metadata *> DwarfOps,
  237                                 MDString *Header, ArrayRef<Metadata *> DwarfOps,
  273   void replaceDwarfOperandWith(unsigned I, Metadata *New) {
  277   static bool classof(const Metadata *MD) {
  292   DISubrange(LLVMContext &C, StorageType Storage, Metadata *Node,
  293              int64_t LowerBound, ArrayRef<Metadata *> Ops)
  303   static DISubrange *getImpl(LLVMContext &Context, Metadata *CountNode,
  322   Metadata *getRawCountNode() const {
  338   static bool classof(const Metadata *MD) {
  353                bool IsUnsigned, ArrayRef<Metadata *> Ops)
  388   static bool classof(const Metadata *MD) {
  402           ArrayRef<Metadata *> Ops)
  422   Metadata *getRawFile() const {
  427   static bool classof(const Metadata *MD) {
  494          ArrayRef<Metadata *> Ops)
  555   static bool classof(const Metadata *MD) {
  593          uint64_t OffsetInBits, DIFlags Flags, ArrayRef<Metadata *> Ops)
  632   Metadata *getRawScope() const { return getOperand(1); }
  672   static bool classof(const Metadata *MD) {
  697               DIFlags Flags, ArrayRef<Metadata *> Ops)
  745   static bool classof(const Metadata *MD) {
  767                 DIFlags Flags, ArrayRef<Metadata *> Ops)
  778           Metadata *ExtraData, StorageType Storage, bool ShouldCreate = true) {
  784                                 MDString *Name, Metadata *File, unsigned Line,
  785                                 Metadata *Scope, Metadata *BaseType,
  785                                 Metadata *Scope, Metadata *BaseType,
  789                                 DIFlags Flags, Metadata *ExtraData,
  824   Metadata *getRawBaseType() const { return getOperand(3); }
  838   Metadata *getExtraData() const { return getRawExtraData(); }
  839   Metadata *getRawExtraData() const { return getOperand(4); }
  881   static bool classof(const Metadata *MD) {
  899                   ArrayRef<Metadata *> Ops)
  916   getImpl(LLVMContext &Context, unsigned Tag, StringRef Name, Metadata *File,
  930   getImpl(LLVMContext &Context, unsigned Tag, MDString *Name, Metadata *File,
  931           unsigned Line, Metadata *Scope, Metadata *BaseType,
  931           unsigned Line, Metadata *Scope, Metadata *BaseType,
  933           DIFlags Flags, Metadata *Elements, unsigned RuntimeLang,
  934           Metadata *VTableHolder, Metadata *TemplateParams,
  934           Metadata *VTableHolder, Metadata *TemplateParams,
  935           MDString *Identifier, Metadata *Discriminator,
  983              MDString *Name, Metadata *File, unsigned Line, Metadata *Scope,
  983              MDString *Name, Metadata *File, unsigned Line, Metadata *Scope,
  984              Metadata *BaseType, uint64_t SizeInBits, uint32_t AlignInBits,
  985              uint64_t OffsetInBits, DIFlags Flags, Metadata *Elements,
  986              unsigned RuntimeLang, Metadata *VTableHolder,
  987              Metadata *TemplateParams, Metadata *Discriminator);
  987              Metadata *TemplateParams, Metadata *Discriminator);
 1002                MDString *Name, Metadata *File, unsigned Line, Metadata *Scope,
 1002                MDString *Name, Metadata *File, unsigned Line, Metadata *Scope,
 1003                Metadata *BaseType, uint64_t SizeInBits, uint32_t AlignInBits,
 1004                uint64_t OffsetInBits, DIFlags Flags, Metadata *Elements,
 1005                unsigned RuntimeLang, Metadata *VTableHolder,
 1006                Metadata *TemplateParams, Metadata *Discriminator);
 1006                Metadata *TemplateParams, Metadata *Discriminator);
 1021   Metadata *getRawBaseType() const { return getOperand(3); }
 1022   Metadata *getRawElements() const { return getOperand(4); }
 1023   Metadata *getRawVTableHolder() const { return getOperand(5); }
 1024   Metadata *getRawTemplateParams() const { return getOperand(6); }
 1026   Metadata *getRawDiscriminator() const { return getOperand(8); }
 1053   static bool classof(const Metadata *MD) {
 1070                    uint8_t CC, ArrayRef<Metadata *> Ops)
 1083                                    uint8_t CC, Metadata *TypeArray,
 1107   Metadata *getRawTypeArray() const { return getOperand(3); }
 1109   static bool classof(const Metadata *MD) {
 1155                 bool RangesBaseAddress, ArrayRef<Metadata *> Ops)
 1187   getImpl(LLVMContext &Context, unsigned SourceLanguage, Metadata *File,
 1190           unsigned EmissionKind, Metadata *EnumTypes, Metadata *RetainedTypes,
 1190           unsigned EmissionKind, Metadata *EnumTypes, Metadata *RetainedTypes,
 1191           Metadata *GlobalVariables, Metadata *ImportedEntities,
 1191           Metadata *GlobalVariables, Metadata *ImportedEntities,
 1192           Metadata *Macros, uint64_t DWOId, bool SplitDebugInlining,
 1288   Metadata *getRawEnumTypes() const { return getOperand(4); }
 1289   Metadata *getRawRetainedTypes() const { return getOperand(5); }
 1290   Metadata *getRawGlobalVariables() const { return getOperand(6); }
 1291   Metadata *getRawImportedEntities() const { return getOperand(7); }
 1292   Metadata *getRawMacros() const { return getOperand(8); }
 1315   static bool classof(const Metadata *MD) {
 1328                ArrayRef<Metadata *> Ops)
 1345   static bool classof(const Metadata *MD) {
 1360              unsigned Column, ArrayRef<Metadata *> MDs, bool ImplicitCode);
 1364                              unsigned Column, Metadata *Scope,
 1365                              Metadata *InlinedAt, bool ImplicitCode,
 1418   void replaceOperandWith(unsigned I, Metadata *New) = delete;
 1580   Metadata *getRawScope() const { return getOperand(0); }
 1581   Metadata *getRawInlinedAt() const {
 1587   static bool classof(const Metadata *MD) {
 1651                DIFlags Flags, DISPFlags SPFlags, ArrayRef<Metadata *> Ops)
 1676   static DISubprogram *getImpl(LLVMContext &Context, Metadata *Scope,
 1678                                Metadata *File, unsigned Line, Metadata *Type,
 1678                                Metadata *File, unsigned Line, Metadata *Type,
 1679                                unsigned ScopeLine, Metadata *ContainingType,
 1681                                DIFlags Flags, DISPFlags SPFlags, Metadata *Unit,
 1682                                Metadata *TemplateParams, Metadata *Declaration,
 1682                                Metadata *TemplateParams, Metadata *Declaration,
 1683                                Metadata *RetainedNodes, Metadata *ThrownTypes,
 1683                                Metadata *RetainedNodes, Metadata *ThrownTypes,
 1813   Metadata *getRawScope() const { return getOperand(1); }
 1816   Metadata *getRawType() const { return getOperand(4); }
 1817   Metadata *getRawUnit() const { return getOperand(5); }
 1818   Metadata *getRawDeclaration() const { return getOperand(6); }
 1819   Metadata *getRawRetainedNodes() const { return getOperand(7); }
 1820   Metadata *getRawContainingType() const {
 1821     return getNumOperands() > 8 ? getOperandAs<Metadata>(8) : nullptr;
 1823   Metadata *getRawTemplateParams() const {
 1824     return getNumOperands() > 9 ? getOperandAs<Metadata>(9) : nullptr;
 1826   Metadata *getRawThrownTypes() const {
 1827     return getNumOperands() > 10 ? getOperandAs<Metadata>(10) : nullptr;
 1835   static bool classof(const Metadata *MD) {
 1843                      ArrayRef<Metadata *> Ops)
 1850   Metadata *getRawScope() const { return getOperand(1); }
 1852   static bool classof(const Metadata *MD) {
 1866                  unsigned Column, ArrayRef<Metadata *> Ops)
 1882   static DILexicalBlock *getImpl(LLVMContext &Context, Metadata *Scope,
 1883                                  Metadata *File, unsigned Line, unsigned Column,
 1904   static bool classof(const Metadata *MD) {
 1916                      unsigned Discriminator, ArrayRef<Metadata *> Ops)
 1930   static DILexicalBlockFile *getImpl(LLVMContext &Context, Metadata *Scope,
 1931                                      Metadata *File, unsigned Discriminator,
 1956   static bool classof(const Metadata *MD) {
 2025               ArrayRef<Metadata *> Ops)
 2037   static DINamespace *getImpl(LLVMContext &Context, Metadata *Scope,
 2060   Metadata *getRawScope() const { return getOperand(1); }
 2063   static bool classof(const Metadata *MD) {
 2074   DIModule(LLVMContext &Context, StorageType Storage, ArrayRef<Metadata *> Ops)
 2088   static DIModule *getImpl(LLVMContext &Context, Metadata *Scope,
 2117   Metadata *getRawScope() const { return getOperand(0); }
 2123   static bool classof(const Metadata *MD) {
 2132                       unsigned Tag, ArrayRef<Metadata *> Ops)
 2141   Metadata *getRawType() const { return getOperand(1); }
 2143   static bool classof(const Metadata *MD) {
 2154                           ArrayRef<Metadata *> Ops)
 2166                                           Metadata *Type, StorageType Storage,
 2181   static bool classof(const Metadata *MD) {
 2191                            unsigned Tag, ArrayRef<Metadata *> Ops)
 2198                                            Metadata *Value, StorageType Storage,
 2204                                            MDString *Name, Metadata *Type,
 2205                                            Metadata *Value, StorageType Storage,
 2224   Metadata *getValue() const { return getOperand(2); }
 2226   static bool classof(const Metadata *MD) {
 2238              ArrayRef<Metadata *> Ops, uint32_t AlignInBits = 0)
 2280   Metadata *getRawScope() const { return getOperand(0); }
 2282   Metadata *getRawFile() const { return getOperand(2); }
 2283   Metadata *getRawType() const { return getOperand(3); }
 2285   static bool classof(const Metadata *MD) {
 2437   static bool classof(const Metadata *MD) {
 2615                    ArrayRef<Metadata *> Ops)
 2629                    cast_or_null<Metadata>(TemplateParams), AlignInBits, Storage,
 2633   getImpl(LLVMContext &Context, Metadata *Scope, MDString *Name,
 2634           MDString *LinkageName, Metadata *File, unsigned Line, Metadata *Type,
 2634           MDString *LinkageName, Metadata *File, unsigned Line, Metadata *Type,
 2636           Metadata *StaticDataMemberDeclaration, Metadata *TemplateParams,
 2636           Metadata *StaticDataMemberDeclaration, Metadata *TemplateParams,
 2677   Metadata *getRawStaticDataMemberDeclaration() const { return getOperand(6); }
 2678   Metadata *getRawTemplateParams() const { return getOperand(7); }
 2681   static bool classof(const Metadata *MD) {
 2693                 ArrayRef<Metadata *> Ops)
 2705   static DICommonBlock *getImpl(LLVMContext &Context, Metadata *Scope,
 2706                                 Metadata *Decl, MDString *Name, Metadata *File,
 2706                                 Metadata *Decl, MDString *Name, Metadata *File,
 2735   Metadata *getRawScope() const { return getOperand(0); }
 2736   Metadata *getRawDecl() const { return getOperand(1); }
 2738   Metadata *getRawFile() const { return getOperand(3); }
 2740   static bool classof(const Metadata *MD) {
 2757                   ArrayRef<Metadata *> Ops)
 2772   static DILocalVariable *getImpl(LLVMContext &Context, Metadata *Scope,
 2773                                   MDString *Name, Metadata *File, unsigned Line,
 2774                                   Metadata *Type, unsigned Arg, DIFlags Flags,
 2826   static bool classof(const Metadata *MD) {
 2840           ArrayRef<Metadata *> Ops)
 2851   static DILabel *getImpl(LLVMContext &Context, Metadata *Scope,
 2852                           MDString *Name, Metadata *File, unsigned Line,
 2883   Metadata *getRawScope() const { return getOperand(0); }
 2885   Metadata *getRawFile() const { return getOperand(2); }
 2896   static bool classof(const Metadata *MD) {
 2909                  unsigned Attributes, ArrayRef<Metadata *> Ops)
 2925                                  Metadata *File, unsigned Line,
 2927                                  unsigned Attributes, Metadata *Type,
 2979   Metadata *getRawFile() const { return getOperand(1); }
 2982   Metadata *getRawType() const { return getOperand(4); }
 2984   static bool classof(const Metadata *MD) {
 2997                    unsigned Line, ArrayRef<Metadata *> Ops)
 3010                                    Metadata *Scope, Metadata *Entity,
 3010                                    Metadata *Scope, Metadata *Entity,
 3011                                    Metadata *File, unsigned Line,
 3038   Metadata *getRawScope() const { return getOperand(0); }
 3039   Metadata *getRawEntity() const { return getOperand(1); }
 3041   Metadata *getRawFile() const { return getOperand(3); }
 3043   static bool classof(const Metadata *MD) {
 3054                              ArrayRef<Metadata *> Ops)
 3059   getImpl(LLVMContext &Context, Metadata *Variable, Metadata *Expression,
 3059   getImpl(LLVMContext &Context, Metadata *Variable, Metadata *Expression,
 3073   Metadata *getRawVariable() const { return getOperand(0); }
 3079   Metadata *getRawExpression() const { return getOperand(1); }
 3085   static bool classof(const Metadata *MD) {
 3102               ArrayRef<Metadata *> Ops1, ArrayRef<Metadata *> Ops2 = None)
 3102               ArrayRef<Metadata *> Ops1, ArrayRef<Metadata *> Ops2 = None)
 3128   static bool classof(const Metadata *MD) {
 3146           ArrayRef<Metadata *> Ops)
 3183   static bool classof(const Metadata *MD) {
 3195               unsigned Line, ArrayRef<Metadata *> Ops)
 3208                               unsigned Line, Metadata *File, Metadata *Elements,
 3208                               unsigned Line, Metadata *File, Metadata *Elements,
 3242   Metadata *getRawFile() const { return getOperand(0); }
 3243   Metadata *getRawElements() const { return getOperand(1); }
 3245   static bool classof(const Metadata *MD) {
include/llvm/IR/GlobalObject.h
  180   void addTypeMetadata(unsigned Offset, Metadata *TypeID);
include/llvm/IR/IntrinsicInst.h
  108     Metadata *getRawVariable() const {
  112     Metadata *getRawExpression() const {
  193     Metadata *getRawLabel() const {
include/llvm/IR/MDBuilder.h
  196   MDNode *createTBAATypeNode(MDNode *Parent, uint64_t Size, Metadata *Id,
include/llvm/IR/Metadata.h
   94   void handleChangedOperand(void *, Metadata *) {
  144 inline Metadata **unwrap(LLVMMetadataRef *MDs) {
  161 inline raw_ostream &operator<<(raw_ostream &OS, const Metadata &MD) {
  177   Metadata *MD;
  179   MetadataAsValue(Type *Ty, Metadata *MD);
  187   static MetadataAsValue *get(LLVMContext &Context, Metadata *MD);
  188   static MetadataAsValue *getIfExists(LLVMContext &Context, Metadata *MD);
  190   Metadata *getMetadata() const { return MD; }
  197   void handleChangedMetadata(Metadata *MD);
  220   static bool track(Metadata *&MD) {
  229   static bool track(void *Ref, Metadata &MD, Metadata &Owner) {
  229   static bool track(void *Ref, Metadata &MD, Metadata &Owner) {
  238   static bool track(void *Ref, Metadata &MD, MetadataAsValue &Owner) {
  245   static void untrack(Metadata *&MD) { untrack(&MD, *MD); }
  246   static void untrack(void *Ref, Metadata &MD);
  256   static bool retrack(Metadata *&MD, Metadata *&New) {
  256   static bool retrack(Metadata *&MD, Metadata *&New) {
  259   static bool retrack(void *Ref, Metadata &MD, void *New);
  262   static bool isReplaceable(const Metadata &MD);
  264   using OwnerTy = PointerUnion<MetadataAsValue *, Metadata *>;
  270   static bool track(void *Ref, Metadata &MD, OwnerTy Owner);
  301   void replaceAllUsesWith(Metadata *MD);
  313   void moveRef(void *Ref, void *New, const Metadata &MD);
  319   static ReplaceableMetadataImpl *getOrCreate(Metadata &MD);
  322   static ReplaceableMetadataImpl *getIfExists(Metadata &MD);
  327   static bool isReplaceable(const Metadata &MD);
  338 class ValueAsMetadata : public Metadata, ReplaceableMetadataImpl {
  391   void replaceAllUsesWith(Metadata *MD) {
  396   static bool classof(const Metadata *MD) {
  421   static bool classof(const Metadata *MD) {
  443   static bool classof(const Metadata *MD) {
  515                             HasDereference<M, const Metadata &>::value;
  519                             std::is_convertible<M, const Metadata &>::value;
  603 class MDString : public Metadata {
  636   static bool classof(const Metadata *MD) {
  711   Metadata *MD = nullptr;
  721   Metadata *get() const { return MD; }
  722   operator Metadata *() const { return get(); }
  723   Metadata *operator->() const { return get(); }
  724   Metadata &operator*() const { return *get(); }
  730   void reset(Metadata *MD, Metadata *Owner) {
  730   void reset(Metadata *MD, Metadata *Owner) {
  737   void track(Metadata *Owner) {
  754   using SimpleType = Metadata *;
  760   using SimpleType = Metadata *;
  863 class MDNode : public Metadata {
  874          ArrayRef<Metadata *> Ops1, ArrayRef<Metadata *> Ops2 = None);
  874          ArrayRef<Metadata *> Ops1, ArrayRef<Metadata *> Ops2 = None);
  906   static inline MDTuple *get(LLVMContext &Context, ArrayRef<Metadata *> MDs);
  908                                      ArrayRef<Metadata *> MDs);
  910                                      ArrayRef<Metadata *> MDs);
  912                                          ArrayRef<Metadata *> MDs);
  926   void replaceOperandWith(unsigned I, Metadata *New);
  948   void replaceAllUsesWith(Metadata *MD) {
 1006   void setOperand(unsigned I, Metadata *New);
 1014   void handleChangedOperand(void *Ref, Metadata *New);
 1019   void resolveAfterOperandChange(Metadata *Old, Metadata *New);
 1019   void resolveAfterOperandChange(Metadata *Old, Metadata *New);
 1077   static bool classof(const Metadata *MD) {
 1110           ArrayRef<Metadata *> Vals)
 1120   static MDTuple *getImpl(LLVMContext &Context, ArrayRef<Metadata *> MDs,
 1132   static MDTuple *get(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
 1136   static MDTuple *getIfExists(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
 1143   static MDTuple *getDistinct(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
 1153                                   ArrayRef<Metadata *> MDs) {
 1160   static bool classof(const Metadata *MD) {
 1165 MDTuple *MDNode::get(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
 1169 MDTuple *MDNode::getIfExists(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
 1173 MDTuple *MDNode::getDistinct(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
 1178                                  ArrayRef<Metadata *> MDs) {
 1280 class DistinctMDOperandPlaceholder : public Metadata {
 1283   Metadata **Use = nullptr;
 1303   void replaceUseWith(Metadata *MD) {
 1311     Metadata *T = cast<Metadata>(this);
 1311     Metadata *T = cast<Metadata>(this);
include/llvm/IR/Module.h
  155   static bool isValidModFlagBehavior(Metadata *MD, ModFlagBehavior &MFB);
  160     Metadata *Val;
  162     ModuleFlagEntry(ModFlagBehavior B, MDString *K, Metadata *V)
  477   Metadata *getModuleFlag(StringRef Key) const;
  490   void addModuleFlag(ModFlagBehavior Behavior, StringRef Key, Metadata *Val);
  873   void setProfileSummary(Metadata *M, ProfileSummary::Kind Kind);
  877   Metadata *getProfileSummary(bool IsCS);
include/llvm/IR/ProfileSummary.h
   53   Metadata *getDetailedSummaryMD(LLVMContext &Context);
   69   Metadata *getMD(LLVMContext &Context);
   71   static ProfileSummary *getFromMD(Metadata *MD);
include/llvm/IR/TrackingMDRef.h
   26   Metadata *MD = nullptr;
   30   explicit TrackingMDRef(Metadata *MD) : MD(MD) { track(); }
   57   Metadata *get() const { return MD; }
   58   operator Metadata *() const { return get(); }
   59   Metadata *operator->() const { return get(); }
   60   Metadata &operator*() const { return *get(); }
   66   void reset(Metadata *MD) {
  146   using SimpleType = Metadata *;
  152   using SimpleType = Metadata *;
include/llvm/IR/ValueMap.h
   90   using MDMapT = DenseMap<const Metadata *, TrackingMDRef>;
  123   Optional<Metadata *> getMappedMD(const Metadata *MD) const {
  123   Optional<Metadata *> getMappedMD(const Metadata *MD) const {
include/llvm/Linker/IRMover.h
   44   typedef DenseMap<const Metadata *, TrackingMDRef> MDMapT;
include/llvm/Support/Casting.h
   34   using SimpleType = From; // The real type this represents...
   37   static SimpleType &getSimplifiedValue(From &Val) { return Val; }
   41   using NonConstSimpleType = typename simplify_type<From>::SimpleType;
   47   static RetType getSimplifiedValue(const From& Val) {
   57   static inline bool doit(const From &Val) {
   66   static inline bool doit(const From &) { return true; }
   76   static inline bool doit(const From &Val) {
   77     return isa_impl<To, From>::doit(Val);
   90   static inline bool doit(const From *Val) {
   92     return isa_impl<To, From>::doit(*Val);
   92     return isa_impl<To, From>::doit(*Val);
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  141 template <class X, class Y> LLVM_NODISCARD inline bool isa(const Y &Val) {
  142   return isa_impl_wrap<X, const Y,
  142   return isa_impl_wrap<X, const Y,
  143                        typename simplify_type<const Y>::SimpleType>::doit(Val);
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  218   static typename cast_retty<To, From>::ret_type doit(From &Val) {
  219     return cast_convert_val<To, SimpleFrom,
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  248                                typename cast_retty<X, const Y>::ret_type>::type
  252       X, const Y, typename simplify_type<const Y>::SimpleType>::doit(Val);
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  285                             typename cast_retty<X, const Y>::ret_type>::type
  290   return cast<X>(Val);
  296                             typename cast_retty<X, Y>::ret_type>::type
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  306 cast_or_null(Y *Val) {
  309   return cast<X>(Val);
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  367 dyn_cast_or_null(Y *Val) {
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
include/llvm/Support/type_traits.h
   55 struct add_const_past_pointer { using type = const T; };
include/llvm/Transforms/IPO/GlobalDCE.h
   47   DenseMap<Metadata *, SmallSet<std::pair<GlobalVariable *, uint64_t>, 4>>
   63   void ScanVTableLoad(Function *Caller, Metadata *TypeId, uint64_t CallOffset);
include/llvm/Transforms/Utils/ValueMapper.h
  168   Metadata *mapMetadata(const Metadata &MD);
  168   Metadata *mapMetadata(const Metadata &MD);
  228 inline Metadata *MapMetadata(const Metadata *MD, ValueToValueMapTy &VM,
  228 inline Metadata *MapMetadata(const Metadata *MD, ValueToValueMapTy &VM,
include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
  141   void setHint(StringRef Name, Metadata *Arg);
lib/Analysis/LoopInfo.cpp
 1015   SmallVector<Metadata *, 4> MDs;
 1026       Metadata *Op = OrigLoopID->getOperand(i);
lib/Analysis/ProfileSummaryInfo.cpp
   89   auto *SummaryMD = M.getProfileSummary(/* IsCS */ true);
lib/Analysis/TypeBasedAliasAnalysis.cpp
  283   Metadata *getId() const {
  557     Metadata *Ops[] = {const_cast<MDNode*>(AccessType),
  563   Metadata *Ops[] = {const_cast<MDNode*>(AccessType),
lib/Analysis/VectorUtils.cpp
  534   SmallSetVector<Metadata *, 4> Union;
  567   SmallPtrSet<Metadata *, 4> AccGroupSet2;
  570   SmallVector<Metadata *, 4> Intersection;
lib/AsmParser/LLParser.cpp
 3724   SmallVector<Metadata *, 16> Elts;
 3879 struct MDField : public MDFieldImpl<Metadata *> {
 3895 struct MDFieldList : public MDFieldImpl<SmallVector<Metadata *, 4>> {
 3917   Metadata *getMDFieldValue() const {
 4243   Metadata *MD;
 4311   SmallVector<Metadata *, 4> MDs;
 5054   Metadata *MD;
 5066 bool LLParser::ParseValueAsMetadata(Metadata *&MD, const Twine &TypeMsg,
 5091 bool LLParser::ParseMetadata(Metadata *&MD, PerFunctionState *PFS) {
 7295 bool LLParser::ParseMDNodeVector(SmallVectorImpl<Metadata *> &Elts) {
 7310     Metadata *MD;
lib/AsmParser/LLParser.h
  517     bool ParseValueAsMetadata(Metadata *&MD, const Twine &TypeMsg,
  519     bool ParseMetadata(Metadata *&MD, PerFunctionState *PFS);
  523     bool ParseMDNodeVector(SmallVectorImpl<Metadata *> &Elts);
lib/Bitcode/Reader/BitcodeReader.cpp
  634   Metadata *getFnMetadataByID(unsigned ID) {
 2924   if (Metadata *Val = TheModule->getModuleFlag("Linker Options")) {
lib/Bitcode/Reader/MetadataLoader.cpp
  146   void push_back(Metadata *MD) { MetadataPtrs.emplace_back(MD); }
  148   Metadata *back() const { return MetadataPtrs.back(); }
  152   Metadata *operator[](unsigned i) const {
  157   Metadata *lookup(unsigned I) const {
  172   Metadata *getMetadataFwdRef(unsigned Idx);
  178   Metadata *getMetadataIfResolved(unsigned Idx);
  181   void assignValue(Metadata *MD, unsigned Idx);
  193   Metadata *upgradeTypeRef(Metadata *MaybeUUID);
  193   Metadata *upgradeTypeRef(Metadata *MaybeUUID);
  196   Metadata *upgradeTypeRefArray(Metadata *MaybeTuple);
  196   Metadata *upgradeTypeRefArray(Metadata *MaybeTuple);
  199   Metadata *resolveTypeRefArray(Metadata *MaybeTuple);
  199   Metadata *resolveTypeRefArray(Metadata *MaybeTuple);
  202 void BitcodeReaderMetadataList::assignValue(Metadata *MD, unsigned Idx) {
  227 Metadata *BitcodeReaderMetadataList::getMetadataFwdRef(unsigned Idx) {
  235   if (Metadata *MD = MetadataPtrs[Idx])
  243   Metadata *MD = MDNode::getTemporary(Context, None).release();
  248 Metadata *BitcodeReaderMetadataList::getMetadataIfResolved(unsigned Idx) {
  249   Metadata *MD = lookup(Idx);
  315 Metadata *BitcodeReaderMetadataList::upgradeTypeRef(Metadata *MaybeUUID) {
  315 Metadata *BitcodeReaderMetadataList::upgradeTypeRef(Metadata *MaybeUUID) {
  329 Metadata *BitcodeReaderMetadataList::upgradeTypeRefArray(Metadata *MaybeTuple) {
  329 Metadata *BitcodeReaderMetadataList::upgradeTypeRefArray(Metadata *MaybeTuple) {
  346 Metadata *BitcodeReaderMetadataList::resolveTypeRefArray(Metadata *MaybeTuple) {
  346 Metadata *BitcodeReaderMetadataList::resolveTypeRefArray(Metadata *MaybeTuple) {
  352   SmallVector<Metadata *, 32> Ops;
  354   for (Metadata *MD : Tuple->operands())
  381       auto *MD = MetadataList.lookup(ID);
  402     auto *MD = MetadataList.lookup(PHs.front().getID());
  455   std::vector<std::pair<DICompileUnit *, Metadata *>> CUSubprograms;
  648   Metadata *getMetadataFwdRefOrLoad(unsigned ID) {
  651     if (auto *MD = MetadataList.lookup(ID))
  977   if (Metadata *MD = MetadataList.lookup(ID))
  989   if (auto *MD = MetadataList.lookup(ID)) {
 1060       if (auto *MD = MetadataList.lookup(ID))
 1075     if (auto *MD = MetadataList.getMetadataIfResolved(ID))
 1170     SmallVector<Metadata *, 8> Elts;
 1208     SmallVector<Metadata *, 8> Elts;
 1225     Metadata *Scope = getMD(Record[3]);
 1226     Metadata *InlinedAt = getMDOrNull(Record[4]);
 1247     SmallVector<Metadata *, 8> DwarfOps;
 1257     Metadata *Val = nullptr;
 1342     Metadata *File = getMDOrNull(Record[3]);
 1344     Metadata *Scope = getDITypeRefOrNull(Record[5]);
 1345     Metadata *BaseType = nullptr;
 1352     Metadata *Elements = nullptr;
 1354     Metadata *VTableHolder = nullptr;
 1355     Metadata *TemplateParams = nullptr;
 1356     Metadata *Discriminator = nullptr;
 1409     Metadata *Types = getMDOrNull(Record[2]);
 1482     if (Metadata *SPs = getMDOrNullWithoutPlaceholders(Record[11]))
 1547     Metadata *CUorFn = getMDOrNull(Record[12 + OffsetB]);
 1730       Metadata *Expr = getMDOrNull(Record[9]);
 1764       auto *MDNode = Expr ? cast<Metadata>(DGVE) : cast<Metadata>(DGV);
 1764       auto *MDNode = Expr ? cast<Metadata>(DGVE) : cast<Metadata>(DGV);
 1764       auto *MDNode = Expr ? cast<Metadata>(DGVE) : cast<Metadata>(DGV);
 1837     Metadata *Expr = getMDOrNull(Record[2]);
 1884     Metadata *MD = MDString::get(Context, String);
 2042         Metadata *Node = MetadataList.getMetadataFwdRef(Idx);
 2147 Metadata *MetadataLoader::getMetadataFwdRefOrLoad(unsigned Idx) {
lib/Bitcode/Reader/MetadataLoader.h
   65   Metadata *getMetadataFwdRefOrLoad(unsigned Idx);
lib/Bitcode/Writer/BitcodeWriter.cpp
  357   void writeMetadataStrings(ArrayRef<const Metadata *> Strings,
  359   void writeMetadataRecords(ArrayRef<const Metadata *> MDs,
 1434     Metadata *MD = N->getOperand(i);
 1968     ArrayRef<const Metadata *> Strings, SmallVectorImpl<uint64_t> &Record) {
 1980     for (const Metadata *MD : Strings)
 1989   for (const Metadata *MD : Strings)
 2005     ArrayRef<const Metadata *> MDs, SmallVectorImpl<uint64_t> &Record,
 2014   for (const Metadata *MD : MDs) {
lib/Bitcode/Writer/ValueEnumerator.cpp
  429           for (const Metadata *Op : L->operands())
  508     const Metadata *MD = I->first;
  570 void ValueEnumerator::EnumerateMetadata(const Function *F, const Metadata *MD) {
  600     for (const Metadata *Op : Worklist.pop_back_val()->operands()) {
  609 void ValueEnumerator::EnumerateMetadata(unsigned F, const Metadata *MD) {
  657 const MDNode *ValueEnumerator::enumerateMetadataImpl(unsigned F, const Metadata *MD) {
  709 static unsigned getMetadataTypeOrder(const Metadata *MD) {
  736   for (const Metadata *MD : MDs)
  752   std::vector<const Metadata *> OldMDs;
lib/Bitcode/Writer/ValueEnumerator.h
   69   std::vector<const Metadata *> MDs;
   70   std::vector<const Metadata *> FunctionMDs;
   84     const Metadata *get(ArrayRef<const Metadata *> MDs) const {
   84     const Metadata *get(ArrayRef<const Metadata *> MDs) const {
   91   using MetadataMapType = DenseMap<const Metadata *, MDIndex>;
  153   unsigned getMetadataID(const Metadata *MD) const {
  159   unsigned getMetadataOrNullID(const Metadata *MD) const {
  204   ArrayRef<const Metadata *> getMDStrings() const {
  209   ArrayRef<const Metadata *> getNonMDStrings() const {
  265   const MDNode *enumerateMetadataImpl(unsigned F, const Metadata *MD);
  284   void EnumerateMetadata(const Function *F, const Metadata *MD);
  285   void EnumerateMetadata(unsigned F, const Metadata *MD);
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
 1092       for (Metadata *MD : Strs->operands()) {
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
 1052   if (Metadata *Val = VP->getValue()) {
lib/CodeGen/MIRPrinter.cpp
  277   std::array<const Metadata *, 3> Metas{{DebugVar.Var,
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 6437     Metadata *MD = cast<MetadataAsValue>(I.getArgOperand(0))->getMetadata();
lib/IR/AbstractCallSite.cpp
  107     Metadata *OpAsM = CallbackEncMD->getOperand(u).get();
  122   Metadata *VarArgFlagAsM =
lib/IR/AsmWriter.cpp
 1245 static void WriteAsOperandInternal(raw_ostream &Out, const Metadata *MD,
 1557     const Metadata *MD = Node->getOperand(mi);
 1610   void printMetadata(StringRef Name, const Metadata *MD,
 1661 static void writeMetadataAsOperand(raw_ostream &Out, const Metadata *MD,
 1672 void MDFieldPrinter::printMetadata(StringRef Name, const Metadata *MD,
 2303 static void WriteAsOperandInternal(raw_ostream &Out, const Metadata *MD,
 4381 static void printMetadataImpl(raw_ostream &ROS, const Metadata &MD,
lib/IR/AutoUpgrade.cpp
 1670       SmallVector<Metadata *, 1> Elts;
 1697       SmallVector<Metadata *, 1> Elts;
 3750     Metadata *Elts[] = {MD.getOperand(0), MD.getOperand(1)};
 3753     Metadata *Elts2[] = {ScalarType, ScalarType,
 3760   Metadata *Elts[] = {&MD, &MD, ConstantAsMetadata::get(Constant::getNullValue(
 4004           Metadata *Ops[3] = {
 4024           Metadata *Ops[3] = {Op->getOperand(0), Op->getOperand(1),
 4076 static bool isOldLoopArgument(Metadata *MD) {
 4100 static Metadata *upgradeLoopArgument(Metadata *MD) {
 4100 static Metadata *upgradeLoopArgument(Metadata *MD) {
 4113   SmallVector<Metadata *, 8> Ops;
 4130   SmallVector<Metadata *, 8> Ops;
 4132   for (Metadata *MD : T->operands())
lib/IR/Core.cpp
  875   Metadata *MD = MAV->getMetadata();
  975   Metadata *Op = N->getOperand(Index);
 1072   SmallVector<Metadata *, 8> MDs;
 1075     Metadata *MD;
lib/IR/DIBuilder.cpp
   53   SmallVector<Metadata *, 16> RetainedNodes;
   77   SmallVector<Metadata *, 16> RetainValues;
   82   SmallPtrSet<Metadata *, 16> RetainSet;
   93   for (auto *N : RetainValues)
  164                      Metadata *NS, DIFile *File, unsigned Line, StringRef Name,
  326   Metadata *ExtraData = ConstantAsMetadata::get(
  414                                    Metadata *MD) {
  602 DINodeArray DIBuilder::getOrCreateArray(ArrayRef<Metadata *> Elements) {
  607 DIBuilder::getOrCreateMacroArray(ArrayRef<Metadata *> Elements) {
  611 DITypeRefArray DIBuilder::getOrCreateTypeArray(ArrayRef<Metadata *> Elements) {
  612   SmallVector<llvm::Metadata *, 16> Elts;
  626 DISubrange *DIBuilder::getOrCreateSubrange(int64_t Lo, Metadata *CountNode) {
lib/IR/DebugInfo.cpp
  135     for (Metadata *D : DCT->getElements()) {
  297   SmallVector<Metadata *, 4> Args;
  384   DenseMap<Metadata *, Metadata *> Replacements;
  384   DenseMap<Metadata *, Metadata *> Replacements;
  409   Metadata *map(Metadata *M) {
  409   Metadata *map(Metadata *M) {
  418   MDNode *mapNode(Metadata *N) { return dyn_cast_or_null<MDNode>(map(N)); }
  496     auto *Scope = map(MLD->getScope());
  497     auto *InlinedAt = map(MLD->getInlinedAt());
  507     SmallVector<Metadata *, 8> Ops;
 1331   Node->replaceAllUsesWith(unwrap<Metadata>(Replacement));
 1417   Metadata **DataValue = unwrap(Data);
lib/IR/DebugInfoMetadata.cpp
   27                        unsigned Column, ArrayRef<Metadata *> MDs,
   49                                 unsigned Column, Metadata *Scope,
   50                                 Metadata *InlinedAt, bool ImplicitCode,
   66   SmallVector<Metadata *, 2> Ops;
  261                                       ArrayRef<Metadata *> DwarfOps,
  277   Metadata *PreOps[] = {Header};
  324 DISubrange *DISubrange::getImpl(LLVMContext &Context, Metadata *CountNode,
  328   Metadata *Ops[] = { CountNode };
  337   Metadata *Ops[] = {Name};
  349   Metadata *Ops[] = {nullptr, nullptr, Name};
  368     LLVMContext &Context, unsigned Tag, MDString *Name, Metadata *File,
  369     unsigned Line, Metadata *Scope, Metadata *BaseType, uint64_t SizeInBits,
  369     unsigned Line, Metadata *Scope, Metadata *BaseType, uint64_t SizeInBits,
  371     Optional<unsigned> DWARFAddressSpace, DIFlags Flags, Metadata *ExtraData,
  378   Metadata *Ops[] = {File, Scope, Name, BaseType, ExtraData};
  385     LLVMContext &Context, unsigned Tag, MDString *Name, Metadata *File,
  386     unsigned Line, Metadata *Scope, Metadata *BaseType, uint64_t SizeInBits,
  386     unsigned Line, Metadata *Scope, Metadata *BaseType, uint64_t SizeInBits,
  388     Metadata *Elements, unsigned RuntimeLang, Metadata *VTableHolder,
  388     Metadata *Elements, unsigned RuntimeLang, Metadata *VTableHolder,
  389     Metadata *TemplateParams, MDString *Identifier, Metadata *Discriminator,
  389     Metadata *TemplateParams, MDString *Identifier, Metadata *Discriminator,
  398   Metadata *Ops[] = {File,     Scope,        Name,           BaseType,
  408     Metadata *File, unsigned Line, Metadata *Scope, Metadata *BaseType,
  408     Metadata *File, unsigned Line, Metadata *Scope, Metadata *BaseType,
  408     Metadata *File, unsigned Line, Metadata *Scope, Metadata *BaseType,
  410     DIFlags Flags, Metadata *Elements, unsigned RuntimeLang,
  411     Metadata *VTableHolder, Metadata *TemplateParams, Metadata *Discriminator) {
  411     Metadata *VTableHolder, Metadata *TemplateParams, Metadata *Discriminator) {
  411     Metadata *VTableHolder, Metadata *TemplateParams, Metadata *Discriminator) {
  430   Metadata *Ops[] = {File,     Scope,        Name,           BaseType,
  443     Metadata *File, unsigned Line, Metadata *Scope, Metadata *BaseType,
  443     Metadata *File, unsigned Line, Metadata *Scope, Metadata *BaseType,
  443     Metadata *File, unsigned Line, Metadata *Scope, Metadata *BaseType,
  445     DIFlags Flags, Metadata *Elements, unsigned RuntimeLang,
  446     Metadata *VTableHolder, Metadata *TemplateParams, Metadata *Discriminator) {
  446     Metadata *VTableHolder, Metadata *TemplateParams, Metadata *Discriminator) {
  446     Metadata *VTableHolder, Metadata *TemplateParams, Metadata *Discriminator) {
  468                                             uint8_t CC, Metadata *TypeArray,
  472   Metadata *Ops[] = {nullptr, nullptr, nullptr, TypeArray};
  508   Metadata *Ops[] = {Filename, Directory, CS ? CS->Value : nullptr,
  514     LLVMContext &Context, unsigned SourceLanguage, Metadata *File,
  517     unsigned EmissionKind, Metadata *EnumTypes, Metadata *RetainedTypes,
  517     unsigned EmissionKind, Metadata *EnumTypes, Metadata *RetainedTypes,
  518     Metadata *GlobalVariables, Metadata *ImportedEntities, Metadata *Macros,
  518     Metadata *GlobalVariables, Metadata *ImportedEntities, Metadata *Macros,
  518     Metadata *GlobalVariables, Metadata *ImportedEntities, Metadata *Macros,
  527   Metadata *Ops[] = {
  628     LLVMContext &Context, Metadata *Scope, MDString *Name,
  629     MDString *LinkageName, Metadata *File, unsigned Line, Metadata *Type,
  629     MDString *LinkageName, Metadata *File, unsigned Line, Metadata *Type,
  630     unsigned ScopeLine, Metadata *ContainingType, unsigned VirtualIndex,
  631     int ThisAdjustment, DIFlags Flags, DISPFlags SPFlags, Metadata *Unit,
  632     Metadata *TemplateParams, Metadata *Declaration, Metadata *RetainedNodes,
  632     Metadata *TemplateParams, Metadata *Declaration, Metadata *RetainedNodes,
  632     Metadata *TemplateParams, Metadata *Declaration, Metadata *RetainedNodes,
  633     Metadata *ThrownTypes, StorageType Storage, bool ShouldCreate) {
  641   SmallVector<Metadata *, 11> Ops = {
  668 DILexicalBlock *DILexicalBlock::getImpl(LLVMContext &Context, Metadata *Scope,
  669                                         Metadata *File, unsigned Line,
  677   Metadata *Ops[] = {File, Scope};
  682                                                 Metadata *Scope, Metadata *File,
  682                                                 Metadata *Scope, Metadata *File,
  688   Metadata *Ops[] = {File, Scope};
  692 DINamespace *DINamespace::getImpl(LLVMContext &Context, Metadata *Scope,
  698   Metadata *Ops[] = {nullptr, Scope, Name};
  702 DICommonBlock *DICommonBlock::getImpl(LLVMContext &Context, Metadata *Scope,
  703                                       Metadata *Decl, MDString *Name,
  704                                       Metadata *File, unsigned LineNo,
  709   Metadata *Ops[] = {Scope, Decl, Name, File};
  713 DIModule *DIModule::getImpl(LLVMContext &Context, Metadata *Scope,
  720   Metadata *Ops[] = {Scope, Name, ConfigurationMacros, IncludePath, ISysRoot};
  726                                                           Metadata *Type,
  731   Metadata *Ops[] = {Name, Type};
  736     LLVMContext &Context, unsigned Tag, MDString *Name, Metadata *Type,
  737     Metadata *Value, StorageType Storage, bool ShouldCreate) {
  740   Metadata *Ops[] = {Name, Type, Value};
  745 DIGlobalVariable::getImpl(LLVMContext &Context, Metadata *Scope, MDString *Name,
  746                           MDString *LinkageName, Metadata *File, unsigned Line,
  747                           Metadata *Type, bool IsLocalToUnit, bool IsDefinition,
  748                           Metadata *StaticDataMemberDeclaration,
  749                           Metadata *TemplateParams, uint32_t AlignInBits,
  757   Metadata *Ops[] = {Scope,
  769 DILocalVariable *DILocalVariable::getImpl(LLVMContext &Context, Metadata *Scope,
  770                                           MDString *Name, Metadata *File,
  771                                           unsigned Line, Metadata *Type,
  784   Metadata *Ops[] = {Scope, Name, File, Type};
  790   const Metadata *RawType = getRawType();
  811 DILabel *DILabel::getImpl(LLVMContext &Context, Metadata *Scope,
  812                           MDString *Name, Metadata *File, unsigned Line,
  819   Metadata *Ops[] = {Scope, Name, File};
 1186 DIGlobalVariableExpression::getImpl(LLVMContext &Context, Metadata *Variable,
 1187                                     Metadata *Expression, StorageType Storage,
 1190   Metadata *Ops[] = {Variable, Expression};
 1195     LLVMContext &Context, MDString *Name, Metadata *File, unsigned Line,
 1197     Metadata *Type, StorageType Storage, bool ShouldCreate) {
 1203   Metadata *Ops[] = {Name, File, GetterName, SetterName, Type};
 1208                                             Metadata *Scope, Metadata *Entity,
 1208                                             Metadata *Scope, Metadata *Entity,
 1209                                             Metadata *File, unsigned Line,
 1215   Metadata *Ops[] = {Scope, Entity, Name, File};
 1224   Metadata *Ops[] = { Name, Value };
 1229                                   unsigned Line, Metadata *File,
 1230                                   Metadata *Elements, StorageType Storage,
 1234   Metadata *Ops[] = { File, Elements };
lib/IR/Instruction.cpp
  702   Metadata *Ops[] = {ProfileData->getOperand(0), ProfileData->getOperand(2),
lib/IR/Instructions.cpp
  486   SmallVector<Metadata *, 3> Vals;
lib/IR/IntrinsicInst.cpp
   44   auto *MD = cast<MetadataAsValue>(Op)->getMetadata();
  108   Metadata *MD =
  154   Metadata *MD =
lib/IR/LLVMContextImpl.cpp
  178 static const Metadata *get_hashable_data(const MDOperand &X) { return X.get(); }
  186     SmallVector<Metadata *, 8> MDs(N->op_begin() + Offset, N->op_end());
  195 unsigned MDNodeOpsKey::calculateHash(ArrayRef<Metadata *> Ops) {
lib/IR/LLVMContextImpl.h
  207   ArrayRef<Metadata *> RawOps;
  212   MDNodeOpsKey(ArrayRef<Metadata *> Ops)
  239   static unsigned calculateHash(ArrayRef<Metadata *> Ops);
  265   MDNodeKeyImpl(ArrayRef<Metadata *> Ops) : MDNodeOpsKey(Ops) {}
  281   Metadata *Scope;
  282   Metadata *InlinedAt;
  285   MDNodeKeyImpl(unsigned Line, unsigned Column, Metadata *Scope,
  286                 Metadata *InlinedAt, bool ImplicitCode)
  309   MDNodeKeyImpl(unsigned Tag, MDString *Header, ArrayRef<Metadata *> DwarfOps)
  327   Metadata *CountNode;
  330   MDNodeKeyImpl(Metadata *CountNode, int64_t LowerBound)
  408   Metadata *File;
  410   Metadata *Scope;
  411   Metadata *BaseType;
  417   Metadata *ExtraData;
  419   MDNodeKeyImpl(unsigned Tag, MDString *Name, Metadata *File, unsigned Line,
  420                 Metadata *Scope, Metadata *BaseType, uint64_t SizeInBits,
  420                 Metadata *Scope, Metadata *BaseType, uint64_t SizeInBits,
  423                 Metadata *ExtraData)
  479   static bool isODRMember(unsigned Tag, const Metadata *Scope,
  498   Metadata *File;
  500   Metadata *Scope;
  501   Metadata *BaseType;
  506   Metadata *Elements;
  508   Metadata *VTableHolder;
  509   Metadata *TemplateParams;
  511   Metadata *Discriminator;
  513   MDNodeKeyImpl(unsigned Tag, MDString *Name, Metadata *File, unsigned Line,
  514                 Metadata *Scope, Metadata *BaseType, uint64_t SizeInBits,
  514                 Metadata *Scope, Metadata *BaseType, uint64_t SizeInBits,
  516                 Metadata *Elements, unsigned RuntimeLang,
  517                 Metadata *VTableHolder, Metadata *TemplateParams,
  517                 Metadata *VTableHolder, Metadata *TemplateParams,
  518                 MDString *Identifier, Metadata *Discriminator)
  564   Metadata *TypeArray;
  566   MDNodeKeyImpl(unsigned Flags, uint8_t CC, Metadata *TypeArray)
  609   Metadata *Scope;
  612   Metadata *File;
  614   Metadata *Type;
  616   Metadata *ContainingType;
  621   Metadata *Unit;
  622   Metadata *TemplateParams;
  623   Metadata *Declaration;
  624   Metadata *RetainedNodes;
  625   Metadata *ThrownTypes;
  627   MDNodeKeyImpl(Metadata *Scope, MDString *Name, MDString *LinkageName,
  628                 Metadata *File, unsigned Line, Metadata *Type,
  628                 Metadata *File, unsigned Line, Metadata *Type,
  629                 unsigned ScopeLine, Metadata *ContainingType,
  631                 unsigned SPFlags, Metadata *Unit, Metadata *TemplateParams,
  631                 unsigned SPFlags, Metadata *Unit, Metadata *TemplateParams,
  632                 Metadata *Declaration, Metadata *RetainedNodes,
  632                 Metadata *Declaration, Metadata *RetainedNodes,
  633                 Metadata *ThrownTypes)
  704   static bool isDeclarationOfODRMember(bool IsDefinition, const Metadata *Scope,
  706                                        const Metadata *TemplateParams,
  729   Metadata *Scope;
  730   Metadata *File;
  734   MDNodeKeyImpl(Metadata *Scope, Metadata *File, unsigned Line, unsigned Column)
  734   MDNodeKeyImpl(Metadata *Scope, Metadata *File, unsigned Line, unsigned Column)
  751   Metadata *Scope;
  752   Metadata *File;
  755   MDNodeKeyImpl(Metadata *Scope, Metadata *File, unsigned Discriminator)
  755   MDNodeKeyImpl(Metadata *Scope, Metadata *File, unsigned Discriminator)
  772   Metadata *Scope;
  776   MDNodeKeyImpl(Metadata *Scope, MDString *Name, bool ExportSymbols)
  793   Metadata *Scope;
  794   Metadata *Decl;
  796   Metadata *File;
  799   MDNodeKeyImpl(Metadata *Scope, Metadata *Decl, MDString *Name,
  799   MDNodeKeyImpl(Metadata *Scope, Metadata *Decl, MDString *Name,
  800                 Metadata *File, unsigned LineNo)
  818   Metadata *Scope;
  824   MDNodeKeyImpl(Metadata *Scope, MDString *Name, MDString *ConfigurationMacros,
  848   Metadata *Type;
  850   MDNodeKeyImpl(MDString *Name, Metadata *Type) : Name(Name), Type(Type) {}
  864   Metadata *Type;
  865   Metadata *Value;
  867   MDNodeKeyImpl(unsigned Tag, MDString *Name, Metadata *Type, Metadata *Value)
  867   MDNodeKeyImpl(unsigned Tag, MDString *Name, Metadata *Type, Metadata *Value)
  882   Metadata *Scope;
  885   Metadata *File;
  887   Metadata *Type;
  890   Metadata *StaticDataMemberDeclaration;
  891   Metadata *TemplateParams;
  894   MDNodeKeyImpl(Metadata *Scope, MDString *Name, MDString *LinkageName,
  895                 Metadata *File, unsigned Line, Metadata *Type,
  895                 Metadata *File, unsigned Line, Metadata *Type,
  897                 Metadata *StaticDataMemberDeclaration, Metadata *TemplateParams,
  897                 Metadata *StaticDataMemberDeclaration, Metadata *TemplateParams,
  940   Metadata *Scope;
  942   Metadata *File;
  944   Metadata *Type;
  949   MDNodeKeyImpl(Metadata *Scope, MDString *Name, Metadata *File, unsigned Line,
  949   MDNodeKeyImpl(Metadata *Scope, MDString *Name, Metadata *File, unsigned Line,
  950                 Metadata *Type, unsigned Arg, unsigned Flags,
  979   Metadata *Scope;
  981   Metadata *File;
  984   MDNodeKeyImpl(Metadata *Scope, MDString *Name, Metadata *File, unsigned Line)
  984   MDNodeKeyImpl(Metadata *Scope, MDString *Name, Metadata *File, unsigned Line)
 1017   Metadata *Variable;
 1018   Metadata *Expression;
 1020   MDNodeKeyImpl(Metadata *Variable, Metadata *Expression)
 1020   MDNodeKeyImpl(Metadata *Variable, Metadata *Expression)
 1035   Metadata *File;
 1040   Metadata *Type;
 1042   MDNodeKeyImpl(MDString *Name, Metadata *File, unsigned Line,
 1044                 Metadata *Type)
 1067   Metadata *Scope;
 1068   Metadata *Entity;
 1069   Metadata *File;
 1073   MDNodeKeyImpl(unsigned Tag, Metadata *Scope, Metadata *Entity, Metadata *File,
 1073   MDNodeKeyImpl(unsigned Tag, Metadata *Scope, Metadata *Entity, Metadata *File,
 1073   MDNodeKeyImpl(unsigned Tag, Metadata *Scope, Metadata *Entity, Metadata *File,
 1117   Metadata *File;
 1118   Metadata *Elements;
 1120   MDNodeKeyImpl(unsigned MIType, unsigned Line, Metadata *File,
 1121                 Metadata *Elements)
 1274   DenseMap<Metadata *, MetadataAsValue *> MetadataAsValues;
lib/IR/MDBuilder.cpp
   45   SmallVector<Metadata *, 4> Vals(Weights.size() + 1);
   63   SmallVector<Metadata *, 8> Ops;
  101   SmallVector<Metadata *, 4> Ops;
  110   SmallVector<Metadata *, 4> Ops;
  134   SmallVector<Metadata *, 4> Ops;
  157   SmallVector<Metadata *, 3> Args(1, Dummy.get());
  202   SmallVector<Metadata *, 4> Vals(Fields.size() * 3);
  216   SmallVector<Metadata *, 4> Ops(Fields.size() * 2 + 1);
  249                                       Metadata *Id,
  251   SmallVector<Metadata *, 4> Ops(3 + Fields.size() * 3);
  281   Metadata *OffsetNode = Tag->getOperand(2);
  292   Metadata *ImmutabilityFlagNode = Tag->getOperand(ImmutabilityFlagOp);
  300   Metadata *SizeNode = Tag->getOperand(3);
  306   Metadata *Vals[] = {
  316   Metadata *Vals[] = {
lib/IR/Metadata.cpp
   62 MetadataAsValue::MetadataAsValue(Type *Ty, Metadata *MD)
   83 static Metadata *canonicalizeMetadataForValue(LLVMContext &Context,
   84                                               Metadata *MD) {
  105 MetadataAsValue *MetadataAsValue::get(LLVMContext &Context, Metadata *MD) {
  114                                               Metadata *MD) {
  120 void MetadataAsValue::handleChangedMetadata(Metadata *MD) {
  153 bool MetadataTracking::track(void *Ref, Metadata &MD, OwnerTy Owner) {
  170 void MetadataTracking::untrack(void *Ref, Metadata &MD) {
  178 bool MetadataTracking::retrack(void *Ref, Metadata &MD, void *New) {
  193 bool MetadataTracking::isReplaceable(const Metadata &MD) {
  215                                       const Metadata &MD) {
  232 void ReplaceableMetadataImpl::replaceAllUsesWith(Metadata *MD) {
  251       Metadata *&Ref = *static_cast<Metadata **>(Pair.first);
  266     Metadata *OwnerMD = Owner.get<Metadata *>();
  266     Metadata *OwnerMD = Owner.get<Metadata *>();
  304     auto *OwnerMD = dyn_cast<MDNode>(Owner.get<Metadata *>());
  313 ReplaceableMetadataImpl *ReplaceableMetadataImpl::getOrCreate(Metadata &MD) {
  319 ReplaceableMetadataImpl *ReplaceableMetadataImpl::getIfExists(Metadata &MD) {
  325 bool ReplaceableMetadataImpl::isReplaceable(const Metadata &MD) {
  504                ArrayRef<Metadata *> Ops1, ArrayRef<Metadata *> Ops2)
  504                ArrayRef<Metadata *> Ops1, ArrayRef<Metadata *> Ops2)
  508   for (Metadata *MD : Ops1)
  510   for (Metadata *MD : Ops2)
  532 static bool isOperandUnresolved(Metadata *Op) {
  593 void MDNode::resolveAfterOperandChange(Metadata *Old, Metadata *New) {
  593 void MDNode::resolveAfterOperandChange(Metadata *Old, Metadata *New) {
  641   for (Metadata *MD : N->operands())
  698 void MDNode::handleChangedOperand(void *Ref, Metadata *New) {
  711   Metadata *Old = getOperand(Op);
  812 MDTuple *MDTuple::getImpl(LLVMContext &Context, ArrayRef<Metadata *> MDs,
  858 void MDNode::replaceOperandWith(unsigned I, Metadata *New) {
  870 void MDNode::setOperand(unsigned I, Metadata *New) {
  882                                   ArrayRef<Metadata *> Ops) {
  901   SmallSetVector<Metadata *, 4> MDs(A->op_begin(), A->op_end());
  913   SmallSetVector<Metadata *, 4> MDs(A->op_begin(), A->op_end());
  914   SmallPtrSet<Metadata *, 4> BSet(B->op_begin(), B->op_end());
 1042   SmallVector<Metadata *, 4> MDs;
 1082   auto *N = getNMDOps(Operands)[i].get();
 1458       Metadata *TypeId = MD.second->getOperand(1);
 1491 void GlobalObject::addTypeMetadata(unsigned Offset, Metadata *TypeID) {
lib/IR/Module.cpp
  277 bool Module::isValidModFlagBehavior(Metadata *MD, ModFlagBehavior &MFB) {
  302       Metadata *Val = Flag->getOperand(2);
  310 Metadata *Module::getModuleFlag(StringRef Key) const {
  338                            Metadata *Val) {
  340   Metadata *Ops[3] = {
  534 void Module::setProfileSummary(Metadata *M, ProfileSummary::Kind Kind) {
  541 Metadata *Module::getProfileSummary(bool IsCS) {
lib/IR/ProfileSummary.cpp
   26 static Metadata *getKeyValMD(LLVMContext &Context, const char *Key,
   29   Metadata *Ops[2] = {MDString::get(Context, Key),
   36 static Metadata *getKeyValMD(LLVMContext &Context, const char *Key,
   38   Metadata *Ops[2] = {MDString::get(Context, Key), MDString::get(Context, Val)};
   47 Metadata *ProfileSummary::getDetailedSummaryMD(LLVMContext &Context) {
   48   std::vector<Metadata *> Entries;
   52     Metadata *EntryMD[3] = {
   58   Metadata *Ops[2] = {MDString::get(Context, "DetailedSummary"),
   68 Metadata *ProfileSummary::getMD(LLVMContext &Context) {
   70   Metadata *Components[] = {
  142 ProfileSummary *ProfileSummary::getFromMD(Metadata *MD) {
lib/IR/TypeFinder.cpp
  156   for (Metadata *Op : V->operands()) {
lib/IR/Verifier.cpp
  157   void Write(const Metadata *MD) {
  265   SmallPtrSet<const Metadata *, 32> MDNodes;
  271   SmallPtrSet<const Metadata *, 2> CUVisited;
  431   void visitTemplateParams(const MDNode &N, const Metadata &RawParams);
  797   case Metadata::MDTupleKind:
  806   for (const Metadata *Op : MD.operands()) {
  853   Metadata *MD = MDV.getMetadata();
  868 static bool isType(const Metadata *MD) { return !MD || isa<DIType>(MD); }
  869 static bool isScope(const Metadata *MD) { return !MD || isa<DIScope>(MD); }
  870 static bool isDINode(const Metadata *MD) { return !MD || isa<DINode>(MD); }
  875   if (auto *IA = N.getRawInlinedAt())
  886   if (auto *F = N.getRawFile())
  955 void Verifier::visitTemplateParams(const MDNode &N, const Metadata &RawParams) {
  958   for (Metadata *Op : Params->operands()) {
  997   if (auto *Params = N.getRawTemplateParams())
 1006   if (auto *D = N.getRawDiscriminator()) {
 1014   if (auto *Types = N.getRawTypeArray()) {
 1016     for (Metadata *Ty : N.getTypeArray()->operands()) {
 1061   if (auto *Array = N.getRawEnumTypes()) {
 1063     for (Metadata *Op : N.getEnumTypes()->operands()) {
 1069   if (auto *Array = N.getRawRetainedTypes()) {
 1071     for (Metadata *Op : N.getRetainedTypes()->operands()) {
 1078   if (auto *Array = N.getRawGlobalVariables()) {
 1080     for (Metadata *Op : N.getGlobalVariables()->operands()) {
 1085   if (auto *Array = N.getRawImportedEntities()) {
 1087     for (Metadata *Op : N.getImportedEntities()->operands()) {
 1092   if (auto *Array = N.getRawMacros()) {
 1094     for (Metadata *Op : N.getMacros()->operands()) {
 1104   if (auto *F = N.getRawFile())
 1108   if (auto *T = N.getRawType())
 1112   if (auto *Params = N.getRawTemplateParams())
 1114   if (auto *S = N.getRawDeclaration())
 1117   if (auto *RawNode = N.getRawRetainedNodes()) {
 1120     for (Metadata *Op : Node->operands()) {
 1129   auto *Unit = N.getRawUnit();
 1142   if (auto *RawThrownTypes = N.getRawThrownTypes()) {
 1145     for (Metadata *Op : ThrownTypes->operands())
 1176   if (auto *S = N.getRawScope())
 1178   if (auto *S = N.getRawDecl())
 1184   if (auto *S = N.getRawScope())
 1201   if (auto *F = N.getRawFile())
 1204   if (auto *Array = N.getRawElements()) {
 1206     for (Metadata *Op : N.getElements()->operands()) {
 1239   if (auto *S = N.getRawScope())
 1241   if (auto *F = N.getRawFile())
 1252   if (auto *Member = N.getRawStaticDataMemberDeclaration()) {
 1271   if (auto *S = N.getRawScope())
 1273   if (auto *F = N.getRawFile())
 1299   if (auto *T = N.getRawType())
 1301   if (auto *F = N.getRawFile())
 1309   if (auto *S = N.getRawScope())
 1372     const Metadata *ReqValue = Requirement->getOperand(1);
 2341     Metadata *Parent = DL->getRawScope();
 4742 static DISubprogram *getSubprogram(Metadata *LocalScope) {
 4917   auto *MD = cast<MetadataAsValue>(DII.getArgOperand(0))->getMetadata();
 5076   SmallPtrSet<const Metadata *, 2> Listed;
lib/Linker/IRMover.cpp
  378 typedef DenseMap<const Metadata *, TrackingMDRef> MDMapT;
 1286       Metadata *FlagOps[] = {DstOp->getOperand(0), ID, New};
 1332       SmallVector<Metadata *, 8> MDs;
 1341       SmallSetVector<Metadata *, 16> Elts;
 1358     Metadata *ReqValue = Requirement->getOperand(1);
lib/ProfileData/InstrProf.cpp
  953   SmallVector<Metadata *, 3> Vals;
lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
  955         Metadata *LowAndHigh[] = {
lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp
   96     SmallVector<Metadata *, 4> All;
lib/Target/AMDGPU/R600OpenCLImageTypeLoweringPass.cpp
   74 using MDVector = SmallVector<Metadata *, 8>;
  322     SmallVector<Metadata *, 6> KernelMDArgs;
lib/Target/NVPTX/NVVMIntrRange.cpp
   73   Metadata *LowAndHigh[] = {
lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
  146     for (const Metadata *MD : Named->operands()) {
  230     Metadata *Policy = M.getModuleFlag(MDKey);
lib/Target/X86/X86ISelLowering.cpp
 3630   Metadata *IsCFProtectionSupported = M->getModuleFlag("cf-protection-branch");
45089   Metadata *IsCFProtectionSupported = M->getModuleFlag("cf-protection-branch");
lib/Target/X86/X86IndirectBranchTracking.cpp
  103   Metadata *isCFProtectionSupported =
lib/Transforms/IPO/GlobalDCE.cpp
  178       Metadata *TypeID = Type->getOperand(1).get();
  203 void GlobalDCEPass::ScanVTableLoad(Function *Caller, Metadata *TypeId,
  246     auto *TypeId = cast<MetadataAsValue>(TypeIdValue)->getMetadata();
lib/Transforms/IPO/LowerTypeTests.cpp
  408   DenseMap<Metadata *, TypeIdUserInfo> TypeIdUsers;
  450   buildBitSet(Metadata *TypeId,
  457       ArrayRef<Metadata *> TypeIds, Constant *CombinedGlobalAddr,
  459   Value *lowerTypeTestCall(Metadata *TypeId, CallInst *CI,
  462   void buildBitSetsFromGlobalVariables(ArrayRef<Metadata *> TypeIds,
  470   void buildBitSetsFromFunctions(ArrayRef<Metadata *> TypeIds,
  472   void buildBitSetsFromFunctionsNative(ArrayRef<Metadata *> TypeIds,
  474   void buildBitSetsFromFunctionsWASM(ArrayRef<Metadata *> TypeIds,
  477   buildBitSetsFromDisjointSet(ArrayRef<Metadata *> TypeIds,
  553     Metadata *TypeId,
  687 static bool isKnownTypeIdMember(Metadata *TypeId, const DataLayout &DL,
  728 Value *LowerTypeTestsModule::lowerTypeTestCall(Metadata *TypeId, CallInst *CI,
  816     ArrayRef<Metadata *> TypeIds, ArrayRef<GlobalTypeMember *> Globals) {
 1107     ArrayRef<Metadata *> TypeIds, Constant *CombinedGlobalAddr,
 1112   for (Metadata *TypeId : TypeIds) {
 1238     ArrayRef<Metadata *> TypeIds, ArrayRef<GlobalTypeMember *> Functions) {
 1403     ArrayRef<Metadata *> TypeIds, ArrayRef<GlobalTypeMember *> Functions) {
 1560     ArrayRef<Metadata *> TypeIds, ArrayRef<GlobalTypeMember *> Functions) {
 1590     ArrayRef<Metadata *> TypeIds, ArrayRef<GlobalTypeMember *> Globals,
 1592   DenseMap<Metadata *, uint64_t> TypeIdIndices;
 1813       PointerUnion3<GlobalTypeMember *, Metadata *, ICallBranchFunnel *>>;
 1828   DenseMap<Metadata *, TIInfo> TypeIdInfo;
 2049     DenseMap<GlobalValue::GUID, TinyPtrVector<Metadata *>> MetadataByGUID;
 2062             for (Metadata *MD : MetadataByGUID[G])
 2084       if (auto *MD = MI->dyn_cast<Metadata *>())
 2084       if (auto *MD = MI->dyn_cast<Metadata *>())
 2100     std::vector<Metadata *> TypeIds;
 2106       if (MI->is<Metadata *>())
 2107         TypeIds.push_back(MI->get<Metadata *>());
lib/Transforms/IPO/StripSymbols.cpp
  314   SmallVector<Metadata *, 64> LiveGlobalVariables;
lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
   87   DenseMap<Metadata *, Metadata *> LocalToGlobal;
   87   DenseMap<Metadata *, Metadata *> LocalToGlobal;
   89     Metadata *MD =
   93       Metadata *&GlobalMD = LocalToGlobal[MD];
  324     SmallVector<Metadata *, 4> Elts;
  353     Metadata *Elts[] = {
lib/Transforms/IPO/WholeProgramDevirt.cpp
  256   Metadata *TypeID;
  266     return {DenseMapInfo<Metadata *>::getEmptyKey(),
  270     return {DenseMapInfo<Metadata *>::getTombstoneKey(),
  274     return DenseMapInfo<Metadata *>::getHashValue(I.TypeID) ^
  494       DenseMap<Metadata *, std::set<TypeMemberInfo>> &TypeIdMap);
  780     DenseMap<Metadata *, std::set<TypeMemberInfo>> &TypeIdMap) {
 1574       Metadata *TypeId =
 1612     Metadata *TypeId = cast<MetadataAsValue>(TypeIdValue)->getMetadata();
 1805   DenseMap<Metadata *, std::set<TypeMemberInfo>> TypeIdMap;
 1812     DenseMap<GlobalValue::GUID, TinyPtrVector<Metadata *>> MetadataByGUID;
 1826           for (Metadata *MD : MetadataByGUID[VF.GUID]) {
 1831           for (Metadata *MD : MetadataByGUID[VF.GUID]) {
 1837           for (Metadata *MD : MetadataByGUID[VC.VFunc.GUID]) {
 1845           for (Metadata *MD : MetadataByGUID[VC.VFunc.GUID]) {
lib/Transforms/InstCombine/InstCombineCalls.cpp
 1247     Metadata *LowAndHigh[] = {
 1284     Metadata *LowAndHigh[] = {
 3691         Metadata *MDArgs[] = {MDString::get(II->getContext(), "exec")};
lib/Transforms/Instrumentation/CGProfile.cpp
   87   std::vector<Metadata *> Nodes;
   90     Metadata *Vals[] = {ValueAsMetadata::get(E.first.first),
lib/Transforms/Scalar/ADCE.cpp
  136   SmallPtrSet<const Metadata *, 32> AliveScopes;
lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
  418   Metadata *FalseVal =
lib/Transforms/Scalar/LoopVersioningLICM.cpp
  542   SmallVector<Metadata *, 4> Scopes, NoAliases;
lib/Transforms/Utils/InlineFunction.cpp
  835   SmallVector<const Metadata *, 16> Queue(MD.begin(), MD.end());
  857     SmallVector<Metadata *, 4> NewOps;
  859       const Metadata *V = I->getOperand(i);
 1034       SmallVector<Metadata *, 4> Scopes, NoAliases;
 1369   SmallVector<Metadata *, 4> MDs = {nullptr};
 1372     Metadata *MD = OrigLoopId->getOperand(i);
lib/Transforms/Utils/LoopUtils.cpp
  202   Metadata *MDs[] = {
  213   SmallVector<Metadata *, 4> MDs(1);
  316   SmallVector<Metadata *, 8> MDs;
  332         Metadata *NameMD = Op->getOperand(0).get();
lib/Transforms/Utils/LoopVersioning.cpp
  196            SmallVector<Metadata *, 4>>
lib/Transforms/Utils/ValueMapper.cpp
  156   Metadata *mapMetadata(const Metadata *MD);
  156   Metadata *mapMetadata(const Metadata *MD);
  184   Optional<Metadata *> mapSimpleMetadata(const Metadata *MD);
  184   Optional<Metadata *> mapSimpleMetadata(const Metadata *MD);
  186   Metadata *mapToMetadata(const Metadata *Key, Metadata *Val);
  186   Metadata *mapToMetadata(const Metadata *Key, Metadata *Val);
  186   Metadata *mapToMetadata(const Metadata *Key, Metadata *Val);
  187   Metadata *mapToSelf(const Metadata *MD);
  187   Metadata *mapToSelf(const Metadata *MD);
  202     SmallDenseMap<const Metadata *, Data, 32> Info; // Node properties.
  212     Metadata &getFwdReference(MDNode &Op);
  219   SmallDenseMap<const Metadata *, Data, 32> InfoStorage;
  243   Metadata *map(const MDNode &N);
  265   Metadata *mapTopLevelUniquedNode(const MDNode &FirstN);
  275   Optional<Metadata *> tryToMapOperand(const Metadata *Op);
  275   Optional<Metadata *> tryToMapOperand(const Metadata *Op);
  287   Optional<Metadata *> getMappedOp(const Metadata *Op) const;
  287   Optional<Metadata *> getMappedOp(const Metadata *Op) const;
  379     const Metadata *MD = MDV->getMetadata();
  403     auto *MappedMD = mapMetadata(MD);
  507 Metadata *Mapper::mapToMetadata(const Metadata *Key, Metadata *Val) {
  507 Metadata *Mapper::mapToMetadata(const Metadata *Key, Metadata *Val) {
  507 Metadata *Mapper::mapToMetadata(const Metadata *Key, Metadata *Val) {
  512 Metadata *Mapper::mapToSelf(const Metadata *MD) {
  512 Metadata *Mapper::mapToSelf(const Metadata *MD) {
  516 Optional<Metadata *> MDNodeMapper::tryToMapOperand(const Metadata *Op) {
  516 Optional<Metadata *> MDNodeMapper::tryToMapOperand(const Metadata *Op) {
  520   if (Optional<Metadata *> MappedOp = M.mapSimpleMetadata(Op)) {
  539 static Metadata *cloneOrBuildODR(const MDNode &N) {
  566 Optional<Metadata *> MDNodeMapper::getMappedOp(const Metadata *Op) const {
  566 Optional<Metadata *> MDNodeMapper::getMappedOp(const Metadata *Op) const {
  570   if (Optional<Metadata *> MappedOp = M.getVM().getMappedMD(Op))
  582 Metadata &MDNodeMapper::UniquedGraph::getFwdReference(MDNode &Op) {
  601     Metadata *Old = N.getOperand(I);
  602     Metadata *New = mapOperand(Old);
  660     Metadata *Op = *I++; // Increment even on early return.
  661     if (Optional<Metadata *> MappedOp = tryToMapOperand(Op)) {
  714       if (Optional<Metadata *> MappedOp = getMappedOp(Old))
  736 Metadata *MDNodeMapper::map(const MDNode &N) {
  744   Metadata *MappedN =
  748       if (Optional<Metadata *> MappedOp = tryToMapOperand(Old))
  755 Metadata *MDNodeMapper::mapTopLevelUniquedNode(const MDNode &FirstN) {
  777 Optional<Metadata *> Mapper::mapSimpleMetadata(const Metadata *MD) {
  777 Optional<Metadata *> Mapper::mapSimpleMetadata(const Metadata *MD) {
  779   if (Optional<Metadata *> NewMD = getVM().getMappedMD(MD))
  803 Metadata *Mapper::mapMetadata(const Metadata *MD) {
  803 Metadata *Mapper::mapMetadata(const Metadata *MD) {
  807   if (Optional<Metadata *> NewMD = mapSimpleMetadata(MD))
 1102 Metadata *ValueMapper::mapMetadata(const Metadata &MD) {
 1102 Metadata *ValueMapper::mapMetadata(const Metadata &MD) {
lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
  192     SmallVector<Metadata *, 4> Args;
  217 void LoopVectorizeHints::setHint(StringRef Name, Metadata *Arg) {
lib/Transforms/Vectorize/LoopVectorize.cpp
 6581   SmallVector<Metadata *, 4> MDs;
 6602     SmallVector<Metadata *, 1> DisableOperands;
tools/clang/lib/CodeGen/CGBuiltin.cpp
 3112     SmallVector<Metadata *, 1> Strings;
 5929   llvm::Metadata *Ops[] = { llvm::MDString::get(Context, SysReg) };
 7255     llvm::Metadata *Ops[] = {llvm::MDString::get(Context, Reg)};
 7428     llvm::Metadata *Ops[] = { llvm::MDString::get(Context, SysRegStr) };
tools/clang/lib/CodeGen/CGClass.cpp
 2645     llvm::Metadata *MD =
 2754   llvm::Metadata *MD =
 2811   llvm::Metadata *MD =
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  212     llvm::Metadata *V = I->second;
  423     if (llvm::Metadata *V = It->second)
 1035     unsigned LineNo, SmallVectorImpl<llvm::Metadata *> &EltTys) {
 1071   SmallVector<llvm::Metadata *, 8> EltTys;
 1196   SmallVector<llvm::Metadata *, 16> EltTys;
 1302     const CXXRecordDecl *CXXDecl, SmallVectorImpl<llvm::Metadata *> &elements,
 1374     SmallVectorImpl<llvm::Metadata *> &elements, llvm::DIType *RecordTy,
 1397     const TypeDecl *TD, SmallVectorImpl<llvm::Metadata *> &elements) {
 1409     SmallVectorImpl<llvm::Metadata *> &elements,
 1482   SmallVector<llvm::Metadata *, 16> Elts;
 1646     SmallVectorImpl<llvm::Metadata *> &EltTys, llvm::DIType *RecordTy) {
 1683                                   SmallVectorImpl<llvm::Metadata *> &EltTys,
 1699     SmallVectorImpl<llvm::Metadata *> &EltTys, llvm::DIType *RecordTy,
 1748   SmallVector<llvm::Metadata *, 16> TemplateParams;
 1900   llvm::Metadata *STy = getOrCreateType(Context.IntTy, Unit);
 1972                                     SmallVectorImpl<llvm::Metadata *> &EltTys,
 2257   SmallVector<llvm::Metadata *, 16> EltTys;
 2472   SmallVector<llvm::Metadata *, 16> EltTys;
 2613   llvm::Metadata *Subscript;
 2655   SmallVector<llvm::Metadata *, 8> Subscripts;
 2811   SmallVector<llvm::Metadata *, 16> Enumerators;
 2921     if (llvm::Metadata *V = It->second)
 3481     SmallVector<llvm::Metadata *, 16> Elts;
 3521       SmallVector<llvm::Metadata *, 16> EltTys;
 3836   SmallVector<llvm::Metadata *, 5> EltTys;
 4177     SmallVectorImpl<llvm::Metadata *> &Fields) {
 4233   SmallVector<llvm::Metadata *, 16> fields;
 4687       SmallVector<llvm::Metadata *, 16> EltTys;
 4713     llvm::Metadata *Repl;
tools/clang/lib/CodeGen/CGDebugInfo.h
   90   llvm::SmallDenseMap<QualType, llvm::Metadata *> SizeExprCache;
  230                                  SmallVectorImpl<llvm::Metadata *> &E,
  237                        SmallVectorImpl<llvm::Metadata *> &EltTys,
  244       SmallVectorImpl<llvm::Metadata *> &EltTys, llvm::DIType *RecordTy,
  292                                  SmallVectorImpl<llvm::Metadata *> &E,
  299                                 SmallVectorImpl<llvm::Metadata *> &E,
  302                                SmallVectorImpl<llvm::Metadata *> &E);
  304                            SmallVectorImpl<llvm::Metadata *> &E,
  310                          SmallVectorImpl<llvm::Metadata *> &EltTys,
  333       SmallVectorImpl<llvm::Metadata *> &EltTys);
  340       SmallVectorImpl<llvm::Metadata *> &Fields);
  352   void registerVLASizeExpression(QualType Ty, llvm::Metadata *SizeExpr) {
tools/clang/lib/CodeGen/CGDecl.cpp
 1349     llvm::Metadata *MD;
tools/clang/lib/CodeGen/CGExpr.cpp
 2452     llvm::Metadata *Ops[] = {Str};
 4847     llvm::Metadata *MD;
tools/clang/lib/CodeGen/CGLoopInfo.cpp
   22 LoopInfo::createLoopPropertiesMetadata(ArrayRef<Metadata *> LoopProperties) {
   24   SmallVector<Metadata *, 4> NewLoopProperties;
   35                                            ArrayRef<Metadata *> LoopProperties,
   46     SmallVector<Metadata *, 4> NewLoopProperties;
   58   SmallVector<Metadata *, 4> Args;
   64     Metadata *Vals[] = {
   81                                       ArrayRef<Metadata *> LoopProperties,
  100   SmallVector<Metadata *, 4> FollowupLoopProperties;
  113   SmallVector<Metadata *, 4> Args;
  120     Metadata *Vals[] = {MDString::get(Ctx, "llvm.loop.unroll.count"),
  128     Metadata *Vals[] = {MDString::get(Ctx, "llvm.loop.unroll.enable")};
  144                                      ArrayRef<Metadata *> LoopProperties,
  156     SmallVector<Metadata *, 4> NewLoopProperties;
  167   SmallVector<Metadata *, 4> FollowupLoopProperties;
  176   SmallVector<Metadata *, 4> Args;
  183     Metadata *Vals[] = {
  191     Metadata *Vals[] = {MDString::get(Ctx, "llvm.loop.unroll_and_jam.enable")};
  213                                       ArrayRef<Metadata *> LoopProperties,
  226     SmallVector<Metadata *, 4> NewLoopProperties;
  239   SmallVector<Metadata *, 4> FollowupLoopProperties;
  250   SmallVector<Metadata *, 4> Args;
  264     Metadata *Vals[] = {
  273     Metadata *Vals[] = {
  282     Metadata *Vals[] = {
  292     Metadata *Vals[] = {
  315                                        ArrayRef<Metadata *> LoopProperties,
  326     SmallVector<Metadata *, 4> NewLoopProperties;
  343   SmallVector<Metadata *, 4> Args;
  348   Metadata *Vals[] = {MDString::get(Ctx, "llvm.loop.distribute.enable"),
  366                                            ArrayRef<Metadata *> LoopProperties,
  377     SmallVector<Metadata *, 4> NewLoopProperties;
  388   SmallVector<Metadata *, 4> Args;
  405     llvm::ArrayRef<llvm::Metadata *> AdditionalLoopProperties,
  407   SmallVector<Metadata *, 3> LoopProperties;
  542       SmallVector<Metadata *, 1> BeforeLoopProperties;
  766     SmallVector<Metadata *, 4> AccessGroups;
tools/clang/lib/CodeGen/CGLoopInfo.h
  125   createLoopPropertiesMetadata(llvm::ArrayRef<llvm::Metadata *> LoopProperties);
  146                            llvm::ArrayRef<llvm::Metadata *> LoopProperties,
  150                               llvm::ArrayRef<llvm::Metadata *> LoopProperties,
  154                              llvm::ArrayRef<llvm::Metadata *> LoopProperties,
  158                               llvm::ArrayRef<llvm::Metadata *> LoopProperties,
  162                                llvm::ArrayRef<llvm::Metadata *> LoopProperties,
  166                            llvm::ArrayRef<llvm::Metadata *> LoopProperties,
  183                                llvm::ArrayRef<llvm::Metadata *> LoopProperties,
tools/clang/lib/CodeGen/CGObjC.cpp
 3725   llvm::Metadata *Args[2] = {llvm::MDString::get(Context, "-framework"),
tools/clang/lib/CodeGen/CGObjCGNU.cpp
 2596   llvm::Metadata *impMD[] = {
 2672   llvm::Metadata *impMD[] = {
tools/clang/lib/CodeGen/CGObjCMac.cpp
 5001       llvm::Metadata *Ops[2] = {
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
 4098         llvm::Metadata *Ops[] = {GetMDInt(E.getKind()), GetMDInt(DeviceID),
 4137         llvm::Metadata *Ops[] = {
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
 1848   llvm::Metadata *MDVals[] = {
tools/clang/lib/CodeGen/CGStmt.cpp
 1887   SmallVector<llvm::Metadata *, 8> Locs;
tools/clang/lib/CodeGen/CGVTables.cpp
 1120       llvm::Metadata *MD = CreateMetadataIdentifierForVirtualMemPtrType(
tools/clang/lib/CodeGen/CodeGenFunction.cpp
  552     llvm::Metadata *AttrMDArgs[] = {
  562     llvm::Metadata *AttrMDArgs[] = {
  570     llvm::Metadata *AttrMDArgs[] = {
  579     llvm::Metadata *AttrMDArgs[] = {
tools/clang/lib/CodeGen/CodeGenModule.cpp
  498     llvm::Metadata *Ops[2] = {
  573       llvm::Metadata *SPIRVerElts[] = {
  635   llvm::Metadata *OCLVerElts[] = {
 1209 llvm::ConstantInt *CodeGenModule::CreateCrossDsoCfiTypeId(llvm::Metadata *MD) {
 1275   SmallVector<llvm::Metadata *, 8> addressQuals;
 1278   SmallVector<llvm::Metadata *, 8> accessQuals;
 1281   SmallVector<llvm::Metadata *, 8> argTypeNames;
 1284   SmallVector<llvm::Metadata *, 8> argBaseTypeNames;
 1287   SmallVector<llvm::Metadata *, 8> argTypeQuals;
 1290   SmallVector<llvm::Metadata *, 8> argNames;
 1630       llvm::Metadata *Id =
 1781   llvm::Metadata *MD = CreateMetadataIdentifierForType(FD->getType());
 1984       llvm::Metadata *Args[2] = {
 1994       llvm::Metadata *Args[2] = {
 5569   llvm::Metadata *Ops[] = {llvm::ConstantAsMetadata::get(Addr),
 5652   llvm::Metadata *IdentNode[] = {llvm::MDString::get(Ctx, Version)};
 5662   llvm::Metadata *CommandLineNode[] = {llvm::MDString::get(Ctx, CommandLine)};
 5698     llvm::Metadata *Elts[] = {CoverageNotesFile, CoverageDataFile, CU};
 5763 llvm::Metadata *
 5766   llvm::Metadata *&InternalId = Map[T.getCanonicalType()];
 5785 llvm::Metadata *CodeGenModule::CreateMetadataIdentifierForType(QualType T) {
 5789 llvm::Metadata *
 5826 llvm::Metadata *CodeGenModule::CreateMetadataIdentifierGeneralized(QualType T) {
 5848   llvm::Metadata *MD =
 5858     llvm::Metadata *MD = llvm::MDString::get(getLLVMContext(), "all-vtables");
tools/clang/lib/CodeGen/CodeGenModule.h
  545   typedef llvm::DenseMap<QualType, llvm::Metadata *> MetadataTypeMap;
 1307   llvm::ConstantInt *CreateCrossDsoCfiTypeId(llvm::Metadata *MD);
 1312   llvm::Metadata *CreateMetadataIdentifierForType(QualType T);
 1316   llvm::Metadata *CreateMetadataIdentifierForVirtualMemPtrType(QualType T);
 1321   llvm::Metadata *CreateMetadataIdentifierGeneralized(QualType T);
 1523   llvm::Metadata *CreateMetadataIdentifierImpl(QualType T, MetadataTypeMap &Map,
tools/clang/lib/CodeGen/CodeGenTBAA.cpp
   62     llvm::Metadata *Id = MDHelper.createString(Name);
  329       llvm::Metadata *Id = MDHelper.createString(OutName);
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
  665       llvm::Metadata *MD =
  753         llvm::Metadata *MD = CGM.CreateMetadataIdentifierForType(
tools/clang/lib/CodeGen/SanitizerMetadata.cpp
   38   llvm::Metadata *LocDescr = nullptr;
   39   llvm::Metadata *GlobalName = nullptr;
   49   llvm::Metadata *GlobalMetadata[] = {
   95   llvm::Metadata *LocMetadata[] = {
tools/clang/lib/CodeGen/TargetInfo.cpp
 6522   llvm::Metadata *MDVals[] = {
 7401         SmallVector<llvm::Metadata *, 5> Operands;
 8873     llvm::Metadata *MDVals[] = {llvm::ConstantAsMetadata::get(GV),
 9930   llvm::SmallVector<llvm::Metadata *, 8> AddressQuals;
 9931   llvm::SmallVector<llvm::Metadata *, 8> AccessQuals;
 9932   llvm::SmallVector<llvm::Metadata *, 8> ArgTypeNames;
 9933   llvm::SmallVector<llvm::Metadata *, 8> ArgBaseTypeNames;
 9934   llvm::SmallVector<llvm::Metadata *, 8> ArgTypeQuals;
 9935   llvm::SmallVector<llvm::Metadata *, 8> ArgNames;
tools/clang/unittests/CodeGen/IRMatchers.h
   61     PointerUnion3<const Value *, const Metadata *, const Type *> Entity;
   66     Query(const Metadata *M, unsigned N) : Entity(M), OperandNo(N) {}
   70     const T *get() const {
   71       return Entity.dyn_cast<const T *>();
   78   void push(const T *V, unsigned N = ~0) {
   85   const T *top() const { return MatchStack.back().get<T>(); }
   85   const T *top() const { return MatchStack.back().get<T>(); }
  124     if (auto V = MC.top<T>())
  128   virtual bool matchEntity(const T &M, MatcherContext &C) = 0;
  135 class AnyMatcher : public EntityMatcher<T> {
  137   bool matchEntity(const T &M, MatcherContext &C) override { return true; }
  159 class SavingMatcher : public EntityMatcher<T> {
  160   const T *&Var;
  163   SavingMatcher(const T *&V, std::shared_ptr<Matcher> N) : Var(V), Next(N) {}
  164   bool matchEntity(const T &V, MatcherContext &C) override {
  184       if (const Metadata *MR = StackRec.get<Metadata>()) {
  184       if (const Metadata *MR = StackRec.get<Metadata>()) {
  187             return C.top<Metadata>() == MT->getOperand(OpNo).get();
  220     if (const Metadata *M = Ctx.top<Metadata>()) {
  220     if (const Metadata *M = Ctx.top<Metadata>()) {
  235   std::shared_ptr<EntityMatcher<Metadata>> MetaMatcher = nullptr;
  240   void push(std::shared_ptr<EntityMatcher<Metadata>> M) {
  314 class NameMetaMatcher : public EntityMatcher<Metadata> {
  318   bool matchEntity(const Metadata &M, MatcherContext &C) override {
  328 class MTupleMatcher : public EntityMatcher<Metadata> {
  337   bool matchEntity(const Metadata &M, MatcherContext &C) override {
  388 inline std::shared_ptr<EntityMatcher<Metadata>> MMAny() {
  389   return std::shared_ptr<EntityMatcher<Metadata>>(new AnyMatcher<Metadata>);
  392 inline std::shared_ptr<EntityMatcher<Metadata>>
  393 MMSave(const Metadata *&V, std::shared_ptr<EntityMatcher<Metadata>> M) {
  393 MMSave(const Metadata *&V, std::shared_ptr<EntityMatcher<Metadata>> M) {
  395       new SavingMatcher<Metadata>(V, M));
  398 inline std::shared_ptr<EntityMatcher<Metadata>> MMString(const char *Name) {
  403 std::shared_ptr<EntityMatcher<Metadata>> MMTuple(T... Args) {
tools/clang/unittests/CodeGen/TBAAMetadataTest.cpp
  367   const Metadata *MetaABC = nullptr;
  392   const Metadata *MetaCDE = nullptr;
  459   const Metadata *MetaABC = nullptr;
  484   const Metadata *MetaCDE = nullptr;
tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
  360   llvm::Metadata *values[2];
  364   ArrayRef<Metadata *> value_ref(values, 2);
 1116   llvm::Metadata *values[2];
 1120   ArrayRef<llvm::Metadata *> value_ref(values, 2);
tools/polly/lib/CodeGen/IRBuilder.cpp
   32 static MDNode *getID(LLVMContext &Ctx, Metadata *arg0 = nullptr,
   33                      Metadata *arg1 = nullptr) {
   35   SmallVector<Metadata *, 3> Args;
   89       Metadata *Args = {AliasScopePair.second};
  128     SmallVector<Metadata *, 3> Args;
  179     Metadata *Args = {SecondLevelAliasScope};
unittests/CodeGen/MachineOperandTest.cpp
  298   Metadata *MDS = MDString::get(Ctx, "foo");
unittests/IR/IRBuilderTest.cpp
  887   SmallVector<Metadata *, 4> Elements;
unittests/IR/MDBuilderTest.cpp
   38   Metadata *Op = MD1->getOperand(0);
unittests/IR/MetadataTest.cpp
   74   MDNode *getNode(Metadata *MD) { return MDNode::get(Context, MD); }
   75   MDNode *getNode(Metadata *MD1, Metadata *MD2) {
   75   MDNode *getNode(Metadata *MD1, Metadata *MD2) {
   76     Metadata *MDs[] = {MD1, MD2};
  182   std::vector<Metadata *> V;
  188   Metadata *const c1 = n1;
  190   Metadata *const c2 = n2;
  214   Metadata *const V = LocalAsMetadata::get(I);
  228     Metadata *Args[] = {Temp.get()};
  246     Metadata *Args[] = {Temp.get(), MDNode::get(Context, None)};
  268   Metadata *Args[] = {ConstantAsMetadata::get(C), S, nullptr, N0, N1, N2};
  327   Metadata *Args[] = {ConstantAsMetadata::get(C), S, nullptr, N0, N1, N2};
  431   Metadata *Ops[] = {Empty};
  453   Metadata *Wrapped1Ops[] = {Empty};
  460   Metadata *Wrapped2Ops[] = {Wrapped1};
  478   Metadata *Ops[] = {T.get()};
  484   Metadata *NullOps[] = {nullptr};
  496   Metadata *Ops[] = {Op};
  503   Metadata *NullOps[] = {nullptr};
  560   Metadata *Ops[] = {Temp.get()};
  577   Metadata *Ops1[] = {Temp3.get(), nullptr};
  581   Metadata *Ops2[] = {Temp3.get(), N0};
  585   Metadata *Ops3[] = {N2};
  590   Metadata *Ops4[] = {N1};
  604   Metadata *Ops5[] = {N2};
  606   Metadata *Ops6[] = {N3};
  641   Metadata *Ops[] = {nullptr, Temp.get()};
  664     Metadata *Ops[] = {Empty};
  676     Metadata *Ops[] = {Empty};
  688     Metadata *Ops[] = {Unresolved.get()};
  713   Metadata *Ops[] = {Op};
  735   Metadata *Ops[] = {Op};
  746   Metadata *NullOps[] = {nullptr};
  758   Metadata *Ops[] = {Op};
  770   Metadata *NullOps[] = {ConstantAsMetadata::get(GV2.get())};
  777     Metadata *Ops[] = {Empty};
  790     Metadata *Ops[] = {Unresolved.get()};
  807   Metadata *Ops[] = {nullptr};
 1096   Metadata *Ops1[] = {Empty};
 1115   Metadata *Ops2[] = {nullptr};
 1269   Metadata *TypesOps[] = {nullptr};
 1270   Metadata *Types = MDTuple::get(Context, TypesOps);
 2106   Metadata *Value = getConstantAsMetadata();
 2496   Metadata *Ops[] = {N};
 2514   Metadata *Ops[] = {MD};
 2568   Metadata *Ops1[] = {CI, CI, Temp.get()};
 2569   Metadata *Ops2[] = {nullptr, CI, Temp.get()};
 2625   Metadata *const V = C;
 2626   Metadata *const V2 = C2;
 2787   Metadata *Ops[] = {&PH0, &PH1, &PH2};
unittests/ProfileData/InstrProfTest.cpp
  183   Metadata *MD = PS.getMD(Context);
unittests/ProfileData/SampleProfTest.cpp
  243     Metadata *MD = Summary.getMD(Context);
unittests/Transforms/Utils/ValueMapperTest.cpp
   35     Metadata *Ops[] = {nullptr};
   79     Metadata *Ops1[] = {T0.get(), ConstantAsMetadata::get(G0.get())};
  133   Metadata *Old = MDTuple::getDistinct(Context, None);
  137   Metadata *New = MDTuple::getDistinct(Context, None);
  258   auto *F2MD = ValueMapper(VM).mapMetadata(*CAM);
usr/include/c++/7.4.0/type_traits
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1983     { typedef _Up     type; };
utils/unittest/googletest/include/gtest/gtest-printers.h
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {
utils/unittest/googletest/include/gtest/gtest.h
 1475       T* rhs) {