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

Declarations

include/llvm/IR/SymbolTableListTraits.h
   37 class GlobalIFunc;
include/llvm/IR/Value.h
   38 class GlobalIFunc;
include/llvm/IR/ValueSymbolTable.h
   27 class GlobalIFunc;

References

include/llvm/ADT/ilist.h
   41   static void deleteNode(NodeTy *V) { delete V; }
   96 template <class T> T &make();
  106   static Yes &test(U *I, decltype(I->getNext(&make<NodeT>())) * = 0);
  136   static Yes &test(U *I, decltype(I->createNode(make<NodeT>())) * = 0);
  144   static const bool value = HasGetNext<TraitsT, NodeT>::value ||
  146                             HasCreateNode<TraitsT, NodeT>::value;
include/llvm/ADT/ilist_node.h
  150           typename ilist_detail::compute_node_options<T, Options...>::type> {
include/llvm/ADT/ilist_node_options.h
  108   typedef T value_type;
  109   typedef T *pointer;
  110   typedef T &reference;
  111   typedef const T *const_pointer;
  112   typedef const T &const_reference;
  122   typedef node_options<T, extract_sentinel_tracking<Options...>::value,
include/llvm/ADT/simple_ilist.h
   79     : ilist_detail::compute_node_options<T, Options...>::type::list_base_type,
   81           typename ilist_detail::compute_node_options<T, Options...>::type> {
   85       typename ilist_detail::compute_node_options<T, Options...>::type;
include/llvm/IR/GlobalIFunc.h
   33                           public ilist_node<GlobalIFunc> {
   40   GlobalIFunc(const GlobalIFunc &) = delete;
   41   GlobalIFunc &operator=(const GlobalIFunc &) = delete;
   41   GlobalIFunc &operator=(const GlobalIFunc &) = delete;
   45   static GlobalIFunc *create(Type *Ty, unsigned AddressSpace,
include/llvm/IR/Module.h
   77   using IFuncListType = SymbolTableList<GlobalIFunc>;
  442   GlobalIFunc *getNamedIFunc(StringRef Name) const;
include/llvm/IR/SymbolTableListTraits.h
   66 class SymbolTableListTraits : public ilist_alloc_traits<ValueSubClass> {
   67   using ListTy = SymbolTableList<ValueSubClass>;
   68   using iterator = typename simple_ilist<ValueSubClass>::iterator;
   70       typename SymbolTableListParentType<ValueSubClass>::type;
   95   void addNodeToList(ValueSubClass *V);
   96   void removeNodeFromList(ValueSubClass *V);
  113     : public iplist_impl<simple_ilist<T>, SymbolTableListTraits<T>> {};
  113     : public iplist_impl<simple_ilist<T>, SymbolTableListTraits<T>> {};
include/llvm/IR/Value.h
  887     return isa<GlobalAlias>(Val) || isa<GlobalIFunc>(Val);
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   77     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;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 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*,
  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;
lib/AsmParser/LLParser.cpp
  960     GA.reset(GlobalIFunc::create(Ty, AddrSpace,
 1004     M->getIFuncList().push_back(cast<GlobalIFunc>(GA.get()));
lib/Bitcode/Reader/BitcodeReader.cpp
 3359     NewGA = GlobalIFunc::create(Ty, AddrSpace, getDecodedLinkage(Linkage), Name,
lib/Bitcode/Writer/BitcodeWriter.cpp
 1369   for (const GlobalIFunc &I : M.ifuncs()) {
 4612   for (const GlobalIFunc &I : M.ifuncs()) {
lib/Bitcode/Writer/ValueEnumerator.cpp
  119   for (const GlobalIFunc &I : M.ifuncs())
  141   for (const GlobalIFunc &I : M.ifuncs())
  299   for (const GlobalIFunc &I : M.ifuncs())
  306   for (const GlobalIFunc &I : M.ifuncs())
  341   for (const GlobalIFunc &GIF : M.ifuncs())
  360   for (const GlobalIFunc &GIF : M.ifuncs())
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
 1325     OutStreamer->EmitSymbolAttribute(Name, isa<GlobalIFunc>(GIS)
 1512   for (const auto &IFunc : M.ifuncs())
lib/IR/AsmWriter.cpp
  150   for (const GlobalIFunc &I : M->ifuncs()) {
  302   for (const GlobalIFunc &I : M->ifuncs())
  309   for (const GlobalIFunc &I : M->ifuncs())
  881   if (const GlobalIFunc *GIF = dyn_cast<GlobalIFunc>(V))
  881   if (const GlobalIFunc *GIF = dyn_cast<GlobalIFunc>(V))
  947   for (const GlobalIFunc &I : TheModule->ifuncs()) {
 2640   for (const GlobalIFunc &GI : M->ifuncs())
 3336   else if (isa<GlobalIFunc>(GIS))
lib/IR/Core.cpp
 2501   return wrap(GlobalIFunc::create(unwrap(Ty), AddrSpace,
 2529   GlobalIFunc *GIF = unwrap<GlobalIFunc>(IFunc);
 2529   GlobalIFunc *GIF = unwrap<GlobalIFunc>(IFunc);
 2537   GlobalIFunc *GIF = unwrap<GlobalIFunc>(IFunc);
 2537   GlobalIFunc *GIF = unwrap<GlobalIFunc>(IFunc);
 2545   return wrap(unwrap<GlobalIFunc>(IFunc)->getResolver());
 2549   unwrap<GlobalIFunc>(IFunc)->setResolver(unwrap<Constant>(Resolver));
 2553   unwrap<GlobalIFunc>(IFunc)->eraseFromParent();
 2557   unwrap<GlobalIFunc>(IFunc)->removeFromParent();
lib/IR/Globals.cpp
  183   if (isa<GlobalIFunc>(this))
  541 GlobalIFunc *GlobalIFunc::create(Type *Ty, unsigned AddressSpace,
  544   return new GlobalIFunc(Ty, AddressSpace, Link, Name, Resolver, ParentModule);
lib/IR/Module.cpp
  243 GlobalIFunc *Module::getNamedIFunc(StringRef Name) const {
  244   return dyn_cast_or_null<GlobalIFunc>(getNamedValue(Name));
  449   for (GlobalIFunc &GIF : ifuncs())
lib/IR/SymbolTableListTraitsImpl.h
   95       ValueSubClass &V = *first;
lib/Linker/IRMover.cpp
  678     GIS = GlobalIFunc::create(Ty, SGIS->getType()->getPointerAddressSpace(),
lib/Transforms/IPO/GlobalDCE.cpp
  331   for (GlobalIFunc &GIF : M.ifuncs()) {
  385   std::vector<GlobalIFunc*> DeadIFuncs;
  386   for (GlobalIFunc &GIF : M.ifuncs())
  422   for (GlobalIFunc *GIF : DeadIFuncs)
lib/Transforms/Utils/ModuleUtils.cpp
  270   for (auto &IF : M->ifuncs())
lib/Transforms/Utils/SplitModule.cpp
  260     for (GlobalIFunc &GIF : M->ifuncs())
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CodeGenModule.cpp
 3012       auto *IFunc = cast<llvm::GlobalIFunc>(GetOrCreateLLVMFunction(
 3012       auto *IFunc = cast<llvm::GlobalIFunc>(GetOrCreateLLVMFunction(
 3056     llvm::GlobalIFunc *GIF = llvm::GlobalIFunc::create(
 3056     llvm::GlobalIFunc *GIF = llvm::GlobalIFunc::create(
 4547   llvm::GlobalIFunc *GIF =
 4548       llvm::GlobalIFunc::create(DeclTy, 0, llvm::Function::ExternalLinkage,
tools/verify-uselistorder/verify-uselistorder.cpp
  192   for (const GlobalIFunc &IF : M.ifuncs())
  203   for (const GlobalIFunc &IF : M.ifuncs())
  468   for (GlobalIFunc &IF : M.ifuncs())
  479   for (GlobalIFunc &IF : M.ifuncs())