Lines Matching refs:IRB
160 IRBuilder<> IRB(RotateBB); in lowerFunnelShifts() local
168 ConstantInt *BitWidthConstant = IRB.getInt({BitWidth, BitWidth}); in lowerFunnelShifts()
171 ? IRB.CreateVectorSplat(VectorTy->getNumElements(), BitWidthConstant) in lowerFunnelShifts()
174 IRB.CreateURem(/*Rotate*/ FSHFunc->getArg(2), BitWidthForInsts); in lowerFunnelShifts()
179 FirstShift = IRB.CreateLShr(FSHFunc->getArg(1), RotateModVal); in lowerFunnelShifts()
183 FirstShift = IRB.CreateShl(FSHFunc->getArg(0), RotateModVal); in lowerFunnelShifts()
188 Value *SubRotateVal = IRB.CreateSub(BitWidthForInsts, RotateModVal); in lowerFunnelShifts()
192 SecShift = IRB.CreateShl(FSHFunc->getArg(0), SubRotateVal); in lowerFunnelShifts()
196 SecShift = IRB.CreateLShr(FSHFunc->getArg(1), SubRotateVal); in lowerFunnelShifts()
199 IRB.CreateRet(IRB.CreateOr(FirstShift, SecShift)); in lowerFunnelShifts()
210 IRBuilder<> IRB(EntryBB); in buildUMulWithOverflowFunc() local
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()
222 Value *Agg = IRB.CreateInsertValue(UndefValue::get(StructTy), Mul, {0}); in buildUMulWithOverflowFunc()
223 Value *Res = IRB.CreateInsertValue(Agg, Overflow, {1}); in buildUMulWithOverflowFunc()
224 IRB.CreateRet(Res); in buildUMulWithOverflowFunc()