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

Declarations

include/llvm/IR/GlobalVariable.h
   39 class DIGlobalVariableExpression;
include/llvm/IR/Metadata.def
   84 HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(DIGlobalVariableExpression)

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
  582     DIGlobalVariableExpression *createGlobalVariableExpression(
include/llvm/IR/DebugInfo.h
   89   bool addGlobalVariable(DIGlobalVariableExpression *DIG);
   99       SmallVectorImpl<DIGlobalVariableExpression *>::const_iterator;
  132   SmallVector<DIGlobalVariableExpression *, 8> GVs;
include/llvm/IR/DebugInfoMetadata.h
 3058   static DIGlobalVariableExpression *
include/llvm/IR/GlobalVariable.h
  182   void addDebugInfo(DIGlobalVariableExpression *GV);
  185   void getDebugInfo(SmallVectorImpl<DIGlobalVariableExpression *> &GVs) const;
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) {}
 1192     : public std::iterator<std::input_iterator_tag, T *, std::ptrdiff_t, void,
 1193                            T *> {
 1200   T *operator*() const { return cast_or_null<T>(*I); }
 1200   T *operator*() const { return cast_or_null<T>(*I); }
 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
   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) {
  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
  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
  360                             typename cast_retty<X, Y>::ret_type>::type
  362   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  362   return (Val && 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 };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
lib/Bitcode/Reader/MetadataLoader.cpp
  506               auto *DGVE = DIGlobalVariableExpression::getDistinct(
  506               auto *DGVE = DIGlobalVariableExpression::getDistinct(
  519           auto *DGVE = DIGlobalVariableExpression::getDistinct(
  519           auto *DGVE = DIGlobalVariableExpression::getDistinct(
 1757       DIGlobalVariableExpression *DGVE = nullptr;
 1759         DGVE = DIGlobalVariableExpression::getDistinct(
lib/Bitcode/Writer/BitcodeWriter.cpp
  346   void writeDIGlobalVariableExpression(const DIGlobalVariableExpression *N,
 1884     const DIGlobalVariableExpression *N, SmallVectorImpl<uint64_t> &Record,
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
 2981   DenseMap<const DIGlobalVariableExpression *, const GlobalVariable *>
 2984     SmallVector<DIGlobalVariableExpression *, 1> GVEs;
 2986     for (const auto *GVE : GVEs)
 2993     for (const auto *GVE : CU->getGlobalVariables()) {
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  948     SmallVector<DIGlobalVariableExpression *, 1> GVs;
  950     for (auto *GVE : GVs)
  995     for (auto *GVE : CUNode->getGlobalVariables()) {
 1005     for (auto *GVE : CUNode->getGlobalVariables()) {
lib/IR/AsmWriter.cpp
 2163                                             const DIGlobalVariableExpression *N,
lib/IR/Core.cpp
 1226     SmallVector<DIGlobalVariableExpression *, 1> GVEs;
 1250     SmallVector<DIGlobalVariableExpression *, 1> GVEs;
 1273     SmallVector<DIGlobalVariableExpression *, 1> GVEs;
lib/IR/DIBuilder.cpp
  639 DIGlobalVariableExpression *DIBuilder::createGlobalVariableExpression(
  651   auto *N = DIGlobalVariableExpression::get(VMContext, GV, Expr);
  651   auto *N = DIGlobalVariableExpression::get(VMContext, GV, Expr);
lib/IR/DebugInfo.cpp
  249 bool DebugInfoFinder::addGlobalVariable(DIGlobalVariableExpression *DIG) {
  709 template <typename DIT> DIT *unwrapDI(LLVMMetadataRef Ref) {
 1298   return wrap(unwrapDI<DIGlobalVariableExpression>(GVE)->getVariable());
 1303   return wrap(unwrapDI<DIGlobalVariableExpression>(GVE)->getExpression());
lib/IR/DebugInfoMetadata.cpp
 1185 DIGlobalVariableExpression *
lib/IR/LLVMContextImpl.h
  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) {
 1022   MDNodeKeyImpl(const DIGlobalVariableExpression *N)
 1025   bool isKeyOf(const DIGlobalVariableExpression *RHS) const {
 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);
 1473         auto *GVE = cast<DIGlobalVariableExpression>(Attachment);
 1473         auto *GVE = cast<DIGlobalVariableExpression>(Attachment);
 1485       Attachment = DIGlobalVariableExpression::get(getContext(), GV, E);
 1535 void GlobalVariable::addDebugInfo(DIGlobalVariableExpression *GV) {
 1540     SmallVectorImpl<DIGlobalVariableExpression *> &GVs) const {
 1544     GVs.push_back(cast<DIGlobalVariableExpression>(MD));
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
  691     if (auto *GVE = dyn_cast<DIGlobalVariableExpression>(MD))
  691     if (auto *GVE = dyn_cast<DIGlobalVariableExpression>(MD))
 1286     const DIGlobalVariableExpression &GVE) {
lib/Target/BPF/BTFDebug.cpp
 1077     SmallVector<DIGlobalVariableExpression *, 1> GVs;
 1080     for (auto *GVE : GVs) {
lib/Transforms/IPO/GlobalOpt.cpp
  440   SmallVector<DIGlobalVariableExpression *, 1> GVs;
  442   for (auto *GVE : GVs) {
  452     auto *NGVE = DIGlobalVariableExpression::get(GVE->getContext(), Var, Expr);
  452     auto *NGVE = DIGlobalVariableExpression::get(GVE->getContext(), Var, Expr);
 1642   SmallVector<DIGlobalVariableExpression *, 1> GVs;
 1659       for(auto *GVe : GVs){
 1681         DIGlobalVariableExpression *DGVE =
 1682           DIGlobalVariableExpression::get(NewGV->getContext(), DGV, E);
 1692      for(auto *GV : GVs)
lib/Transforms/IPO/StripSymbols.cpp
  315   DenseSet<DIGlobalVariableExpression *> VisitedSet;
  317   std::set<DIGlobalVariableExpression *> LiveGVs;
  319     SmallVector<DIGlobalVariableExpression *, 1> GVEs;
  321     for (auto *GVE : GVEs)
  336     for (auto *DIG : DIC->getGlobalVariables()) {
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 2310     SmallVector<DIGlobalVariableExpression *, 1> GVs;
 2312     for (auto *GV : GVs)
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 3413     if (auto *GVE = dyn_cast_or_null<llvm::DIGlobalVariableExpression>(N))
 3413     if (auto *GVE = dyn_cast_or_null<llvm::DIGlobalVariableExpression>(N))
 4356 llvm::DIGlobalVariableExpression *CGDebugInfo::CollectAnonRecordDecls(
 4359   llvm::DIGlobalVariableExpression *GVE = nullptr;
 4392         cast<llvm::DIGlobalVariableExpression>(Cached->second));
 4406   llvm::DIGlobalVariableExpression *GVE = nullptr;
 4724     if (auto *GVE = dyn_cast_or_null<llvm::DIGlobalVariableExpression>(Repl))
 4724     if (auto *GVE = dyn_cast_or_null<llvm::DIGlobalVariableExpression>(Repl))
tools/clang/lib/CodeGen/CGDebugInfo.h
  634   llvm::DIGlobalVariableExpression *
unittests/IR/MetadataTest.cpp
 2240   auto *N = DIGlobalVariableExpression::get(Context, Var, Expr);
 2240   auto *N = DIGlobalVariableExpression::get(Context, Var, Expr);
unittests/Transforms/Utils/CloningTest.cpp
  813   SmallVector<DIGlobalVariableExpression *, 1> GVs;
  817   DIGlobalVariableExpression *GVExpr = GVs[0];
  848   for (DIGlobalVariableExpression *GVExpr : GlobalArray) {
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)) {