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

Declarations

include/llvm/IR/Metadata.def
   81 HANDLE_MDNODE_LEAF_UNIQUABLE(MDTuple)

References

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
  586         MDTuple *templateParams = nullptr, uint32_t AlignInBits = 0);
  593         MDTuple *templateParams = nullptr, uint32_t AlignInBits = 0);
include/llvm/IR/DebugInfoMetadata.h
   64   const MDTuple *N = nullptr;
   68   DITypeRefArray(const MDTuple *N) : N(N) {}
   71   explicit operator MDTuple *() const { return get(); }
   73   MDTuple *get() const { return const_cast<MDTuple *>(N); }
   74   MDTuple *operator->() const { return get(); }
   75   MDTuple &operator*() const { return *get(); }
  131   template <class Ty> Ty *getOperandAs(unsigned I) const {
  132     return cast_or_null<Ty>(getOperand(I));
 1010     return cast_or_null<MDTuple>(getRawElements());
 1016     return cast_or_null<MDTuple>(getRawTemplateParams());
 1104     return cast_or_null<MDTuple>(getRawTypeArray());
 1262     return cast_or_null<MDTuple>(getRawEnumTypes());
 1265     return cast_or_null<MDTuple>(getRawRetainedTypes());
 1268     return cast_or_null<MDTuple>(getRawGlobalVariables());
 1271     return cast_or_null<MDTuple>(getRawImportedEntities());
 1274     return cast_or_null<MDTuple>(getRawMacros());
 1801     return cast_or_null<MDTuple>(getRawTemplateParams());
 1807     return cast_or_null<MDTuple>(getRawRetainedNodes());
 1810     return cast_or_null<MDTuple>(getRawThrownTypes());
 2624           DIDerivedType *StaticDataMemberDeclaration, MDTuple *TemplateParams,
 2679   MDTuple *getTemplateParams() const { return getOperandAs<MDTuple>(7); }
 2679   MDTuple *getTemplateParams() const { return getOperandAs<MDTuple>(7); }
 3239     return cast_or_null<MDTuple>(getRawElements());
include/llvm/IR/Metadata.h
  906   static inline MDTuple *get(LLVMContext &Context, ArrayRef<Metadata *> MDs);
  907   static inline MDTuple *getIfExists(LLVMContext &Context,
  909   static inline MDTuple *getDistinct(LLVMContext &Context,
  970   static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
  970   static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
  971   replaceWithPermanent(std::unique_ptr<T, TempMDNodeDeleter> N) {
  972     return cast<T>(N.release()->replaceWithPermanentImpl());
  982   static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
  982   static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
  983   replaceWithUniqued(std::unique_ptr<T, TempMDNodeDeleter> N) {
  984     return cast<T>(N.release()->replaceWithUniquedImpl());
  992   static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
  992   static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
  993   replaceWithDistinct(std::unique_ptr<T, TempMDNodeDeleter> N) {
  994     return cast<T>(N.release()->replaceWithDistinctImpl());
 1042   static void dispatchRecalculateHash(NodeTy *N, std::true_type) {
 1046   static void dispatchRecalculateHash(NodeTy *, std::false_type) {}
 1048   static void dispatchResetHash(NodeTy *N, std::true_type) {
 1052   static void dispatchResetHash(NodeTy *, std::false_type) {}
 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) {
 1165 MDTuple *MDNode::get(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
 1166   return MDTuple::get(Context, MDs);
 1169 MDTuple *MDNode::getIfExists(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
 1170   return MDTuple::getIfExists(Context, MDs);
 1173 MDTuple *MDNode::getDistinct(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
 1174   return MDTuple::getDistinct(Context, MDs);
 1179   return MDTuple::getTemporary(Context, MDs);
 1222   const MDTuple *N = nullptr;
 1226   MDTupleTypedArrayWrapper(const MDTuple *N) : N(N) {}
 1243   explicit operator MDTuple *() const { return get(); }
 1245   MDTuple *get() const { return const_cast<MDTuple *>(N); }
 1246   MDTuple *operator->() const { return get(); }
 1247   MDTuple &operator*() const { return *get(); }
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
   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);
  142   return isa_impl_wrap<X, const Y,
  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) {
  258   return cast_convert_val<X, Y,
  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);
  331                             typename cast_retty<X, const Y>::ret_type>::type
  333   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  333   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  337 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) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  352                             typename cast_retty<X, const Y>::ret_type>::type
  354   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  354   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  360                             typename cast_retty<X, Y>::ret_type>::type
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
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 };
lib/AsmParser/LLParser.cpp
  690   FwdRef = std::make_pair(MDTuple::getTemporary(Context, None), IDLoc);
 3728   MD = (IsDistinct ? MDTuple::getDistinct : MDTuple::get)(Context, Elts);
 3728   MD = (IsDistinct ? MDTuple::getDistinct : MDTuple::get)(Context, Elts);
lib/Bitcode/Reader/MetadataLoader.cpp
  222   TempMDTuple PrevMD(cast<MDTuple>(OldMD.get()));
  330   auto *Tuple = dyn_cast_or_null<MDTuple>(MaybeTuple);
  330   auto *Tuple = dyn_cast_or_null<MDTuple>(MaybeTuple);
  342       std::forward_as_tuple(MDTuple::getTemporary(Context, None)));
  347   auto *Tuple = dyn_cast_or_null<MDTuple>(MaybeTuple);
  347   auto *Tuple = dyn_cast_or_null<MDTuple>(MaybeTuple);
  357   return MDTuple::get(Context, Ops);
  486       if (auto *SPs = dyn_cast_or_null<MDTuple>(CU_SP.second))
  486       if (auto *SPs = dyn_cast_or_null<MDTuple>(CU_SP.second))
  502         if (auto *GVs = dyn_cast_or_null<MDTuple>(CU->getRawGlobalVariables()))
  502         if (auto *GVs = dyn_cast_or_null<MDTuple>(CU->getRawGlobalVariables()))
lib/Bitcode/Writer/BitcodeWriter.cpp
  289   void writeMDTuple(const MDTuple *N, SmallVectorImpl<uint64_t> &Record,
 1430 void ModuleBitcodeWriter::writeMDTuple(const MDTuple *N,
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
 1086       MDTuple *Strs = cast<MDTuple>(Annot.second);
 1086       MDTuple *Strs = cast<MDTuple>(Annot.second);
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  167   if (MDTuple *TP = GV->getTemplateParams())
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
 1073       addTemplateParams(ParamDIE, cast<MDTuple>(Val));
lib/IR/AsmWriter.cpp
 1552 static void writeMDTuple(raw_ostream &Out, const MDTuple *Node,
lib/IR/AutoUpgrade.cpp
 4077   auto *T = dyn_cast_or_null<MDTuple>(MD);
 4077   auto *T = dyn_cast_or_null<MDTuple>(MD);
 4101   auto *T = dyn_cast_or_null<MDTuple>(MD);
 4101   auto *T = dyn_cast_or_null<MDTuple>(MD);
 4119   return MDTuple::get(T->getContext(), Ops);
 4123   auto *T = dyn_cast<MDTuple>(&N);
 4123   auto *T = dyn_cast<MDTuple>(&N);
 4135   return MDTuple::get(T->getContext(), Ops);
lib/IR/DIBuilder.cpp
   49   MDTuple *Temp = SP->getRetainedNodes().get();
   75   CUNode->replaceEnumTypes(MDTuple::get(VMContext, AllEnumTypes));
   88     CUNode->replaceRetainedTypes(MDTuple::get(VMContext, RetainValues));
   90   DISubprogramArray SPs = MDTuple::get(VMContext, AllSubprograms);
   98     CUNode->replaceGlobalVariables(MDTuple::get(VMContext, AllGVs));
  101     CUNode->replaceImportedEntities(MDTuple::get(
  108       CUNode->replaceMacros(MDTuple::get(VMContext, I.second.getArrayRef()));
  455       cast_or_null<MDTuple>(TemplateParams), UniqueIdentifier);
  603   return MDTuple::get(VMContext, Elements);
  608   return MDTuple::get(VMContext, Elements);
  642     MDNode *Decl, MDTuple *templateParams, uint32_t AlignInBits) {
  659     MDTuple *templateParams, uint32_t AlignInBits) {
  762       MDTuple::getTemporary(VMContext, None).release(), ThrownTypes);
lib/IR/DebugInfo.cpp
  481     MDTuple *EnumTypes = nullptr;
  482     MDTuple *RetainedTypes = nullptr;
  483     MDTuple *GlobalVariables = nullptr;
  484     MDTuple *ImportedEntities = nullptr;
  512     auto *Ret = MDNode::get(N->getContext(), Ops);
  655           if (auto *T = dyn_cast_or_null<MDTuple>(Attachment.second))
  655           if (auto *T = dyn_cast_or_null<MDTuple>(Attachment.second))
 1321       MDTuple::getTemporary(*unwrap(Ctx), {unwrap(Data), Count}).release());
lib/IR/LLVMContextImpl.h
  216   MDNodeOpsKey(const NodeTy *N, unsigned Offset = 0)
  220   bool compareOps(const NodeTy *RHS, unsigned Offset = 0) const {
  249   using KeyTy = MDNodeKeyImpl<NodeTy>;
  251   static bool isSubsetEqual(const KeyTy &LHS, const NodeTy *RHS) {
  255   static bool isSubsetEqual(const NodeTy *LHS, const NodeTy *RHS) {
  255   static bool isSubsetEqual(const NodeTy *LHS, const NodeTy *RHS) {
  266   MDNodeKeyImpl(const MDTuple *N) : MDNodeOpsKey(N) {}
  268   bool isKeyOf(const MDTuple *RHS) const { return compareOps(RHS); }
  272   static unsigned calculateHash(MDTuple *N) {
 1139   using KeyTy = MDNodeKeyImpl<NodeTy>;
 1140   using SubsetEqualTy = MDNodeSubsetEqualImpl<NodeTy>;
 1142   static inline NodeTy *getEmptyKey() {
 1143     return DenseMapInfo<NodeTy *>::getEmptyKey();
 1146   static inline NodeTy *getTombstoneKey() {
 1147     return DenseMapInfo<NodeTy *>::getTombstoneKey();
 1152   static unsigned getHashValue(const NodeTy *N) {
 1156   static bool isEqual(const KeyTy &LHS, const NodeTy *RHS) {
 1162   static bool isEqual(const NodeTy *LHS, const NodeTy *RHS) {
 1162   static bool isEqual(const NodeTy *LHS, const NodeTy *RHS) {
lib/IR/Metadata.cpp
  761 static T *uniquifyImpl(T *N, DenseSet<T *, InfoT> &Store) {
  761 static T *uniquifyImpl(T *N, DenseSet<T *, InfoT> &Store) {
  761 static T *uniquifyImpl(T *N, DenseSet<T *, InfoT> &Store) {
  762   if (T *U = getUniqued(Store, N))
  775   static Yes &check(SFINAE<void (U::*)(unsigned), &U::setHash> *);
  778   static const bool value = sizeof(check<NodeTy>(nullptr)) == sizeof(Yes);
  812 MDTuple *MDTuple::getImpl(LLVMContext &Context, ArrayRef<Metadata *> MDs,
  817     if (auto *N = getUniqued(Context.pImpl->MDTuples, Key))
  826   return storeImpl(new (MDs.size()) MDTuple(Context, Storage, Hash, MDs),
 1494       *MDTuple::get(getContext(),
lib/IR/MetadataImpl.h
   22 static T *getUniqued(DenseSet<T *, InfoT> &Store,
   22 static T *getUniqued(DenseSet<T *, InfoT> &Store,
   42 T *MDNode::storeImpl(T *N, StorageType Storage, StoreT &Store) {
   42 T *MDNode::storeImpl(T *N, StorageType Storage, StoreT &Store) {
lib/IR/ProfileSummary.cpp
   31   return MDTuple::get(Context, Ops);
   39   return MDTuple::get(Context, Ops);
   56     Entries.push_back(MDTuple::get(Context, EntryMD));
   59                       MDTuple::get(Context, Entries)};
   60   return MDTuple::get(Context, Ops);
   80   return MDTuple::get(Context, Components);
   84 static bool getVal(MDTuple *MD, const char *Key, uint64_t &Val) {
  100 static bool isKeyValuePair(MDTuple *MD, const char *Key, const char *Val) {
  113 static bool getSummaryFromMD(MDTuple *MD, SummaryEntryVector &Summary) {
  119   MDTuple *EntriesMD = dyn_cast<MDTuple>(MD->getOperand(1));
  119   MDTuple *EntriesMD = dyn_cast<MDTuple>(MD->getOperand(1));
  123     MDTuple *EntryMD = dyn_cast<MDTuple>(MDOp);
  123     MDTuple *EntryMD = dyn_cast<MDTuple>(MDOp);
  143   MDTuple *Tuple = dyn_cast_or_null<MDTuple>(MD);
  143   MDTuple *Tuple = dyn_cast_or_null<MDTuple>(MD);
  149   if (isKeyValuePair(dyn_cast_or_null<MDTuple>(FormatMD), "ProfileFormat",
  152   else if (isKeyValuePair(dyn_cast_or_null<MDTuple>(FormatMD), "ProfileFormat",
  155   else if (isKeyValuePair(dyn_cast_or_null<MDTuple>(FormatMD), "ProfileFormat",
  163   if (!getVal(dyn_cast<MDTuple>(Tuple->getOperand(1)), "TotalCount",
  166   if (!getVal(dyn_cast<MDTuple>(Tuple->getOperand(2)), "MaxCount", MaxCount))
  168   if (!getVal(dyn_cast<MDTuple>(Tuple->getOperand(3)), "MaxInternalCount",
  171   if (!getVal(dyn_cast<MDTuple>(Tuple->getOperand(4)), "MaxFunctionCount",
  174   if (!getVal(dyn_cast<MDTuple>(Tuple->getOperand(5)), "NumCounts", NumCounts))
  176   if (!getVal(dyn_cast<MDTuple>(Tuple->getOperand(6)), "NumFunctions",
  181   if (!getSummaryFromMD(dyn_cast<MDTuple>(Tuple->getOperand(7)), Summary))
lib/IR/Verifier.cpp
  423   template <class Ty> bool isValidMetadataArray(const MDTuple &N);
  956   auto *Params = dyn_cast<MDTuple>(&RawParams);
 1118     auto *Node = dyn_cast<MDTuple>(RawNode);
 1118     auto *Node = dyn_cast<MDTuple>(RawNode);
 1143     auto *ThrownTypes = dyn_cast<MDTuple>(RawThrownTypes);
 1143     auto *ThrownTypes = dyn_cast<MDTuple>(RawThrownTypes);
lib/Linker/IRMover.cpp
 1165         CU->replaceImportedEntities(MDTuple::get(
lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
   39     auto MDN = dyn_cast<MDTuple>(NamedMD->getOperand(0));
   54   auto Tuple = dyn_cast<MDTuple>(NamedMD->getOperand(0));
lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
  147       const auto *Tuple = dyn_cast<MDTuple>(MD);
  147       const auto *Tuple = dyn_cast<MDTuple>(MD);
lib/Transforms/IPO/StripSymbols.cpp
  359       DIC->replaceGlobalVariables(MDTuple::get(C, LiveGlobalVariables));
lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
  337     CfiFunctionMDs.push_back(MDTuple::get(Ctx, Elts));
  362     FunctionAliases.push_back(MDTuple::get(Ctx, Elts));
  377     Symvers.push_back(MDTuple::get(
lib/Transforms/Utils/InlineFunction.cpp
  849     DummyNodes.push_back(MDTuple::getTemporary(CalledFunc->getContext(), None));
  867     MDTuple *TempM = cast<MDTuple>(MDMap[I]);
  867     MDTuple *TempM = cast<MDTuple>(MDMap[I]);
lib/Transforms/Utils/LoopUtils.cpp
  378   MDTuple *FollowupLoopID = MDNode::get(OrigLoopID->getContext(), MDs);
lib/Transforms/Utils/ValueMapper.cpp
  394                                         MDTuple::get(V->getContext(), None));
tools/clang/lib/CodeGen/CGBuiltin.cpp
 3129     MDTuple *StrTuple = MDTuple::get(getLLVMContext(), Strings);
 3129     MDTuple *StrTuple = MDTuple::get(getLLVMContext(), Strings);
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 3271                                       llvm::MDTuple *&TemplateParameters,
 3386   llvm::MDTuple *TemplateParameters = nullptr;
 4400   llvm::MDTuple *TemplateParameters = nullptr;
 4519   llvm::MDTuple *TemplateParameters = nullptr;
tools/clang/lib/CodeGen/CGDebugInfo.h
  693                            llvm::MDTuple *&TemplateParameters,
tools/clang/unittests/CodeGen/IRMatchers.h
  185         if (const auto *MT = dyn_cast<MDTuple>(MR)) {
  185         if (const auto *MT = dyn_cast<MDTuple>(MR)) {
  338     if (const auto *MT = dyn_cast<MDTuple>(&M)) {
  338     if (const auto *MT = dyn_cast<MDTuple>(&M)) {
unittests/IR/IRBuilderTest.cpp
  902   auto MN0 = MDTuple::get(Ctx, Elements);
  909   auto MN1 = MDTuple::get(Ctx, Elements);
  914   auto MN2 = MDTuple::get(Ctx, Elements);
unittests/IR/MetadataTest.cpp
   80   MDTuple *getTuple() { return MDTuple::getDistinct(Context, None); }
   80   MDTuple *getTuple() { return MDTuple::getDistinct(Context, None); }
  355   auto *N0 = MDNode::getDistinct(Context, None);
  356   auto *N1 = MDNode::getDistinct(Context, None);
  381   auto *N0 = MDNode::getDistinct(Context, None);
  382   auto *N1 = MDNode::getDistinct(Context, None);
  416   auto *N0 = MDNode::getDistinct(Context, None);
  475   TempMDTuple T = MDTuple::getTemporary(Context, None);
  479   MDTuple *N = MDTuple::get(Context, Ops);
  479   MDTuple *N = MDTuple::get(Context, Ops);
  497   MDTuple *N = MDTuple::get(Context, Ops);
  497   MDTuple *N = MDTuple::get(Context, Ops);
  528   MDNode *U = MDTuple::get(Context, None);
  529   MDNode *D = MDTuple::getDistinct(Context, None);
  530   auto T = MDTuple::getTemporary(Context, None);
  537   MDNode *U = MDTuple::get(Context, None);
  538   MDNode *D = MDTuple::getDistinct(Context, None);
  539   auto T = MDTuple::getTemporary(Context, None);
  546   MDNode *U = MDTuple::get(Context, None);
  547   MDNode *D = MDTuple::getDistinct(Context, None);
  548   auto T = MDTuple::getTemporary(Context, None);
  556   auto Temp = MDTuple::getTemporary(Context, None);
  576   auto Temp3 = MDTuple::getTemporary(Context, None);
  640   auto Temp = MDTuple::getTemporary(Context, None);
  643   MDNode *Empty = MDTuple::get(Context, ArrayRef<Metadata *>());
  644   MDNode *N = MDTuple::get(Context, Ops);
  661   auto *Empty = MDTuple::get(Context, None);
  661   auto *Empty = MDTuple::get(Context, None);
  662   MDTuple *FirstUniqued;
  665     auto Temp = MDTuple::getTemporary(Context, Ops);
  669     auto *Current = Temp.get();
  677     auto Temp = MDTuple::getTemporary(Context, Ops);
  681     auto *Uniqued = MDNode::replaceWithUniqued(std::move(Temp));
  687     auto Unresolved = MDTuple::getTemporary(Context, None);
  689     auto Temp = MDTuple::getTemporary(Context, Ops);
  693     auto *Uniqued = MDNode::replaceWithUniqued(std::move(Temp));
  709   MDTuple *Op = MDTuple::getTemporary(Context, None).release();
  709   MDTuple *Op = MDTuple::getTemporary(Context, None).release();
  714   MDTuple *N = MDTuple::getTemporary(Context, Ops).release();
  714   MDTuple *N = MDTuple::getTemporary(Context, Ops).release();
  736   MDTuple *N = MDTuple::getTemporary(Context, Ops).release();
  736   MDTuple *N = MDTuple::getTemporary(Context, Ops).release();
  759   MDTuple *N = MDTuple::getTemporary(Context, Ops).release();
  759   MDTuple *N = MDTuple::getTemporary(Context, Ops).release();
  776     auto *Empty = MDTuple::get(Context, None);
  776     auto *Empty = MDTuple::get(Context, None);
  778     auto Temp = MDTuple::getTemporary(Context, Ops);
  782     auto *Current = Temp.get();
  783     auto *Distinct = MDNode::replaceWithDistinct(std::move(Temp));
  789     auto Unresolved = MDTuple::getTemporary(Context, None);
  791     auto Temp = MDTuple::getTemporary(Context, Ops);
  795     auto *Current = Temp.get();
  796     auto *Distinct = MDNode::replaceWithDistinct(std::move(Temp));
  808   auto Temp = MDTuple::getTemporary(Context, Ops);
  809   auto *T = Temp.get();
  812   auto *U = MDTuple::get(Context, T);
  812   auto *U = MDTuple::get(Context, T);
  823   auto *N = MDNode::replaceWithPermanent(std::move(Temp));
  837   auto Temp2 = MDTuple::getTemporary(Context, U);
  838   auto *V = Temp2.get();
  848     auto Temp = MDTuple::getTemporary(Context, None);
 1095   auto *Empty = MDNode::get(Context, None);
 1270   Metadata *Types = MDTuple::get(Context, TypesOps);
 1293   MDTuple *ExtraData = getTuple();
 1365   MDTuple *ExtraData = getTuple();
 1391   MDTuple *Elements = getTuple();
 1394   MDTuple *TemplateParams = getTuple();
 1511   MDTuple *Elements = getTuple();
 1514   MDTuple *TemplateParams = getTuple();
 1544   auto *Elements = MDTuple::getDistinct(Context, None);
 1544   auto *Elements = MDTuple::getDistinct(Context, None);
 1563   auto *TemplateParams = MDTuple::getDistinct(Context, None);
 1563   auto *TemplateParams = MDTuple::getDistinct(Context, None);
 1621   MDTuple *TypeArray = getTuple();
 1705   MDTuple *EnumTypes = getTuple();
 1706   MDTuple *RetainedTypes = getTuple();
 1707   MDTuple *GlobalVariables = getTuple();
 1708   MDTuple *ImportedEntities = getTuple();
 1710   MDTuple *Macros = getTuple();
 1765   MDTuple *EnumTypes = MDTuple::getDistinct(Context, None);
 1765   MDTuple *EnumTypes = MDTuple::getDistinct(Context, None);
 1766   MDTuple *RetainedTypes = MDTuple::getDistinct(Context, None);
 1766   MDTuple *RetainedTypes = MDTuple::getDistinct(Context, None);
 1767   MDTuple *ImportedEntities = MDTuple::getDistinct(Context, None);
 1767   MDTuple *ImportedEntities = MDTuple::getDistinct(Context, None);
 1775   auto *GlobalVariables = MDTuple::getDistinct(Context, None);
 1775   auto *GlobalVariables = MDTuple::getDistinct(Context, None);
 1782   auto *Macros = MDTuple::getDistinct(Context, None);
 1782   auto *Macros = MDTuple::getDistinct(Context, None);
 1808   MDTuple *TemplateParams = getTuple();
 1810   MDTuple *RetainedNodes = getTuple();
 1811   MDTuple *ThrownTypes = getTuple();
 2140   MDTuple *templateParams = getTuple();
 2227   MDTuple *templateParams = getTuple();
 2515   auto *N = MDNode::get(Context, Ops);
 2547   auto Temp1 = MDTuple::getTemporary(Context, None);
 2548   auto Temp2 = MDTuple::getTemporary(Context, {CI});
 2549   auto *N = MDTuple::get(Context, {Temp1.get()});
 2549   auto *N = MDTuple::get(Context, {Temp1.get()});
 2565   auto Temp = MDTuple::getTemporary(Context, None);
 2571   auto *N1 = MDTuple::get(Context, Ops1);
 2571   auto *N1 = MDTuple::get(Context, Ops1);
 2572   auto *N2 = MDTuple::get(Context, Ops2);
 2572   auto *N2 = MDTuple::get(Context, Ops2);
 2673   MDTuple *T1 = getTuple();
 2674   MDTuple *T2 = getTuple();
 2699   MDTuple *T1 = getTuple();
 2700   MDTuple *T2 = getTuple();
 2701   MDTuple *P = getTuple();
 2788   auto *D = MDTuple::getDistinct(Context, Ops);
 2788   auto *D = MDTuple::getDistinct(Context, Ops);
 2794   auto *N0 = MDTuple::get(Context, None);
 2794   auto *N0 = MDTuple::get(Context, None);
 2795   auto *N1 = MDTuple::get(Context, N0);
 2795   auto *N1 = MDTuple::get(Context, N0);
 2806   DistinctMDOperandPlaceholder(7).replaceUseWith(MDTuple::get(Context, None));
unittests/Transforms/Utils/ValueMapperTest.cpp
   23   auto *U = MDTuple::get(Context, None);
   23   auto *U = MDTuple::get(Context, None);
   36     auto T = MDTuple::getTemporary(Context, Ops);
   38     U0 = MDTuple::get(Context, Ops);
   78     auto T0 = MDTuple::getTemporary(Context, nullptr);
   80     N1 = MDTuple::get(Context, Ops1);
  109   TempMDTuple T = MDTuple::getTemporary(Context, None);
  117   auto *D = MDTuple::getDistinct(Context, None);
  117   auto *D = MDTuple::getDistinct(Context, None);
  133   Metadata *Old = MDTuple::getDistinct(Context, None);
  134   auto *D = MDTuple::getDistinct(Context, Old);
  134   auto *D = MDTuple::getDistinct(Context, Old);
  137   Metadata *New = MDTuple::getDistinct(Context, None);
  148   auto *D = MDTuple::getDistinct(Context, None);
  148   auto *D = MDTuple::getDistinct(Context, None);
  161   auto *D = MDTuple::getDistinct(Context, None);
  161   auto *D = MDTuple::getDistinct(Context, None);
  201   auto *N0 = MDTuple::get(C, None);
  201   auto *N0 = MDTuple::get(C, None);
  202   auto *N1 = MDTuple::get(C, N0);
  202   auto *N1 = MDTuple::get(C, N0);
  218   auto *N0 = MDTuple::get(C, None);
  218   auto *N0 = MDTuple::get(C, None);
  219   auto *N1 = MDTuple::get(C, N0);
  219   auto *N1 = MDTuple::get(C, N0);
  248     auto *N = MDTuple::get(C, None);
  248     auto *N = MDTuple::get(C, None);
  305   auto *N0 = MDTuple::get(C, None);
  305   auto *N0 = MDTuple::get(C, None);
usr/include/c++/7.4.0/bits/unique_ptr.h
  122 	  using type = _Up*;
  137       using pointer = typename _Ptr<_Tp, _Dp>::type;
  161 	typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
  163       __uniq_ptr_impl<_Tp, _Dp> _M_t;
  166       using pointer	  = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
  167       using element_type  = _Tp;
  252 	unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
  297           __safe_conversion_up<_Up, _Ep>,
  301 	operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1645     { typedef _Tp&   type; };
 1650     : public __add_lvalue_reference_helper<_Tp>
 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) {