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

Derived Classes

include/llvm/IR/DebugInfoMetadata.h
  689 class DIBasicType : public DIType {
  756 class DIDerivedType : public DIType {
  890 class DICompositeType : public DIType {
 1061 class DISubroutineType : public DIType {

Declarations

include/llvm/IR/Metadata.def
   90 HANDLE_SPECIALIZED_MDNODE_BRANCH(DIType)
lib/Target/BPF/BTFDebug.h
   26 class DIType;

References

examples/Kaleidoscope/Chapter9/toy.cpp
   94   DIType *DblTy;
   98   DIType *getDoubleTy();
  822 DIType *DebugInfo::getDoubleTy() {
  844   DIType *DblTy = KSDbgInfo.getDoubleTy();
include/llvm/CodeGen/DebugHandlerBase.h
  132   static uint64_t getBaseTypeSize(const DIType *Ty);
include/llvm/IR/DIBuilder.h
  202     DIDerivedType *createQualifiedType(unsigned Tag, DIType *FromTy);
  210     DIDerivedType *createPointerType(DIType *PointeeTy, uint64_t SizeInBits,
  222     createMemberPointerType(DIType *PointeeTy, DIType *Class,
  222     createMemberPointerType(DIType *PointeeTy, DIType *Class,
  228     DIDerivedType *createReferenceType(unsigned Tag, DIType *RTy,
  240     DIDerivedType *createTypedef(DIType *Ty, StringRef Name, DIFile *File,
  244     DIDerivedType *createFriend(DIType *Ty, DIType *FriendTy);
  244     DIDerivedType *createFriend(DIType *Ty, DIType *FriendTy);
  254     DIDerivedType *createInheritance(DIType *Ty, DIType *BaseTy,
  254     DIDerivedType *createInheritance(DIType *Ty, DIType *BaseTy,
  273                                     DINode::DIFlags Flags, DIType *Ty);
  294 					   DINode::DIFlags Flags, DIType *Ty);
  309         uint64_t StorageOffsetInBits, DINode::DIFlags Flags, DIType *Ty);
  323                                           DIType *Ty, DINode::DIFlags Flags,
  341                                   DIType *Ty, MDNode *PropertyNode);
  356                                        unsigned PropertyAttributes, DIType *Ty);
  377         DINode::DIFlags Flags, DIType *DerivedFrom, DINodeArray Elements,
  378         DIType *VTableHolder = nullptr, MDNode *TemplateParms = nullptr,
  395         DIType *DerivedFrom, DINodeArray Elements, unsigned RunTimeLang = 0,
  396         DIType *VTableHolder = nullptr, StringRef UniqueIdentifier = "");
  444     createTemplateTypeParameter(DIScope *Scope, StringRef Name, DIType *Ty);
  454                                                            DIType *Ty,
  464                                                               DIType *Ty,
  474                                                           DIType *Ty,
  483                                      DIType *Ty, DINodeArray Subscripts);
  491                                       DIType *Ty, DINodeArray Subscripts);
  508         DIType *UnderlyingType, StringRef UniqueIdentifier = "", bool IsScoped = false);
  525     static DIType *createArtificialType(DIType *Ty);
  525     static DIType *createArtificialType(DIType *Ty);
  529     static DIType *createObjectPointerType(DIType *Ty);
  529     static DIType *createObjectPointerType(DIType *Ty);
  584         unsigned LineNo, DIType *Ty, bool isLocalToUnit,
  592         unsigned LineNo, DIType *Ty, bool isLocalToUnit, MDNode *Decl = nullptr,
  605                        unsigned LineNo, DIType *Ty, bool AlwaysPreserve = false,
  630                             DIFile *File, unsigned LineNo, DIType *Ty,
  703                  DIType *VTableHolder = nullptr,
  857                              DIType *VTableHolder);
  876     NodeTy *replaceTemporary(TempMDNode &&N, NodeTy *Replacement) {
  876     NodeTy *replaceTemporary(TempMDNode &&N, NodeTy *Replacement) {
  878         return cast<NodeTy>(MDNode::replaceWithUniqued(std::move(N)));
include/llvm/IR/DebugInfo.h
   87   void processType(DIType *DT);
   92   bool addType(DIType *DT);
  100   using type_iterator = SmallVectorImpl<DIType *>::const_iterator;
  133   SmallVector<DIType *, 8> TYs;
include/llvm/IR/DebugInfoMetadata.h
   79   DIType *operator[](unsigned I) const {
   80     return cast_or_null<DIType>(N->getOperand(I));
   83   class iterator : std::iterator<std::input_iterator_tag, DIType *,
   84                                  std::ptrdiff_t, void, DIType *> {
   91     DIType *operator*() const { return cast_or_null<DIType>(*I); }
   91     DIType *operator*() const { return cast_or_null<DIType>(*I); }
  618     return TempDIType(cast<DIType>(MDNode::clone().release()));
  689 class DIBasicType : public DIType {
  756 class DIDerivedType : public DIType {
  775           unsigned Line, DIScope *Scope, DIType *BaseType, uint64_t SizeInBits,
  823   DIType *getBaseType() const { return cast_or_null<DIType>(getRawBaseType()); }
  823   DIType *getBaseType() const { return cast_or_null<DIType>(getRawBaseType()); }
  843   DIType *getClassType() const {
  845     return cast_or_null<DIType>(getExtraData());
  890 class DICompositeType : public DIType {
  917           unsigned Line, DIScope *Scope, DIType *BaseType, uint64_t SizeInBits,
  919           DINodeArray Elements, unsigned RuntimeLang, DIType *VTableHolder,
 1008   DIType *getBaseType() const { return cast_or_null<DIType>(getRawBaseType()); }
 1008   DIType *getBaseType() const { return cast_or_null<DIType>(getRawBaseType()); }
 1012   DIType *getVTableHolder() const {
 1013     return cast_or_null<DIType>(getRawVTableHolder());
 1044   void replaceVTableHolder(DIType *VTableHolder) {
 1061 class DISubroutineType : public DIType {
 1663           DISubroutineType *Type, unsigned ScopeLine, DIType *ContainingType,
 1792   DIType *getContainingType() const {
 1793     return cast_or_null<DIType>(getRawContainingType());
 2138   DIType *getType() const { return cast_or_null<DIType>(getRawType()); }
 2138   DIType *getType() const { return cast_or_null<DIType>(getRawType()); }
 2160                                           DIType *Type, StorageType Storage,
 2197                                            StringRef Name, DIType *Type,
 2248   DIType *getType() const { return cast_or_null<DIType>(getRawType()); }
 2248   DIType *getType() const { return cast_or_null<DIType>(getRawType()); }
 2622           StringRef LinkageName, DIFile *File, unsigned Line, DIType *Type,
 2766                                   DIType *Type, unsigned Arg, DIFlags Flags,
 2918           DIType *Type, StorageType Storage, bool ShouldCreate = true) {
 2958   DIType *getType() const { return cast_or_null<DIType>(getRawType()); }
 2958   DIType *getType() const { return cast_or_null<DIType>(getRawType()); }
include/llvm/IR/Metadata.h
  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());
 1230       const MDTupleTypedArrayWrapper<U> &Other,
 1231       typename std::enable_if<std::is_convertible<U *, T *>::value>::type * =
 1231       typename std::enable_if<std::is_convertible<U *, T *>::value>::type * =
 1252   T *operator[](unsigned I) const { return cast_or_null<T>(N->getOperand(I)); }
 1255   using iterator = TypedMDOperandIterator<T>;
include/llvm/Support/Casting.h
   57   static inline bool doit(const From &Val) {
   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);
  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) {
  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) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  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) {
lib/Analysis/ModuleDebugInfoPrinter.cpp
  101   for (const DIType *T : Finder.types()) {
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
  415   const DIType *ReturnTy = nullptr;
  464                                                   const DIType *ClassTy) {
 1105       const DIType *DITy = std::get<2>(HeapAllocSite);
 1436 static bool shouldEmitUdt(const DIType *T) {
 1464 void CodeViewDebug::addToUDTs(const DIType *Ty) {
 1492 TypeIndex CodeViewDebug::lowerType(const DIType *Ty, const DIType *ClassTy) {
 1492 TypeIndex CodeViewDebug::lowerType(const DIType *Ty, const DIType *ClassTy) {
 1558   const DIType *ElementType = Ty->getBaseType();
 1804   const DIType *BaseTy = Ty;
 1859   for (const DIType *ArgType : Ty->getTypeArray())
 1887                                                  const DIType *ClassTy,
 2031 void CodeViewDebug::addUDTSrcLine(const DIType *Ty, TypeIndex TI) {
 2112   std::vector<const DIType *> NestedTypes;
 2140   const DIType *Ty = DDTy->getBaseType();
 2430   for (const DIType *Nested : Info.NestedTypes) {
 2458 TypeIndex CodeViewDebug::getTypeIndex(const DIType *Ty, const DIType *ClassTy) {
 2458 TypeIndex CodeViewDebug::getTypeIndex(const DIType *Ty, const DIType *ClassTy) {
 2501 TypeIndex CodeViewDebug::getTypeIndexForReferenceTo(const DIType *Ty) {
 2510 TypeIndex CodeViewDebug::getCompleteTypeIndex(const DIType *Ty) {
 2863                                                         dyn_cast<DIType>(MD)));
 2967     ArrayRef<std::pair<std::string, const DIType *>> UDTs) {
 2969     const DIType *T = UDT.second;
 3060       if (DIType *RT = dyn_cast<DIType>(Ty)) {
 3060       if (DIType *RT = dyn_cast<DIType>(Ty)) {
lib/CodeGen/AsmPrinter/CodeViewDebug.h
  151     std::vector<std::tuple<const MCSymbol *, const MCSymbol *, const DIType *>>
  251   DenseMap<std::pair<const DINode *, const DIType *>, codeview::TypeIndex>
  271   std::vector<std::pair<std::string, const DIType *>> LocalUDTs;
  272   std::vector<std::pair<std::string, const DIType *>> GlobalUDTs;
  314   emitDebugInfoForUDTs(ArrayRef<std::pair<std::string, const DIType *>> UDTs);
  377   codeview::TypeIndex getTypeIndex(const DIType *Ty,
  378                                    const DIType *ClassTy = nullptr);
  384   codeview::TypeIndex getTypeIndexForReferenceTo(const DIType *Ty);
  393   void addToUDTs(const DIType *Ty);
  395   void addUDTSrcLine(const DIType *Ty, codeview::TypeIndex TI);
  397   codeview::TypeIndex lowerType(const DIType *Ty, const DIType *ClassTy);
  397   codeview::TypeIndex lowerType(const DIType *Ty, const DIType *ClassTy);
  411       const DISubroutineType *Ty, const DIType *ClassTy, int ThisAdjustment,
  423   codeview::TypeIndex getCompleteTypeIndex(const DIType *Ty);
  444                                                const DIType *ClassTy = nullptr);
lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
  143 uint64_t DebugHandlerBase::getBaseTypeSize(const DIType *Ty) {
  156   DIType *BaseType = DDTy->getBaseType();
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  122   const DIType *GTy = GV->getType();
 1013   else if (auto *T = dyn_cast<DIType>(Entity))
 1013   else if (auto *T = dyn_cast<DIType>(Entity))
 1144 void DwarfCompileUnit::addGlobalType(const DIType *Ty, const DIE &Die,
 1152 void DwarfCompileUnit::addGlobalTypeUnitType(const DIType *Ty,
lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
  308   void addGlobalType(const DIType *Ty, const DIE &Die,
  312   void addGlobalTypeUnitType(const DIType *Ty, const DIScope *Context);
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  227 const DIType *DbgVariable::getType() const {
 1014       CU.getOrCreateTypeDIE(cast<DIType>(Ty));
 1019       if (DIType *RT = dyn_cast<DIType>(Ty))
 1019       if (DIType *RT = dyn_cast<DIType>(Ty))
lib/CodeGen/AsmPrinter/DwarfDebug.h
  219   const DIType *getType() const;
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
  200   return (isa<DIType>(D) ||
  449 void DwarfUnit::addSourceLine(DIE &Die, const DIType *Ty) {
  462 static bool isUnsignedDIType(DwarfDebug *DD, const DIType *Ty) {
  538                                  const DIType *Ty) {
  543                                  const DIType *Ty) {
  549 void DwarfUnit::addConstantValue(DIE &Die, uint64_t Val, const DIType *Ty) {
  560 void DwarfUnit::addConstantValue(DIE &Die, const APInt &Val, const DIType *Ty) {
  615     addType(TT, cast<DIType>(Ty));
  622   if (auto *T = dyn_cast<DIType>(Context))
  650                               const DIType *Ty) {
  684   auto *Ty = cast<DIType>(TyNode);
  708                                         const DIType *Ty, const DIE &TyDIE) {
  725 void DwarfUnit::addType(DIE &Entity, const DIType *Ty,
  795   const DIType *FromTy = DTy->getBaseType();
  827     const DIType *Ty = Args[i];
  967     if (auto *ContainingType = CTy->getVTableHolder())
 1359   DIType *BaseTy = CTy->getBaseType();
 1405   const DIType *DTy = CTy->getBaseType();
 1454   if (DIType *Resolved = DT->getBaseType())
 1572   const DIType *Ty = DT->getBaseType();
 1688 void DwarfTypeUnit::addGlobalType(const DIType *Ty, const DIE &Die,
lib/CodeGen/AsmPrinter/DwarfUnit.h
  110   virtual void addGlobalType(const DIType *Ty, const DIE &Die,
  195   void addSourceLine(DIE &Die, const DIType *Ty);
  199   void addConstantValue(DIE &Die, const MachineOperand &MO, const DIType *Ty);
  200   void addConstantValue(DIE &Die, const ConstantInt *CI, const DIType *Ty);
  201   void addConstantValue(DIE &Die, const APInt &Val, const DIType *Ty);
  203   void addConstantValue(DIE &Die, uint64_t Val, const DIType *Ty);
  223   void addType(DIE &Entity, const DIType *Ty,
  234   DIE *createTypeDIE(const DIScope *Context, DIE &ContextDIE, const DIType *Ty);
  336   void updateAcceleratorTables(const DIScope *Context, const DIType *Ty,
  369   void addGlobalType(const DIType *Ty, const DIE &Die,
lib/IR/DIBuilder.cpp
  267 DIDerivedType *DIBuilder::createQualifiedType(unsigned Tag, DIType *FromTy) {
  273     DIType *PointeeTy,
  285 DIDerivedType *DIBuilder::createMemberPointerType(DIType *PointeeTy,
  286                                                   DIType *Base,
  296     unsigned Tag, DIType *RTy,
  306 DIDerivedType *DIBuilder::createTypedef(DIType *Ty, StringRef Name,
  314 DIDerivedType *DIBuilder::createFriend(DIType *Ty, DIType *FriendTy) {
  314 DIDerivedType *DIBuilder::createFriend(DIType *Ty, DIType *FriendTy) {
  321 DIDerivedType *DIBuilder::createInheritance(DIType *Ty, DIType *BaseTy,
  321 DIDerivedType *DIBuilder::createInheritance(DIType *Ty, DIType *BaseTy,
  338                                            DINode::DIFlags Flags, DIType *Ty) {
  353     Constant *Discriminant, DINode::DIFlags Flags, DIType *Ty) {
  363     DINode::DIFlags Flags, DIType *Ty) {
  375                                   unsigned LineNumber, DIType *Ty,
  389                           DIType *Ty, MDNode *PropertyNode) {
  399                               unsigned PropertyAttributes, DIType *Ty) {
  406                                        DIType *Ty) {
  413                                    DIScope *Context, StringRef Name, DIType *Ty,
  421                                         DIType *Ty, Constant *Val) {
  429                                            DIType *Ty, StringRef Val) {
  437                                        DIType *Ty, DINodeArray Val) {
  446     DINode::DIFlags Flags, DIType *DerivedFrom, DINodeArray Elements,
  447     DIType *VTableHolder, MDNode *TemplateParams, StringRef UniqueIdentifier) {
  463     DIType *DerivedFrom, DINodeArray Elements, unsigned RunTimeLang,
  464     DIType *VTableHolder, StringRef UniqueIdentifier) {
  506     DIType *UnderlyingType, StringRef UniqueIdentifier, bool IsScoped) {
  518                                             uint32_t AlignInBits, DIType *Ty,
  528                                              uint32_t AlignInBits, DIType *Ty,
  542 static DIType *createTypeWithFlags(const DIType *Ty,
  542 static DIType *createTypeWithFlags(const DIType *Ty,
  548 DIType *DIBuilder::createArtificialType(DIType *Ty) {
  548 DIType *DIBuilder::createArtificialType(DIType *Ty) {
  555 DIType *DIBuilder::createObjectPointerType(DIType *Ty) {
  555 DIType *DIBuilder::createObjectPointerType(DIType *Ty) {
  615       Elts.push_back(cast<DIType>(Elements[i]));
  641     unsigned LineNumber, DIType *Ty, bool isLocalToUnit, DIExpression *Expr,
  658     unsigned LineNumber, DIType *Ty, bool isLocalToUnit, MDNode *Decl,
  697                                                DIType *Ty, bool AlwaysPreserve,
  707     unsigned LineNo, DIType *Ty, bool AlwaysPreserve, DINode::DIFlags Flags) {
  788     DIType *VTableHolder, DINode::DIFlags Flags,
  981                                     DIType *VTableHolder) {
lib/IR/DebugInfo.cpp
   89     if (auto *T = dyn_cast<DIType>(RT))
   89     if (auto *T = dyn_cast<DIType>(RT))
   95     if (auto *T = dyn_cast<DIType>(Entity))
   95     if (auto *T = dyn_cast<DIType>(Entity))
  124 void DebugInfoFinder::processType(DIType *DT) {
  129     for (DIType *Ref : ST->getTypeArray())
  136       if (auto *T = dyn_cast<DIType>(D))
  136       if (auto *T = dyn_cast<DIType>(D))
  151   if (auto *Ty = dyn_cast<DIType>(Scope)) {
  151   if (auto *Ty = dyn_cast<DIType>(Scope)) {
  228 bool DebugInfoFinder::addType(DIType *DT) {
  431     DIType *ContainingType =
  432         cast_or_null<DIType>(map(MDS->getContainingType()));
  709 template <typename DIT> DIT *unwrapDI(LLVMMetadataRef Ref) {
  969     LineNumber, SizeInBits, AlignInBits, Elts, unwrapDI<DIType>(ClassTy)));
  995                                                unwrapDI<DIType>(Ty), Subs));
 1006                                                 unwrapDI<DIType>(Ty), Subs));
 1023   return wrap(unwrap(Builder)->createPointerType(unwrapDI<DIType>(PointeeTy),
 1040       unwrapDI<DIType>(DerivedFrom), Elts, RunTimeLang,
 1041       unwrapDI<DIType>(VTableHolder), {UniqueId, UniqueIdLen}));
 1051       OffsetInBits, map_from_llvmDIFlags(Flags), unwrapDI<DIType>(Ty)));
 1068                   unwrapDI<DIFile>(File), LineNumber, unwrapDI<DIType>(Type),
 1083                   map_from_llvmDIFlags(Flags), unwrapDI<DIType>(Ty),
 1098                   PropertyAttributes, unwrapDI<DIType>(Ty)));
 1104   return wrap(unwrap(Builder)->createObjectPointerType(unwrapDI<DIType>(Type)));
 1113                   unwrapDI<DIType>(Type), {Name, NameLen},
 1124                   unwrapDI<DIType>(Ty), unwrapDI<DIType>(BaseTy),
 1124                   unwrapDI<DIType>(Ty), unwrapDI<DIType>(BaseTy),
 1158                                                    unwrapDI<DIType>(Type)));
 1165                                                    unwrapDI<DIType>(Type)));
 1181                   unwrapDI<DIType>(PointeeType),
 1182                   unwrapDI<DIType>(ClassType), AlignInBits, SizeInBits,
 1199                   map_from_llvmDIFlags(Flags), unwrapDI<DIType>(Type)));
 1216                   map_from_llvmDIFlags(Flags), unwrapDI<DIType>(DerivedFrom),
 1217                   Elts, unwrapDI<DIType>(VTableHolder),
 1225   return wrap(unwrap(Builder)->createArtificialType(unwrapDI<DIType>(Type)));
 1229   StringRef Str = unwrap<DIType>(DType)->getName();
 1235   return unwrapDI<DIType>(DType)->getSizeInBits();
 1239   return unwrapDI<DIType>(DType)->getOffsetInBits();
 1243   return unwrapDI<DIType>(DType)->getAlignInBits();
 1247   return unwrapDI<DIType>(DType)->getLine();
 1251   return map_to_llvmDIFlags(unwrapDI<DIType>(DType)->getFlags());
 1292       unwrapDI<DIFile>(File), LineNo, unwrapDI<DIType>(Ty), LocalToUnit,
 1342       unwrapDI<DIFile>(File), LineNo, unwrapDI<DIType>(Ty), LocalToUnit,
 1395                   LineNo, unwrap<DIType>(Ty), AlwaysPreserve,
 1405                   LineNo, unwrap<DIType>(Ty), AlwaysPreserve,
lib/IR/DebugInfoMetadata.cpp
  213   if (auto *T = dyn_cast<DIType>(this))
  237   if (auto *T = dyn_cast<DIType>(this))
  793     if (auto *T = dyn_cast<DIType>(RawType))
lib/IR/Verifier.cpp
  868 static bool isType(const Metadata *MD) { return !MD || isa<DIType>(MD); }
lib/Target/BPF/BPFAbstractMemberAccess.cpp
  197 static DIType * stripQualifiers(DIType *Ty) {
  197 static DIType * stripQualifiers(DIType *Ty) {
  206 static const DIType * stripQualifiers(const DIType *Ty) {
  206 static const DIType * stripQualifiers(const DIType *Ty) {
  354   const DIType *PType = stripQualifiers(cast<DIType>(ParentType));
  354   const DIType *PType = stripQualifiers(cast<DIType>(ParentType));
  355   const DIType *CType = stripQualifiers(cast<DIType>(ChildType));
  355   const DIType *CType = stripQualifiers(cast<DIType>(ChildType));
  388   DIType *Ty;
  392     Ty = dyn_cast<DIType>(PTy->getElements()[ParentAI]);
  552       auto *EltTy = stripQualifiers(CTy->getBaseType());
  570       auto *EltTy = stripQualifiers(CTy->getBaseType());
  588     const DIType *BaseTy;
  624       auto *EltTy = stripQualifiers(CTy->getBaseType());
  655       auto *EltTy = stripQualifiers(CTy->getBaseType());
  730     DIType *Ty = stripQualifiers(cast<DIType>(CInfo.Metadata));
  730     DIType *Ty = stripQualifiers(cast<DIType>(CInfo.Metadata));
  748     DIType *BaseTy = nullptr;
  826     auto *CTy = cast<DICompositeType>(stripQualifiers(cast<DIType>(MDN)));
lib/Target/BPF/BTFDebug.cpp
   79   const DIType *ResolvedType = DTy->getBaseType();
  246     const auto *BaseTy = DDTy->getBaseType();
  389                            const DIType *Ty) {
  477   const DIType *ElemType = CTy->getBaseType();
  559     const DIType *Base = DTy->getBaseType();
  598 void BTFDebug::visitTypeEntry(const DIType *Ty, uint32_t &TypeId,
  618 void BTFDebug::visitTypeEntry(const DIType *Ty) {
  623 void BTFDebug::visitMapDefType(const DIType *Ty, uint32_t &TypeId) {
  931 unsigned BTFDebug::populateStructType(const DIType *Ty) {
  941                                    const MCSymbol *ORSym, DIType *RootTy,
  997       DIType *Ty = dyn_cast<DIType>(MDN);
  997       DIType *Ty = dyn_cast<DIType>(MDN);
lib/Target/BPF/BTFDebug.h
  244   std::unordered_map<const DIType *, uint32_t> DIToIdMap;
  258   uint32_t addType(std::unique_ptr<BTFTypeBase> TypeEntry, const DIType *Ty);
  265   void visitTypeEntry(const DIType *Ty);
  266   void visitTypeEntry(const DIType *Ty, uint32_t &TypeId, bool CheckPointer,
  282   void visitMapDefType(const DIType *Ty, uint32_t &TypeId);
  298                            DIType *RootTy, StringRef AccessPattern);
  301   unsigned populateStructType(const DIType *Ty);
  338   uint32_t getTypeId(const DIType *Ty) {
lib/Transforms/Utils/CloneFunction.cpp
  199   for (DIType *Type : DIFinder.types())
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  632 llvm::DIType *CGDebugInfo::CreateType(const BuiltinType *BT) {
  820 llvm::DIType *CGDebugInfo::CreateType(const ComplexType *Ty) {
  830 llvm::DIType *CGDebugInfo::CreateQualifiedType(QualType Ty,
  857   auto *FromTy = getOrCreateType(Qc.apply(CGM.getContext(), T), Unit);
  864 llvm::DIType *CGDebugInfo::CreateType(const ObjCObjectPointerType *Ty,
  877 llvm::DIType *CGDebugInfo::CreateType(const PointerType *Ty,
  976   if (llvm::DIType *T = getTypeOrNull(CGM.getContext().getRecordType(RD)))
 1000 llvm::DIType *CGDebugInfo::CreatePointerLikeType(llvm::dwarf::Tag Tag,
 1022 llvm::DIType *CGDebugInfo::getOrCreateStructPtrType(StringRef Name,
 1023                                                     llvm::DIType *&Cache) {
 1069 llvm::DIType *CGDebugInfo::CreateType(const BlockPointerType *Ty,
 1110 llvm::DIType *CGDebugInfo::CreateType(const TemplateSpecializationType *Ty,
 1113   llvm::DIType *Src = getOrCreateType(Ty->getAliasedType(), Unit);
 1133 llvm::DIType *CGDebugInfo::CreateType(const TypedefType *Ty,
 1135   llvm::DIType *Underlying =
 1194 llvm::DIType *CGDebugInfo::CreateType(const FunctionType *Ty,
 1244 llvm::DIType *CGDebugInfo::createBitFieldType(const FieldDecl *BitFieldDecl,
 1251   llvm::DIType *DebugType = getOrCreateType(Ty, VUnit);
 1276 llvm::DIType *
 1281   llvm::DIType *debugType = getOrCreateType(type, tunit);
 1303     llvm::DIType *RecordTy) {
 1321       llvm::DIType *FieldType = createFieldType(
 1333       llvm::DIType *fieldType = createFieldType(
 1343 CGDebugInfo::CreateRecordStaticField(const VarDecl *Var, llvm::DIType *RecordTy,
 1349   llvm::DIType *VTy = getOrCreateType(Var->getType(), VUnit);
 1374     SmallVectorImpl<llvm::Metadata *> &elements, llvm::DIType *RecordTy,
 1383   llvm::DIType *FieldType;
 1403   llvm::DIType *nestedType = getOrCreateType(Ty, getOrCreateFile(Loc));
 1496     llvm::DIType *PointeeType = getOrCreateType(PointeeTy, Unit);
 1497     llvm::DIType *ThisPtrType =
 1506     llvm::DIType *ThisPtrType = getOrCreateType(ThisPtr, Unit);
 1539     const CXXMethodDecl *Method, llvm::DIFile *Unit, llvm::DIType *RecordTy) {
 1566   llvm::DIType *ContainingType = nullptr;
 1646     SmallVectorImpl<llvm::Metadata *> &EltTys, llvm::DIType *RecordTy) {
 1684                                   llvm::DIType *RecordTy) {
 1699     SmallVectorImpl<llvm::Metadata *> &EltTys, llvm::DIType *RecordTy,
 1709     auto *BaseTy = getOrCreateType(BI.getType(), Unit);
 1738     llvm::DIType *DTy = DBuilder.createInheritance(RecordTy, BaseTy, BaseOffset,
 1756       llvm::DIType *TTy = getOrCreateType(TA.getAsType(), Unit);
 1761       llvm::DIType *TTy = getOrCreateType(TA.getIntegralType(), Unit);
 1769       llvm::DIType *TTy = getOrCreateType(T, Unit);
 1806       llvm::DIType *TTy = getOrCreateType(T, Unit);
 1840       llvm::DIType *TTy = getOrCreateType(T, Unit);
 1893 llvm::DIType *CGDebugInfo::getOrCreateVTablePtrType(llvm::DIFile *Unit) {
 1902   llvm::DIType *SubTy = DBuilder.createSubroutineType(SElements);
 1908   llvm::DIType *vtbl_ptr_type = DBuilder.createPointerType(
 1989   llvm::DIType *VPtrTy = nullptr;
 2005     llvm::DIType *VTableType = DBuilder.createPointerType(
 2021   llvm::DIType *VPtrMember =
 2027 llvm::DIType *CGDebugInfo::getOrCreateRecordType(QualType RTy,
 2030   llvm::DIType *T = getOrCreateType(RTy, getOrCreateFile(Loc));
 2034 llvm::DIType *CGDebugInfo::getOrCreateInterfaceType(QualType D,
 2039 llvm::DIType *CGDebugInfo::getOrCreateStandaloneType(QualType D,
 2043   llvm::DIType *T = getOrCreateType(D, getOrCreateFile(Loc));
 2070   if (I == TypeCache.end() || !cast<llvm::DIType>(I->second)->isForwardDecl())
 2072   llvm::DIType *Res = CreateTypeDefinition(Ty->castAs<EnumType>());
 2145   if (I != TypeCache.end() && !cast<llvm::DIType>(I->second)->isForwardDecl())
 2147   llvm::DIType *Res = CreateTypeDefinition(Ty->castAs<RecordType>());
 2213   llvm::DIType *T = getTypeOrNull(Ty);
 2218 llvm::DIType *CGDebugInfo::CreateType(const RecordType *Ty) {
 2220   llvm::DIType *T = cast_or_null<llvm::DIType>(getTypeOrNull(QualType(Ty, 0)));
 2220   llvm::DIType *T = cast_or_null<llvm::DIType>(getTypeOrNull(QualType(Ty, 0)));
 2231 llvm::DIType *CGDebugInfo::CreateTypeDefinition(const RecordType *Ty) {
 2289 llvm::DIType *CGDebugInfo::CreateType(const ObjCObjectType *Ty,
 2295 llvm::DIType *CGDebugInfo::CreateType(const ObjCTypeParamType *Ty,
 2331 llvm::DIType *CGDebugInfo::CreateType(const ObjCInterfaceType *Ty,
 2357     llvm::DIType *FwdDecl = DBuilder.createReplaceableCompositeType(
 2444 llvm::DIType *CGDebugInfo::CreateTypeDefinition(const ObjCInterfaceType *Ty,
 2476     llvm::DIType *SClassTy =
 2481     llvm::DIType *InhTag = DBuilder.createInheritance(RealDecl, SClassTy, 0, 0,
 2522     llvm::DIType *FieldTy = getOrCreateType(Field->getType(), Unit);
 2608 llvm::DIType *CGDebugInfo::CreateType(const VectorType *Ty,
 2610   llvm::DIType *ElementTy = getOrCreateType(Ty->getElementType(), Unit);
 2628 llvm::DIType *CGDebugInfo::CreateType(const ArrayType *Ty, llvm::DIFile *Unit) {
 2691 llvm::DIType *CGDebugInfo::CreateType(const LValueReferenceType *Ty,
 2697 llvm::DIType *CGDebugInfo::CreateType(const RValueReferenceType *Ty,
 2703 llvm::DIType *CGDebugInfo::CreateType(const MemberPointerType *Ty,
 2731   llvm::DIType *ClassType = getOrCreateType(QualType(Ty->getClass(), 0), U);
 2746 llvm::DIType *CGDebugInfo::CreateType(const AtomicType *Ty, llvm::DIFile *U) {
 2747   auto *FromTy = getOrCreateType(Ty->getValueType(), U);
 2751 llvm::DIType *CGDebugInfo::CreateType(const PipeType *Ty, llvm::DIFile *U) {
 2755 llvm::DIType *CGDebugInfo::CreateEnumType(const EnumType *Ty) {
 2786     llvm::DIType *RetTy = DBuilder.createReplaceableCompositeType(
 2799 llvm::DIType *CGDebugInfo::CreateTypeDefinition(const EnumType *Ty) {
 2827   llvm::DIType *ClassTy = getOrCreateType(ED->getIntegerType(), DefUnit);
 2913 llvm::DIType *CGDebugInfo::getTypeOrNull(QualType Ty) {
 2922       return cast<llvm::DIType>(V);
 2945 llvm::DIType *CGDebugInfo::getOrCreateType(QualType Ty, llvm::DIFile *Unit) {
 2952   if (auto *T = getTypeOrNull(Ty))
 2955   llvm::DIType *Res = CreateTypeNode(Ty, Unit);
 2999 llvm::DIType *CGDebugInfo::CreateTypeNode(QualType Ty, llvm::DIFile *Unit) {
 3217 llvm::DIType *CGDebugInfo::CreateMemberType(llvm::DIFile *Unit, QualType FType,
 3219   llvm::DIType *FieldTy = CGDebugInfo::getOrCreateType(FType, Unit);
 3222   llvm::DIType *Ty =
 3887   llvm::DIType *WrappedTy = getOrCreateType(FType, Unit);
 3892   llvm::DIType *FieldTy = DBuilder.createMemberType(
 3920   llvm::DIType *Ty;
 3991         llvm::DIType *FieldTy = getOrCreateType(Field->getType(), Unit);
 4078 llvm::DIType *CGDebugInfo::CreateSelfType(const QualType &QualTy,
 4079                                           llvm::DIType *Ty) {
 4080   llvm::DIType *CachedTy = getTypeOrNull(QualTy);
 4101   llvm::DIType *Ty;
 4292     llvm::DIType *fieldType;
 4318   llvm::DIType *type =
 4362     llvm::DIType *FieldTy = getOrCreateType(Field->getType(), Unit);
 4451   llvm::DIType *Ty = getOrCreateType(VD->getType(), Unit);
 4468       llvm::DIType *EDTy =
 4668     llvm::DIType *Ty = E.Type->getDecl()->getDefinition()
 4699     auto *Ty = cast<llvm::DIType>(P.second);
 4699     auto *Ty = cast<llvm::DIType>(P.second);
 4707                               cast<llvm::DIType>(It->second));
 4733       DBuilder.retainType(cast<llvm::DIType>(MD));
 4746   if (auto *DieTy = getOrCreateType(Ty, TheCU->getFile()))
tools/clang/lib/CodeGen/CGDebugInfo.h
   66   llvm::DIType *VTablePtrType = nullptr;
   67   llvm::DIType *ClassTy = nullptr;
   69   llvm::DIType *SelTy = nullptr;
   73   llvm::DIType *OCLSamplerDITy = nullptr;
   74   llvm::DIType *OCLEventDITy = nullptr;
   75   llvm::DIType *OCLClkEventDITy = nullptr;
   76   llvm::DIType *OCLQueueDITy = nullptr;
   77   llvm::DIType *OCLNDRangeDITy = nullptr;
   78   llvm::DIType *OCLReserveIDDITy = nullptr;
   94     llvm::DIType *Decl;
   96     ObjCInterfaceCacheEntry(const ObjCInterfaceType *Type, llvm::DIType *Decl,
  154   llvm::DIType *CreateType(const BuiltinType *Ty);
  155   llvm::DIType *CreateType(const ComplexType *Ty);
  156   llvm::DIType *CreateQualifiedType(QualType Ty, llvm::DIFile *Fg);
  157   llvm::DIType *CreateType(const TypedefType *Ty, llvm::DIFile *Fg);
  158   llvm::DIType *CreateType(const TemplateSpecializationType *Ty,
  160   llvm::DIType *CreateType(const ObjCObjectPointerType *Ty, llvm::DIFile *F);
  161   llvm::DIType *CreateType(const PointerType *Ty, llvm::DIFile *F);
  162   llvm::DIType *CreateType(const BlockPointerType *Ty, llvm::DIFile *F);
  163   llvm::DIType *CreateType(const FunctionType *Ty, llvm::DIFile *F);
  165   llvm::DIType *CreateType(const RecordType *Tyg);
  166   llvm::DIType *CreateTypeDefinition(const RecordType *Ty);
  171   llvm::DIType *CreateType(const ObjCInterfaceType *Ty, llvm::DIFile *F);
  172   llvm::DIType *CreateTypeDefinition(const ObjCInterfaceType *Ty,
  175   llvm::DIType *CreateType(const ObjCObjectType *Ty, llvm::DIFile *F);
  176   llvm::DIType *CreateType(const ObjCTypeParamType *Ty, llvm::DIFile *Unit);
  178   llvm::DIType *CreateType(const VectorType *Ty, llvm::DIFile *F);
  179   llvm::DIType *CreateType(const ArrayType *Ty, llvm::DIFile *F);
  180   llvm::DIType *CreateType(const LValueReferenceType *Ty, llvm::DIFile *F);
  181   llvm::DIType *CreateType(const RValueReferenceType *Ty, llvm::DIFile *Unit);
  182   llvm::DIType *CreateType(const MemberPointerType *Ty, llvm::DIFile *F);
  183   llvm::DIType *CreateType(const AtomicType *Ty, llvm::DIFile *F);
  184   llvm::DIType *CreateType(const PipeType *Ty, llvm::DIFile *F);
  186   llvm::DIType *CreateEnumType(const EnumType *Ty);
  187   llvm::DIType *CreateTypeDefinition(const EnumType *Ty);
  194   llvm::DIType *CreateSelfType(const QualType &QualTy, llvm::DIType *Ty);
  194   llvm::DIType *CreateSelfType(const QualType &QualTy, llvm::DIType *Ty);
  199   llvm::DIType *getTypeOrNull(const QualType);
  212   llvm::DIType *getOrCreateVTablePtrType(llvm::DIFile *F);
  216   llvm::DIType *CreatePointerLikeType(llvm::dwarf::Tag Tag, const Type *Ty,
  218   llvm::DIType *getOrCreateStructPtrType(StringRef Name, llvm::DIType *&Cache);
  218   llvm::DIType *getOrCreateStructPtrType(StringRef Name, llvm::DIType *&Cache);
  224                                               llvm::DIType *RecordTy);
  231                                  llvm::DIType *T);
  238                        llvm::DIType *RecordTy);
  244       SmallVectorImpl<llvm::Metadata *> &EltTys, llvm::DIType *RecordTy,
  269   llvm::DIType *createFieldType(StringRef name, QualType type,
  275   llvm::DIType *createFieldType(StringRef name, QualType type,
  285   llvm::DIType *createBitFieldType(const FieldDecl *BitFieldDecl,
  293                                  llvm::DIType *RecordTy);
  295                                                llvm::DIType *RecordTy,
  300                                 llvm::DIType *RecordTy, const RecordDecl *RD);
  485   llvm::DIType *getOrCreateRecordType(QualType Ty, SourceLocation L);
  488   llvm::DIType *getOrCreateInterfaceType(QualType Ty, SourceLocation Loc);
  491   llvm::DIType *getOrCreateStandaloneType(QualType Ty, SourceLocation Loc);
  528     llvm::DIType *BlockByRefWrapper;
  530     llvm::DIType *WrappedType;
  573   llvm::DIType *getOrCreateType(QualType Ty, llvm::DIFile *Fg);
  590   llvm::DIType *CreateTypeNode(QualType Ty, llvm::DIFile *Fg);
  593   llvm::DIType *CreateMemberType(llvm::DIFile *Unit, QualType FType,
tools/clang/lib/CodeGen/CGExpr.cpp
 3438     llvm::DIType *DbgInfo = nullptr;
 3956   llvm::DIType *DbgInfo = CGF.getDebugInfo()->getOrCreateRecordType(
 4001       llvm::DIType *DbgInfo = getDebugInfo()->getOrCreateRecordType(
 4085       llvm::DIType *DbgInfo = getDebugInfo()->getOrCreateRecordType(
tools/opt/BreakpointPrinter.cpp
   36     } else if (auto *TY = dyn_cast<DIType>(Context)) {
tools/opt/Debugify.cpp
   75   DenseMap<uint64_t, DIType *> TypeCache;
   78     DIType *&DTy = TypeCache[Size];
unittests/IR/MetadataTest.cpp
  100   DIType *getBasicType(StringRef Name) {
  103   DIType *getDerivedType() {
  114   DIType *getCompositeType() {
 1167   DIType *Type = getDerivedType();
 1260   DIType *N = DIBasicType::get(Context, dwarf::DW_TAG_base_type, "int", 32, 32,
 1272   DIType *D =
 1292   DIType *BaseType = getBasicType("basic");
 1364   DIType *BaseType = getBasicType("basic");
 1386   DIType *BaseType = getCompositeType();
 1393   DIType *VTableHolder = getCompositeType();
 1506   DIType *BaseType = getCompositeType();
 1513   DIType *VTableHolder = getCompositeType();
 1532   DIType *BaseType = getCompositeType();
 1551   DIType *VTableHolder = getCompositeType();
 1557   DIType *BasicType = getBasicType("basic");
 1577   DIType *BaseType = getCompositeType();
 1802   DIType *ContainingType = getCompositeType();
 2083   DIType *Type = getBasicType("basic");
 2105   DIType *Type = getBasicType("basic");
 2137   DIType *Type = getDerivedType();
 2224   DIType *Type = getDerivedType();
 2259   DIType *Type = getDerivedType();
 2406   DIType *Type = getBasicType("basic");
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
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) {