Lines Matching refs:F

61   bool runOnFunction(Function &F) override;
120 static BasicBlock *unifyReturnBlockSet(Function &F, in unifyReturnBlockSet() argument
127 BasicBlock *NewRetBlock = BasicBlock::Create(F.getContext(), Name, &F); in unifyReturnBlockSet()
130 if (F.getReturnType()->isVoidTy()) { in unifyReturnBlockSet()
131 ReturnInst::Create(F.getContext(), nullptr, NewRetBlock); in unifyReturnBlockSet()
134 PN = PHINode::Create(F.getReturnType(), ReturningBlocks.size(), in unifyReturnBlockSet()
137 ReturnInst::Create(F.getContext(), PN, NewRetBlock); in unifyReturnBlockSet()
161 bool AMDGPUUnifyDivergentExitNodes::runOnFunction(Function &F) { in runOnFunction() argument
185 ConstantInt *BoolTrue = ConstantInt::getTrue(F.getContext()); in runOnFunction()
187 DummyReturnBB = BasicBlock::Create(F.getContext(), in runOnFunction()
188 "DummyReturnBlock", &F); in runOnFunction()
189 Type *RetTy = F.getReturnType(); in runOnFunction()
191 ReturnInst::Create(F.getContext(), RetVal, DummyReturnBB); in runOnFunction()
202 BasicBlock *TransitionBB = BasicBlock::Create(F.getContext(), in runOnFunction()
203 "TransitionBlock", &F); in runOnFunction()
221 UnreachableBlock = BasicBlock::Create(F.getContext(), in runOnFunction()
222 "UnifiedUnreachableBlock", &F); in runOnFunction()
223 new UnreachableInst(F.getContext(), UnreachableBlock); in runOnFunction()
236 Type *RetTy = F.getReturnType(); in runOnFunction()
242 Intrinsic::getDeclaration(F.getParent(), Intrinsic::amdgcn_unreachable); in runOnFunction()
251 ReturnInst::Create(F.getContext(), RetVal, UnreachableBlock); in runOnFunction()
264 = getAnalysis<TargetTransformInfoWrapperPass>().getTTI(F); in runOnFunction()
266 unifyReturnBlockSet(F, ReturningBlocks, TTI, "UnifiedReturnBlock"); in runOnFunction()