Lines Matching refs:IFunc

4233     if (auto *IFunc = dyn_cast<llvm::GlobalIFunc>(ResolverConstant)) {  in emitMultiVersionFunctions()  local
4234 ResolverConstant = IFunc->getResolver(); in emitMultiVersionFunctions()
4245 MangledName + ".ifunc", IFunc, &getModule()); in emitMultiVersionFunctions()
4378 auto *IFunc = cast<llvm::GlobalValue>(GetOrCreateMultiVersionResolver(GD)); in emitCPUDispatchDefinition() local
4382 if (!isa<llvm::GlobalIFunc>(IFunc)) { in emitCPUDispatchDefinition()
4383 assert(cast<llvm::Function>(IFunc)->isDeclaration()); in emitCPUDispatchDefinition()
4386 GI->takeName(IFunc); in emitCPUDispatchDefinition()
4387 IFunc->replaceAllUsesWith(GI); in emitCPUDispatchDefinition()
4388 IFunc->eraseFromParent(); in emitCPUDispatchDefinition()
4389 IFunc = GI; in emitCPUDispatchDefinition()
4396 auto *GA = llvm::GlobalAlias::create(DeclTy, 0, Linkage, AliasName, IFunc, in emitCPUDispatchDefinition()
7163 if (auto *IFunc = dyn_cast<llvm::GlobalIFunc>(CEUser)) { in CheckAndReplaceExternCIFuncs() local
7164 IFuncs.push_back(IFunc); in CheckAndReplaceExternCIFuncs()
7170 } else if (auto *IFunc = dyn_cast<llvm::GlobalIFunc>(User)) { in CheckAndReplaceExternCIFuncs() local
7171 IFuncs.push_back(IFunc); in CheckAndReplaceExternCIFuncs()
7183 for (llvm::GlobalIFunc *IFunc : IFuncs) in CheckAndReplaceExternCIFuncs()
7184 IFunc->setResolver(nullptr); in CheckAndReplaceExternCIFuncs()
7192 for (llvm::GlobalIFunc *IFunc : IFuncs) { in CheckAndReplaceExternCIFuncs()
7197 llvm::FunctionType::get(IFunc->getType(), /*isVarArg*/ false); in CheckAndReplaceExternCIFuncs()
7200 IFunc->setResolver(Resolver); in CheckAndReplaceExternCIFuncs()