Lines Matching refs:Builder

331     llvm::IRBuilder<> Builder(Begin);
332 Builder.CreateRetVoid();
379 llvm::IRBuilder<> Builder(Begin);
380 Builder.CreateRetVoid();
395 /// @param Builder The builder to use to build this loop. The current
402 llvm::BasicBlock *createLoop(llvm::IRBuilder<> &Builder,
411 CondBB = Builder.GetInsertBlock();
412 AfterBB = llvm::SplitBlock(CondBB, &*Builder.GetInsertPoint(), nullptr, nullptr);
416 Builder.SetInsertPoint(CondBB);
420 IVVar = Builder.CreateAlloca(LowerBound->getType(), nullptr, BCC_INDEX_VAR_NAME);
421 Builder.CreateStore(LowerBound, IVVar);
427 Cond = Builder.CreateICmpULT(LowerBound, UpperBound);
428 Builder.CreateCondBr(Cond, HeaderBB, AfterBB);
440 Builder.SetInsertPoint(HeaderBB);
441 IV = Builder.CreateLoad(IVVar, "X");
442 IVNext = Builder.CreateNUWAdd(IV, Builder.getInt32(1));
443 Builder.CreateStore(IVNext, IVVar);
444 Cond = Builder.CreateICmpULT(IVNext, UpperBound);
445 Builder.CreateCondBr(Cond, HeaderBB, AfterBB);
447 Builder.SetInsertPoint(llvm::cast<llvm::Instruction>(IVNext));
463 // Builder - for inserting code into the caller function
547 llvm::IRBuilder<> &Builder,
572 auto OldInsertionPoint = Builder.saveIP();
573 Builder.SetInsertPoint(LoopHeaderInsertionPoint);
578 llvm::Value *YAddr = Builder.CreateInBoundsGEP(Arg_p, YValueGEP, "Y.gep");
579 CalleeArgs.push_back(Builder.CreateLoad(YAddr, "Y"));
586 llvm::Value *ZAddr = Builder.CreateInBoundsGEP(Arg_p, ZValueGEP, "Z.gep");
587 CalleeArgs.push_back(Builder.CreateLoad(ZAddr, "Z"));
591 Builder.restoreIP(OldInsertionPoint);
615 void ExpandInputsLoopInvariant(llvm::IRBuilder<> &Builder, llvm::BasicBlock *LoopHeader,
627 auto OldInsertionPoint = Builder.saveIP();
628 Builder.SetInsertPoint(LoopHeader->getTerminator());
645 InStructTempSlots.push_back(Builder.CreateAlloca(ElementType, nullptr,
654 llvm::Value *InBufPtrAddr = Builder.CreateInBoundsGEP(Arg_p, InBufPtrGEP, "input_buf.gep");
655 llvm::LoadInst *InBufPtr = Builder.CreateLoad(InBufPtrAddr, "input_buf");
659 CastInBufPtr = Builder.CreatePointerCast(InBufPtr, InType, "casted_in");
678 Builder.restoreIP(OldInsertionPoint);
697 void ExpandInputsBody(llvm::IRBuilder<> &Builder,
706 llvm::Value *Offset = Builder.CreateSub(IndVar, Arg_x1);
713 InPtr = Builder.CreateInBoundsGEP(InBufPtrs[Index], Offset);
721 llvm::Value *OffsetInBytes = Builder.CreateMul(Offset, llvm::ConstantInt::get(Int32Ty, InStep));
722 InPtr = Builder.CreateInBoundsGEP(InBufPtrs[Index], OffsetInBytes);
723 InPtr = Builder.CreatePointerCast(InPtr, InTy);
727 llvm::LoadInst *InputLoad = Builder.CreateLoad(InPtr, "input");
740 Builder.CreateStore(InputLoad, TemporarySlot);
794 llvm::IRBuilder<> Builder(&*ExpandedFunction->getEntryBlock().begin());
804 llvm::LoadInst *InStepArg = Builder.CreateLoad(
805 Builder.CreateInBoundsGEP(Arg_p, InStepGEP, "instep_addr.gep"), "instep_addr");
813 InBufPtr = Builder.CreateLoad(
814 Builder.CreateInBoundsGEP(Arg_p, InputAddrGEP, "input_buf.gep"), "input_buf");
824 OutBasePtr = Builder.CreateLoad(Builder.CreateInBoundsGEP(Arg_p, OutBaseGEP, "out_buf.gep"));
830 llvm::Value *UsrDataPointerAddr = Builder.CreateStructGEP(nullptr, Arg_p, RsExpandKernelDriverInfoPfxFieldUsr);
831 UsrData = Builder.CreatePointerCast(Builder.CreateLoad(UsrDataPointerAddr), UsrDataTy);
835 llvm::BasicBlock *LoopHeader = Builder.GetInsertBlock();
837 createLoop(Builder, Arg_x1, Arg_x2, &IV);
840 const int CalleeArgsContextIdx = ExpandSpecialArguments(Signature, IV, Arg_p, Builder, CalleeArgs,
861 llvm::Value *OutOffset = Builder.CreateSub(IV, Arg_x1);
862 OutOffset = Builder.CreateMul(OutOffset, OutStep);
863 OutPtr = Builder.CreateInBoundsGEP(OutBasePtr, OutOffset);
864 OutPtr = Builder.CreatePointerCast(OutPtr, OutTy);
868 llvm::Value *InOffset = Builder.CreateSub(IV, Arg_x1);
869 InOffset = Builder.CreateMul(InOffset, InStep);
870 InPtr = Builder.CreateInBoundsGEP(InBufPtr, InOffset);
871 InPtr = Builder.CreatePointerCast(InPtr, InTy);
886 finishArgList(RootArgs, CalleeArgs, CalleeArgsContextIdx, *Function, Builder);
888 Builder.CreateCall(Function, RootArgs);
925 llvm::IRBuilder<> Builder(&*ExpandedFunction->getEntryBlock().begin());
979 OutBasePtr = Builder.CreateLoad(Builder.CreateInBoundsGEP(Arg_p, OutBaseGEP, "out_buf.gep"));
986 CastedOutBasePtr = Builder.CreatePointerCast(OutBasePtr, OutTy, "casted_out");
1005 llvm::BasicBlock *LoopHeader = Builder.GetInsertBlock();
1007 createLoop(Builder, Arg_x1, Arg_x2, &IV);
1011 ExpandSpecialArguments(Signature, IV, Arg_p, Builder, CalleeArgs,
1022 ExpandInputsLoopInvariant(Builder, LoopHeader, Arg_p, TBAAPointer, ArgIter, NumInPtrArguments,
1035 llvm::Value *OutOffset = Builder.CreateSub(IV, Arg_x1);
1038 OutPtr = Builder.CreateInBoundsGEP(CastedOutBasePtr, OutOffset);
1044 llvm::Value *OutOffsetInBytes = Builder.CreateMul(OutOffset, llvm::ConstantInt::get(Int32Ty, OutStep));
1045 OutPtr = Builder.CreateInBoundsGEP(CastedOutBasePtr, OutOffsetInBytes);
1046 OutPtr = Builder.CreatePointerCast(OutPtr, OutTy);
1057 ExpandInputsBody(Builder, Arg_x1, TBAAAllocation, NumInPtrArguments,
1061 finishArgList(RootArgs, CalleeArgs, CalleeArgsContextIdx, *Function, Builder);
1063 llvm::Value *RetVal = Builder.CreateCall(Function, RootArgs);
1067 llvm::StoreInst *Store = Builder.CreateStore(RetVal, OutPtr);
1160 llvm::IRBuilder<> Builder(&*FnExpandedAccumulator->getEntryBlock().begin());
1163 llvm::BasicBlock *LoopHeader = Builder.GetInsertBlock();
1165 createLoop(Builder, Arg_x1, Arg_x2, &IndVar);
1169 ExpandSpecialArguments(Signature, IndVar, Arg_p, Builder, CalleeArgs,
1175 ExpandInputsLoopInvariant(Builder, LoopHeader, Arg_p, TBAAPointer, AccumulatorArgIter, NumInputs,
1181 ExpandInputsBody(Builder, Arg_x1, TBAAAllocation, NumInputs, InTypes, InBufPtrs, InStructTempSlots,
1183 finishArgList(RootArgs, CalleeArgs, CalleeArgsContextIdx, *FnAccumulator, Builder);
1184 Builder.CreateCall(FnAccumulator, RootArgs);
1236 llvm::IRBuilder<> Builder(BB);
1244 llvm::Value *TempMem = Builder.CreateAlloca(ElementType, nullptr, "caller_copy");
1245 Builder.CreateStore(Builder.CreateLoad(CombinerArg_other), TempMem);
1246 Builder.CreateCall(FnAccumulator, { CombinerArg_accum, TempMem });
1251 TypeAdjustedOther = Builder.CreatePointerCast(CombinerArg_other,
1255 llvm::Value *DerefOther = Builder.CreateLoad(TypeAdjustedOther);
1256 Builder.CreateCall(FnAccumulator, { CombinerArg_accum, DerefOther });
1258 Builder.CreateRetVoid();