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

Declarations

include/llvm/IR/Metadata.def
   92 HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(DIDerivedType)

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
  202     DIDerivedType *createQualifiedType(unsigned Tag, DIType *FromTy);
  210     DIDerivedType *createPointerType(DIType *PointeeTy, uint64_t SizeInBits,
  221     DIDerivedType *
  228     DIDerivedType *createReferenceType(unsigned Tag, DIType *RTy,
  240     DIDerivedType *createTypedef(DIType *Ty, StringRef Name, DIFile *File,
  244     DIDerivedType *createFriend(DIType *Ty, DIType *FriendTy);
  254     DIDerivedType *createInheritance(DIType *Ty, DIType *BaseTy,
  268     DIDerivedType *createMemberType(DIScope *Scope, StringRef Name,
  288     DIDerivedType *createVariantMemberType(DIScope *Scope, StringRef Name,
  306     DIDerivedType *createBitFieldMemberType(
  321     DIDerivedType *createStaticMemberType(DIScope *Scope, StringRef Name,
  338     DIDerivedType *createObjCIVar(StringRef Name, DIFile *File, unsigned LineNo,
  434 				       DIDerivedType *Discriminator,
include/llvm/IR/DebugInfoMetadata.h
  131   template <class Ty> Ty *getOperandAs(unsigned I) const {
  132     return cast_or_null<Ty>(getOperand(I));
  773   static DIDerivedType *
  783   static DIDerivedType *getImpl(LLVMContext &Context, unsigned Tag,
  921           DIDerivedType *Discriminator, StorageType Storage,
 1027   DIDerivedType *getDiscriminator() const { return getOperandAs<DIDerivedType>(8); }
 1027   DIDerivedType *getDiscriminator() const { return getOperandAs<DIDerivedType>(8); }
 2624           DIDerivedType *StaticDataMemberDeclaration, MDTuple *TemplateParams,
 2672   DIDerivedType *getStaticDataMemberDeclaration() const {
 2673     return cast_or_null<DIDerivedType>(getRawStaticDataMemberDeclaration());
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());
 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) {}
include/llvm/IR/TrackingMDRef.h
  111   explicit TypedTrackingMDRef(T *MD) : Ref(static_cast<Metadata *>(MD)) {}
  126   T *get() const { return (T *)Ref.get(); }
  127   operator T *() const { return get(); }
  128   T *operator->() const { return get(); }
  129   T &operator*() const { return *get(); }
  135   void reset(T *MD) { Ref.reset(static_cast<Metadata *>(MD)); }
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
   77     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);
  142   return isa_impl_wrap<X, const Y,
  168   using ret_type = const To &; // Normal case, return Ty&
  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) {
  265   return cast_convert_val<X, Y*,
  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
  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) {
  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
  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/Bitcode/Writer/BitcodeWriter.cpp
  303   void writeDIDerivedType(const DIDerivedType *N,
 1550 void ModuleBitcodeWriter::writeDIDerivedType(const DIDerivedType *N,
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
 1456     const DIDerivedType *DT = dyn_cast<DIDerivedType>(T);
 1456     const DIDerivedType *DT = dyn_cast<DIDerivedType>(T);
 1498     return lowerTypeAlias(cast<DIDerivedType>(Ty));
 1502     if (cast<DIDerivedType>(Ty)->getName() == "__vtbl_ptr_type")
 1503       return lowerTypeVFTableShape(cast<DIDerivedType>(Ty));
 1507     return lowerTypePointer(cast<DIDerivedType>(Ty));
 1509     return lowerTypeMemberPointer(cast<DIDerivedType>(Ty));
 1514     return lowerTypeModifier(cast<DIDerivedType>(Ty));
 1541 TypeIndex CodeViewDebug::lowerTypeAlias(const DIDerivedType *Ty) {
 1696 TypeIndex CodeViewDebug::lowerTypePointer(const DIDerivedType *Ty,
 1767 TypeIndex CodeViewDebug::lowerTypeMemberPointer(const DIDerivedType *Ty,
 1800 TypeIndex CodeViewDebug::lowerTypeModifier(const DIDerivedType *Ty) {
 1826       BaseTy = cast<DIDerivedType>(BaseTy)->getBaseType();
 1838       return lowerTypePointer(cast<DIDerivedType>(BaseTy), PO);
 1840       return lowerTypeMemberPointer(cast<DIDerivedType>(BaseTy), PO);
 1908     if (const DIDerivedType *PtrTy =
 1909             dyn_cast_or_null<DIDerivedType>(ReturnAndArgs[Index])) {
 1934 TypeIndex CodeViewDebug::lowerTypeVFTableShape(const DIDerivedType *Ty) {
 2092     const DIDerivedType *MemberTypeNode;
 2103   std::vector<const DIDerivedType *> Inheritance;
 2128                                       const DIDerivedType *DDTy) {
 2148       Ty = cast<DIDerivedType>(Ty)->getBaseType();
 2177     } else if (auto *DDTy = dyn_cast<DIDerivedType>(Element)) {
 2177     } else if (auto *DDTy = dyn_cast<DIDerivedType>(Element)) {
 2324   for (const DIDerivedType *I : Info.Inheritance) {
 2353     const DIDerivedType *Member = MemberInfo.MemberTypeNode;
 2476 CodeViewDebug::getTypeIndexForThisPtr(const DIDerivedType *PtrTy,
 2521     Ty = cast<DIDerivedType>(Ty)->getBaseType();
 3123     if (const auto *MemberDecl = dyn_cast_or_null<DIDerivedType>(
 3123     if (const auto *MemberDecl = dyn_cast_or_null<DIDerivedType>(
lib/CodeGen/AsmPrinter/CodeViewDebug.h
  381   getTypeIndexForThisPtr(const DIDerivedType *PtrTy,
  398   codeview::TypeIndex lowerTypeAlias(const DIDerivedType *Ty);
  402       const DIDerivedType *Ty,
  405       const DIDerivedType *Ty,
  407   codeview::TypeIndex lowerTypeModifier(const DIDerivedType *Ty);
  409   codeview::TypeIndex lowerTypeVFTableShape(const DIDerivedType *Ty);
  432   void collectMemberInfo(ClassInfo &Info, const DIDerivedType *DDTy);
lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
  145   const DIDerivedType *DDTy = dyn_cast<DIDerivedType>(Ty);
  145   const DIDerivedType *DDTy = dyn_cast<DIDerivedType>(Ty);
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  133   if (auto *SDMDecl = GV->getStaticDataMemberDeclaration()) {
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
  474   if (auto *DTy = dyn_cast<DIDerivedType>(Ty)) {
  674     constructTypeDIE(TyDIE, cast<DIDerivedType>(Ty));
  688     return getOrCreateTypeDIE(cast<DIDerivedType>(Ty)->getBaseType());
  692     return getOrCreateTypeDIE(cast<DIDerivedType>(Ty)->getBaseType());
  788 void DwarfUnit::constructTypeDIE(DIE &Buffer, const DIDerivedType *DTy) {
  812                 *getOrCreateTypeDIE(cast<DIDerivedType>(DTy)->getClassType()));
  892     DIDerivedType *Discriminator = nullptr;
  912       else if (auto *DDTy = dyn_cast<DIDerivedType>(Element)) {
 1448 DIE &DwarfUnit::constructMemberDIE(DIE &Buffer, const DIDerivedType *DT) {
 1557 DIE *DwarfUnit::getOrCreateStaticMemberDIE(const DIDerivedType *DT) {
lib/CodeGen/AsmPrinter/DwarfUnit.h
  299   DIE *getOrCreateStaticMemberDIE(const DIDerivedType *DT);
  310   void constructTypeDIE(DIE &Buffer, const DIDerivedType *DTy);
  315   DIE &constructMemberDIE(DIE &Buffer, const DIDerivedType *DT);
lib/IR/AsmWriter.cpp
 1843 static void writeDIDerivedType(raw_ostream &Out, const DIDerivedType *N,
lib/IR/DIBuilder.cpp
  267 DIDerivedType *DIBuilder::createQualifiedType(unsigned Tag, DIType *FromTy) {
  268   return DIDerivedType::get(VMContext, Tag, "", nullptr, 0, nullptr, FromTy, 0,
  272 DIDerivedType *DIBuilder::createPointerType(
  279   return DIDerivedType::get(VMContext, dwarf::DW_TAG_pointer_type, Name,
  285 DIDerivedType *DIBuilder::createMemberPointerType(DIType *PointeeTy,
  290   return DIDerivedType::get(VMContext, dwarf::DW_TAG_ptr_to_member_type, "",
  295 DIDerivedType *DIBuilder::createReferenceType(
  301   return DIDerivedType::get(VMContext, Tag, "", nullptr, 0, nullptr, RTy,
  306 DIDerivedType *DIBuilder::createTypedef(DIType *Ty, StringRef Name,
  309   return DIDerivedType::get(VMContext, dwarf::DW_TAG_typedef, Name, File,
  314 DIDerivedType *DIBuilder::createFriend(DIType *Ty, DIType *FriendTy) {
  317   return DIDerivedType::get(VMContext, dwarf::DW_TAG_friend, "", nullptr, 0, Ty,
  321 DIDerivedType *DIBuilder::createInheritance(DIType *Ty, DIType *BaseTy,
  328   return DIDerivedType::get(VMContext, dwarf::DW_TAG_inheritance, "", nullptr,
  333 DIDerivedType *DIBuilder::createMemberType(DIScope *Scope, StringRef Name,
  339   return DIDerivedType::get(VMContext, dwarf::DW_TAG_member, Name, File,
  350 DIDerivedType *DIBuilder::createVariantMemberType(
  354   return DIDerivedType::get(VMContext, dwarf::DW_TAG_member, Name, File,
  360 DIDerivedType *DIBuilder::createBitFieldMemberType(
  365   return DIDerivedType::get(
  373 DIDerivedType *
  379   return DIDerivedType::get(VMContext, dwarf::DW_TAG_member, Name, File,
  385 DIDerivedType *
  390   return DIDerivedType::get(VMContext, dwarf::DW_TAG_member, Name, File,
  488     DIDerivedType *Discriminator, DINodeArray Elements, StringRef UniqueIdentifier) {
  647       LineNumber, Ty, isLocalToUnit, true, cast_or_null<DIDerivedType>(Decl),
  665              cast_or_null<DIDerivedType>(Decl), templateParams, AlignInBits)
lib/IR/DebugInfo.cpp
  143   if (auto *DDT = dyn_cast<DIDerivedType>(DT)) {
  143   if (auto *DDT = dyn_cast<DIDerivedType>(DT)) {
lib/IR/DebugInfoMetadata.cpp
  367 DIDerivedType *DIDerivedType::getImpl(
  797     if (auto *DT = dyn_cast<DIDerivedType>(RawType)) {
lib/IR/LLVMContextImpl.h
  428   MDNodeKeyImpl(const DIDerivedType *N)
  436   bool isKeyOf(const DIDerivedType *RHS) const {
  466   using KeyTy = MDNodeKeyImpl<DIDerivedType>;
  468   static bool isSubsetEqual(const KeyTy &LHS, const DIDerivedType *RHS) {
  472   static bool isSubsetEqual(const DIDerivedType *LHS, const DIDerivedType *RHS) {
  472   static bool isSubsetEqual(const DIDerivedType *LHS, const DIDerivedType *RHS) {
  480                           const MDString *Name, const DIDerivedType *RHS) {
 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))
  778   static const bool value = sizeof(check<NodeTy>(nullptr)) == sizeof(Yes);
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/Verifier.cpp
  912 void Verifier::visitDIDerivedType(const DIDerivedType &N) {
lib/Target/BPF/BPFAbstractMemberAccess.cpp
  157   void GetStorageBitRange(DICompositeType *CTy, DIDerivedType *MemberTy,
  198   while (auto *DTy = dyn_cast<DIDerivedType>(Ty)) {
  198   while (auto *DTy = dyn_cast<DIDerivedType>(Ty)) {
  207   while (auto *DTy = dyn_cast<DIDerivedType>(Ty)) {
  359   if (isa<DIDerivedType>(CType))
  363   if (const auto *PtrTy = dyn_cast<DIDerivedType>(PType)) {
  363   if (const auto *PtrTy = dyn_cast<DIDerivedType>(PType)) {
  516                                                  DIDerivedType *MemberTy,
  527     auto Member = cast<DIDerivedType>(CTy->getElements()[Index]);
  556       auto *MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
  556       auto *MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
  573       auto *MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
  573       auto *MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
  595       auto *MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
  595       auto *MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
  619     DIDerivedType *MemberTy = nullptr;
  627       MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
  651     DIDerivedType *MemberTy = nullptr;
  658       MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
  760       auto *DTy = cast<DIDerivedType>(Ty);
  760       auto *DTy = cast<DIDerivedType>(Ty);
lib/Target/BPF/BTFDebug.cpp
   43 BTFTypeDerived::BTFTypeDerived(const DIDerivedType *DTy, unsigned Tag,
  237     const auto *DDTy = cast<DIDerivedType>(Element);
  237     const auto *DDTy = cast<DIDerivedType>(Element);
  457     auto E = cast<DIDerivedType>(Element);
  471     visitTypeEntry(cast<DIDerivedType>(Element));
  548 void BTFDebug::visitDerivedType(const DIDerivedType *DTy, uint32_t &TypeId,
  612   else if (const auto *DTy = dyn_cast<DIDerivedType>(Ty))
  612   else if (const auto *DTy = dyn_cast<DIDerivedType>(Ty))
  642     auto E = cast<DIDerivedType>(Element);
  656     const auto *MemberType = cast<DIDerivedType>(Element);
  656     const auto *MemberType = cast<DIDerivedType>(Element);
lib/Target/BPF/BTFDebug.h
   58   const DIDerivedType *DTy;
   62   BTFTypeDerived(const DIDerivedType *Ty, unsigned Tag, bool NeedsFixup);
  280   void visitDerivedType(const DIDerivedType *DTy, uint32_t &TypeId,
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  667     auto *ISATy = DBuilder.createPointerType(ClassTy, Size);
 1034     const BlockPointerType *Ty, llvm::DIFile *Unit, llvm::DIDerivedType *DescTy,
 1093   auto *DescTy = DBuilder.createPointerType(EltTy, Size);
 1342 llvm::DIDerivedType *
 1366   llvm::DIDerivedType *GV = DBuilder.createStaticMemberType(
 4338 llvm::DIDerivedType *
tools/clang/lib/CodeGen/CGDebugInfo.h
  147   llvm::DenseMap<const Decl *, llvm::TypedTrackingMDRef<llvm::DIDerivedType>>
  294   llvm::DIDerivedType *CreateRecordStaticField(const VarDecl *Var,
  332       llvm::DIDerivedType *DescTy, unsigned LineNo,
  608   llvm::DIDerivedType *
unittests/IR/MetadataTest.cpp
  104     return DIDerivedType::getDistinct(
 1298   auto *N =
 1299       DIDerivedType::get(Context, dwarf::DW_TAG_pointer_type, "something", File,
 1368   auto *N = DIDerivedType::get(
 1368   auto *N = DIDerivedType::get(
 1584   DIDerivedType *Discriminator = cast<DIDerivedType>(getDerivedType());
 1584   DIDerivedType *Discriminator = cast<DIDerivedType>(getDerivedType());
 1585   DIDerivedType *Discriminator2 = cast<DIDerivedType>(getDerivedType());
 1585   DIDerivedType *Discriminator2 = cast<DIDerivedType>(getDerivedType());
 2141   DIDerivedType *StaticDataMemberDeclaration =
 2142       cast<DIDerivedType>(getDerivedType());
 2230   DIDerivedType *StaticDataMemberDeclaration =
 2231       cast<DIDerivedType>(getDerivedType());
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)) {