/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | GlobalIFunc.h | 1 //===-------- llvm/GlobalIFunc.h - GlobalIFunc class ------------*- C++ -*-===// 10 /// This file contains the declaration of the GlobalIFunc class, which 31 // Traits class for using GlobalIFunc in symbol table in Module. 34 class GlobalIFunc final : public GlobalObject, public ilist_node<GlobalIFunc> { 35 friend class SymbolTableListTraits<GlobalIFunc>; 37 GlobalIFunc(Type *Ty, unsigned AddressSpace, LinkageTypes Linkage, 41 GlobalIFunc(const GlobalIFunc [all...] |
H A D | Module.h | 76 using IFuncListType = SymbolTableList<GlobalIFunc>; 497 GlobalIFunc *getNamedIFunc(StringRef Name) const; 630 void removeIFunc(GlobalIFunc *IFunc) { IFuncList.remove(IFunc); } in removeIFunc() 632 void eraseIFunc(GlobalIFunc *IFunc) { IFuncList.erase(IFunc); } in eraseIFunc() 634 void insertIFunc(GlobalIFunc *IFunc) { IFuncList.push_back(IFunc); } in insertIFunc() 665 static IFuncListType Module::*getSublistAccess(GlobalIFunc*) { in getSublistAccess() argument 668 friend class llvm::SymbolTableListTraits<llvm::GlobalIFunc>;
|
H A D | ValueSymbolTable.h | 27 class GlobalIFunc; variable 44 friend class SymbolTableListTraits<GlobalIFunc>;
|
H A D | SymbolTableListTraits.h | 37 class GlobalIFunc; variable 57 DEFINE_SYMBOL_TABLE_PARENT_TYPE(GlobalIFunc, Module)
|
H A D | Value.h | 39 class GlobalIFunc; variable 1031 template <> struct isa_impl<GlobalIFunc, Value> { 1046 isa<GlobalIFunc>(Val);
|
H A D | Value.def | 78 HANDLE_GLOBAL_VALUE(GlobalIFunc)
|
/freebsd/contrib/llvm-project/llvm/lib/IR/ |
H A D | Globals.cpp | 121 !isa<GlobalIFunc>(this) && !isDeduplicateComdat(getComdat()); in canBenefitFromLocalAlias() 201 if (isa<GlobalIFunc>(this)) in getComdat() 300 assert(isa<GlobalAlias>(this) || isa<GlobalIFunc>(this)); in isDeclaration() 591 GlobalIFunc::GlobalIFunc(Type *Ty, unsigned AddressSpace, LinkageTypes Link, in GlobalIFunc() function in GlobalIFunc 601 GlobalIFunc *GlobalIFunc::create(Type *Ty, unsigned AddressSpace, in create() 604 return new GlobalIFunc(Ty, AddressSpace, Link, Name, Resolver, ParentModule); in create() 607 void GlobalIFunc::removeFromParent() { getParent()->removeIFunc(this); } in removeFromParent() 609 void GlobalIFunc::eraseFromParent() { getParent()->eraseIFunc(this); } in eraseFromParent() 611 const Function *GlobalIFunc::getResolverFunction() const { in getResolverFunction() 615 void GlobalIFunc::applyAlongResolverPath( in applyAlongResolverPath()
|
H A D | Module.cpp | 68 template class llvm::SymbolTableListTraits<GlobalIFunc>; 255 GlobalIFunc *Module::getNamedIFunc(StringRef Name) const { in getNamedIFunc() 256 return dyn_cast_or_null<GlobalIFunc>(getNamedValue(Name)); in getNamedIFunc() 561 for (GlobalIFunc &GIF : ifuncs()) in dropAllReferences()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | CloneModule.cpp | 118 for (const GlobalIFunc &I : M.ifuncs()) { in CloneModule() 121 GlobalIFunc::create(I.getValueType(), I.getAddressSpace(), in CloneModule() 202 for (const GlobalIFunc &I : M.ifuncs()) { in CloneModule() 203 GlobalIFunc *GI = cast<GlobalIFunc>(VMap[&I]); in CloneModule()
|
H A D | ModuleUtils.cpp | 358 Module &M, ArrayRef<GlobalIFunc *> FilteredIFuncsToLower) { in lowerGlobalIFuncUsersAsGlobalCtor() 359 SmallVector<GlobalIFunc *, 32> AllIFuncs; in lowerGlobalIFuncUsersAsGlobalCtor() 360 ArrayRef<GlobalIFunc *> IFuncsToLower = FilteredIFuncsToLower; in lowerGlobalIFuncUsersAsGlobalCtor() 362 for (GlobalIFunc &GI : M.ifuncs()) in lowerGlobalIFuncUsersAsGlobalCtor() 396 for (GlobalIFunc *GI : IFuncsToLower) { in lowerGlobalIFuncUsersAsGlobalCtor()
|
H A D | FunctionImportUtils.cpp | 50 if (isa<GlobalIFunc>(SGV) || in shouldPromoteLocalToGlobal() 52 isa<GlobalIFunc>(cast<GlobalAlias>(SGV)->getAliaseeObject()))) in shouldPromoteLocalToGlobal()
|
H A D | SplitModule.cpp | 106 if (const auto *GI = dyn_cast_or_null<GlobalIFunc>(GO)) in getGVPartitioningRoot() 266 for (GlobalIFunc &GIF : M.ifuncs()) in SplitModule()
|
H A D | ValueMapper.cpp | 948 else if (auto *GI = dyn_cast<GlobalIFunc>(GV)) in flush() 1153 assert((isa<GlobalAlias>(GV) || isa<GlobalIFunc>(GV)) && in scheduleMapAliasOrIFunc() 1278 void ValueMapper::scheduleMapGlobalIFunc(GlobalIFunc &GI, Constant &Resolver, in scheduleMapGlobalIFunc()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | ModuleUtils.h | 18 #include "llvm/IR/GlobalIFunc.h" 30 class GlobalIFunc; variable 144 Module &M, ArrayRef<GlobalIFunc *> IFuncsToLower = {});
|
H A D | ValueMapper.h | 196 void scheduleMapGlobalIFunc(GlobalIFunc &GI, Constant &Resolver,
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | GlobalDCE.cpp | 303 for (GlobalIFunc &GIF : M.ifuncs()) { in run() 357 std::vector<GlobalIFunc*> DeadIFuncs; in run() 358 for (GlobalIFunc &GIF : M.ifuncs()) in run() 404 for (GlobalIFunc *GIF : DeadIFuncs) in run()
|
H A D | ExtractGV.cpp | 132 for (GlobalIFunc &IF : llvm::make_early_inc_range(M.ifuncs())) { in run()
|
/freebsd/contrib/llvm-project/llvm/lib/Linker/ |
H A D | IRMover.cpp | 509 void linkIFuncResolver(GlobalIFunc &Dst, GlobalIFunc &Src); 627 } else if (auto *GI = dyn_cast<GlobalIFunc>(New)) { in materialize() 717 if (auto *GI = dyn_cast<GlobalIFunc>(SGV)) { in copyIndirectSymbolProto() 718 auto *DGI = GlobalIFunc::create(Ty, SGV->getAddressSpace(), in copyIndirectSymbolProto() 1157 void IRLinker::linkIFuncResolver(GlobalIFunc &Dst, GlobalIFunc &Src) { in linkIFuncResolver() 1172 linkIFuncResolver(cast<GlobalIFunc>(Dst), cast<GlobalIFunc>(Src)); in linkGlobalValueBody()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/DXILWriter/ |
H A D | DXILValueEnumerator.cpp | 122 for (const GlobalIFunc &I : M.ifuncs()) in orderModule() 172 for (const GlobalIFunc &I : M.ifuncs()) in orderModule() 343 for (const GlobalIFunc &I : M.ifuncs()) in predictUseListOrder() 350 for (const GlobalIFunc &I : M.ifuncs()) in predictUseListOrder() 387 for (const GlobalIFunc &GIF : M.ifuncs()) { in ValueEnumerator() 407 for (const GlobalIFunc &GIF : M.ifuncs()) in ValueEnumerator()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | AsmPrinter.h | 601 virtual void emitMachOIFuncStubBody(Module &M, const GlobalIFunc &GI, in emitMachOIFuncStubBody() 607 virtual void emitMachOIFuncStubHelperBody(Module &M, const GlobalIFunc &GI, in emitMachOIFuncStubHelperBody() 898 void emitGlobalIFunc(Module &M, const GlobalIFunc &GI);
|
/freebsd/contrib/llvm-project/llvm/lib/Bitcode/Writer/ |
H A D | ValueEnumerator.cpp | 114 for (const GlobalIFunc &I : reverse(M.ifuncs())) in orderModule() 315 for (const GlobalIFunc &I : M.ifuncs()) in predictUseListOrder() 322 for (const GlobalIFunc &I : M.ifuncs()) in predictUseListOrder() 362 for (const GlobalIFunc &GIF : M.ifuncs()) { in ValueEnumerator() 383 for (const GlobalIFunc &GIF : M.ifuncs()) in ValueEnumerator()
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | ModuleSummaryAnalysis.cpp | 132 if (auto *GI = dyn_cast_if_present<GlobalIFunc>(GV); in findRefEdges() 461 if (auto *GI = dyn_cast_if_present<GlobalIFunc>(CalledValue)) in computeFunctionSummary() 859 if (isa<GlobalIFunc>(Aliasee)) in computeAliasSummary() 1030 for (const GlobalIFunc &I : M.ifuncs()) { in buildModuleSummaryIndex()
|
/freebsd/contrib/llvm-project/llvm/lib/Object/ |
H A D | IRSymtab.cpp | 310 if (isa<GlobalIFunc>(GV)) in addSymbol() 311 GO = cast<GlobalIFunc>(GV)->getResolverFunction(); in addSymbol()
|
H A D | ModuleSymbolTable.cpp | 232 if (isa<Function>(GO) || isa<GlobalIFunc>(GO)) in getSymbolFlags()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86AsmPrinter.cpp | 539 void X86AsmPrinter::emitMachOIFuncStubBody(Module &M, const GlobalIFunc &GI, in emitMachOIFuncStubBody() 556 const GlobalIFunc &GI, in emitMachOIFuncStubHelperBody()
|