Home
last modified time | relevance | path

Searched refs:UMulFunc (Results 1 – 1 of 1) sorted by relevance

/llvm-project-15.0.7/llvm/lib/Target/SPIRV/
H A DSPIRVPrepareFunctions.cpp204 static void buildUMulWithOverflowFunc(Module *M, Function *UMulFunc) { in buildUMulWithOverflowFunc() argument
206 if (!UMulFunc->empty()) in buildUMulWithOverflowFunc()
209 BasicBlock *EntryBB = BasicBlock::Create(M->getContext(), "entry", UMulFunc); in buildUMulWithOverflowFunc()
215 Value *Mul = IRB.CreateNUWMul(UMulFunc->getArg(0), UMulFunc->getArg(1)); in buildUMulWithOverflowFunc()
216 Value *Div = IRB.CreateUDiv(Mul, UMulFunc->getArg(0)); in buildUMulWithOverflowFunc()
217 Value *Overflow = IRB.CreateICmpNE(UMulFunc->getArg(0), Div); in buildUMulWithOverflowFunc()
221 Type *StructTy = UMulFunc->getReturnType(); in buildUMulWithOverflowFunc()
234 Function *UMulFunc = in lowerUMulWithOverflow() local
236 buildUMulWithOverflowFunc(M, UMulFunc); in lowerUMulWithOverflow()
237 UMulIntrinsic->setCalledFunction(UMulFunc); in lowerUMulWithOverflow()