Lines Matching refs:IFunc
3630 if (auto *IFunc = dyn_cast<llvm::GlobalIFunc>(ResolverConstant)) in emitMultiVersionFunctions() local
3631 ResolverConstant = IFunc->getResolver(); in emitMultiVersionFunctions()
3760 auto *IFunc = cast<llvm::GlobalValue>(GetOrCreateMultiVersionResolver(GD)); in emitCPUDispatchDefinition() local
3764 if (!isa<llvm::GlobalIFunc>(IFunc)) { in emitCPUDispatchDefinition()
3765 assert(cast<llvm::Function>(IFunc)->isDeclaration()); in emitCPUDispatchDefinition()
3768 GI->takeName(IFunc); in emitCPUDispatchDefinition()
3769 IFunc->replaceAllUsesWith(GI); in emitCPUDispatchDefinition()
3770 IFunc->eraseFromParent(); in emitCPUDispatchDefinition()
3771 IFunc = GI; in emitCPUDispatchDefinition()
3778 auto *GA = llvm::GlobalAlias::create(DeclTy, 0, Linkage, AliasName, IFunc, in emitCPUDispatchDefinition()
6518 if (auto *IFunc = dyn_cast<llvm::GlobalIFunc>(CEUser)) { in CheckAndReplaceExternCIFuncs() local
6519 IFuncs.push_back(IFunc); in CheckAndReplaceExternCIFuncs()
6525 } else if (auto *IFunc = dyn_cast<llvm::GlobalIFunc>(User)) { in CheckAndReplaceExternCIFuncs() local
6526 IFuncs.push_back(IFunc); in CheckAndReplaceExternCIFuncs()
6538 for (llvm::GlobalIFunc *IFunc : IFuncs) in CheckAndReplaceExternCIFuncs()
6539 IFunc->setResolver(nullptr); in CheckAndReplaceExternCIFuncs()
6547 for (llvm::GlobalIFunc *IFunc : IFuncs) { in CheckAndReplaceExternCIFuncs()
6552 llvm::FunctionType::get(IFunc->getType(), /*isVarArg*/ false); in CheckAndReplaceExternCIFuncs()
6555 IFunc->setResolver(Resolver); in CheckAndReplaceExternCIFuncs()