Lines Matching refs:Call
43 bool optimizeSQRT(CallInst *Call, Function *CalledFunc,
69 CallInst *Call = dyn_cast<CallInst>(&*II); in runOnFunction() local
72 if (!Call || !(CalledFunc = Call->getCalledFunction())) in runOnFunction()
85 if (TTI->haveFastSqrt(Call->getType()) && in runOnFunction()
86 optimizeSQRT(Call, CalledFunc, *CurrBB, BB)) in runOnFunction()
101 bool PartiallyInlineLibCalls::optimizeSQRT(CallInst *Call, in optimizeSQRT() argument
107 if (Call->onlyReadsMemory()) in optimizeSQRT()
124 BasicBlock *JoinBB = llvm::SplitBlock(&CurrBB, Call->getNextNode(), this); in optimizeSQRT()
126 PHINode *Phi = Builder.CreatePHI(Call->getType(), 2); in optimizeSQRT()
127 Call->replaceAllUsesWith(Phi); in optimizeSQRT()
133 Instruction *LibCall = Call->clone(); in optimizeSQRT()
140 Call->addAttribute(AttributeSet::FunctionIndex, Attribute::ReadNone); in optimizeSQRT()
143 Value *FCmp = Builder.CreateFCmpOEQ(Call, Call); in optimizeSQRT()
147 Phi->addIncoming(Call, &CurrBB); in optimizeSQRT()