Lines Matching refs:Call
44 bool optimizeSQRT(CallInst *Call, Function *CalledFunc,
72 CallInst *Call = dyn_cast<CallInst>(&*II);
75 if (!Call || !(CalledFunc = Call->getCalledFunction()))
88 if (TTI->haveFastSqrt(Call->getType()) &&
89 optimizeSQRT(Call, CalledFunc, *CurrBB, BB))
104 bool PartiallyInlineLibCalls::optimizeSQRT(CallInst *Call,
110 if (Call->onlyReadsMemory())
114 if (!Call->getType()->isFloatingPointTy())
129 // Move all instructions following Call to newly created block JoinBB.
131 BasicBlock *JoinBB = llvm::SplitBlock(&CurrBB, Call->getNextNode());
133 PHINode *Phi = Builder.CreatePHI(Call->getType(), 2);
134 Call->replaceAllUsesWith(Phi);
140 Instruction *LibCall = Call->clone();
147 Call->addAttribute(AttributeSet::FunctionIndex, Attribute::ReadNone);
150 Value *FCmp = Builder.CreateFCmpOEQ(Call, Call);
154 Phi->addIncoming(Call, &CurrBB);