Lines Matching full:builder

36   auto &Builder = CGF->Builder;  in emitRVVVLEFFBuiltin()  local
54 llvm::Value *LoadValue = Builder.CreateCall(F, Ops, ""); in emitRVVVLEFFBuiltin()
55 llvm::Value *V = Builder.CreateExtractValue(LoadValue, {0}); in emitRVVVLEFFBuiltin()
63 llvm::Value *Val = Builder.CreateExtractValue(LoadValue, {1}); in emitRVVVLEFFBuiltin()
64 Builder.CreateStore(Val, Address(NewVL, Val->getType(), Align)); in emitRVVVLEFFBuiltin()
73 auto &Builder = CGF->Builder; in emitRVVVSSEBuiltin() local
89 return Builder.CreateCall(F, Ops, ""); in emitRVVVSSEBuiltin()
96 auto &Builder = CGF->Builder; in emitRVVIndexedStoreBuiltin() local
115 return Builder.CreateCall(F, Ops, ""); in emitRVVIndexedStoreBuiltin()
123 auto &Builder = CGF->Builder; in emitRVVPseudoUnaryBuiltin() local
145 return Builder.CreateCall(F, Ops, ""); in emitRVVPseudoUnaryBuiltin()
153 auto &Builder = CGF->Builder; in emitRVVPseudoVNotBuiltin() local
175 return Builder.CreateCall(F, Ops, ""); in emitRVVPseudoVNotBuiltin()
183 auto &Builder = CGF->Builder; in emitRVVPseudoMaskBuiltin() local
190 return Builder.CreateCall(F, Ops, ""); in emitRVVPseudoMaskBuiltin()
197 auto &Builder = CGF->Builder; in emitRVVPseudoVFUnaryBuiltin() local
216 return Builder.CreateCall(F, Ops, ""); in emitRVVPseudoVFUnaryBuiltin()
224 auto &Builder = CGF->Builder; in emitRVVPseudoVWCVTBuiltin() local
246 return Builder.CreateCall(F, Ops, ""); in emitRVVPseudoVWCVTBuiltin()
254 auto &Builder = CGF->Builder; in emitRVVPseudoVNCVTBuiltin() local
278 return Builder.CreateCall(F, Ops, ""); in emitRVVPseudoVNCVTBuiltin()
286 auto &Builder = CGF->Builder; in emitRVVVlenbBuiltin() local
295 return Builder.CreateCall(F, Metadata); in emitRVVVlenbBuiltin()
303 auto &Builder = CGF->Builder; in emitRVVVsetvliBuiltin() local
306 return Builder.CreateCall(F, Ops, ""); in emitRVVVsetvliBuiltin()
314 auto &Builder = CGF->Builder; in emitRVVVSEMaskBuiltin() local
331 return Builder.CreateCall(F, Ops, ""); in emitRVVVSEMaskBuiltin()
338 auto &Builder = CGF->Builder; in emitRVVUnitStridedSegLoadTupleBuiltin() local
359 llvm::Value *LoadValue = Builder.CreateCall(F, Ops, ""); in emitRVVUnitStridedSegLoadTupleBuiltin()
362 return Builder.CreateStore(LoadValue, ReturnValue.getValue()); in emitRVVUnitStridedSegLoadTupleBuiltin()
369 auto &Builder = CGF->Builder; in emitRVVUnitStridedSegStoreTupleBuiltin() local
389 return Builder.CreateCall(F, Ops, ""); in emitRVVUnitStridedSegStoreTupleBuiltin()
396 auto &Builder = CGF->Builder; in emitRVVUnitStridedSegLoadFFTupleBuiltin() local
419 llvm::Value *LoadValue = Builder.CreateCall(F, Ops, ""); in emitRVVUnitStridedSegLoadFFTupleBuiltin()
423 llvm::Value *ReturnTuple = Builder.CreateExtractValue(LoadValue, 0); in emitRVVUnitStridedSegLoadFFTupleBuiltin()
425 llvm::Value *V = Builder.CreateExtractValue(LoadValue, 1); in emitRVVUnitStridedSegLoadFFTupleBuiltin()
426 Builder.CreateStore(V, Address(NewVL, V->getType(), Align)); in emitRVVUnitStridedSegLoadFFTupleBuiltin()
429 return Builder.CreateStore(ReturnTuple, ReturnValue.getValue()); in emitRVVUnitStridedSegLoadFFTupleBuiltin()
436 auto &Builder = CGF->Builder; in emitRVVStridedSegLoadTupleBuiltin() local
457 llvm::Value *LoadValue = Builder.CreateCall(F, Ops, ""); in emitRVVStridedSegLoadTupleBuiltin()
460 return Builder.CreateStore(LoadValue, ReturnValue.getValue()); in emitRVVStridedSegLoadTupleBuiltin()
467 auto &Builder = CGF->Builder; in emitRVVStridedSegStoreTupleBuiltin() local
487 return Builder.CreateCall(F, Ops, ""); in emitRVVStridedSegStoreTupleBuiltin()
495 auto &Builder = CGF->Builder; in emitRVVAveragingBuiltin() local
518 return Builder.CreateCall(F, Ops, ""); in emitRVVAveragingBuiltin()
525 auto &Builder = CGF->Builder; in emitRVVNarrowingClipBuiltin() local
549 return Builder.CreateCall(F, Ops, ""); in emitRVVNarrowingClipBuiltin()
556 auto &Builder = CGF->Builder; in emitRVVFloatingPointBuiltin() local
585 return Builder.CreateCall(F, Ops, ""); in emitRVVFloatingPointBuiltin()
592 auto &Builder = CGF->Builder; in emitRVVWideningFloatingPointBuiltin() local
622 return Builder.CreateCall(F, Ops, ""); in emitRVVWideningFloatingPointBuiltin()
629 auto &Builder = CGF->Builder; in emitRVVIndexedSegLoadTupleBuiltin() local
653 llvm::Value *LoadValue = Builder.CreateCall(F, Ops, ""); in emitRVVIndexedSegLoadTupleBuiltin()
657 return Builder.CreateStore(LoadValue, ReturnValue.getValue()); in emitRVVIndexedSegLoadTupleBuiltin()
664 auto &Builder = CGF->Builder; in emitRVVIndexedSegStoreTupleBuiltin() local
688 return Builder.CreateCall(F, Ops, ""); in emitRVVIndexedSegStoreTupleBuiltin()
696 auto &Builder = CGF->Builder; in emitRVVFMABuiltin() local
718 return Builder.CreateCall(F, Ops, ""); in emitRVVFMABuiltin()
726 auto &Builder = CGF->Builder; in emitRVVWideningFMABuiltin() local
748 return Builder.CreateCall(F, Ops, ""); in emitRVVWideningFMABuiltin()
755 auto &Builder = CGF->Builder; in emitRVVFloatingUnaryBuiltin() local
784 return Builder.CreateCall(F, Ops, ""); in emitRVVFloatingUnaryBuiltin()
791 auto &Builder = CGF->Builder; in emitRVVFloatingConvBuiltin() local
819 return Builder.CreateCall(F, Ops, ""); in emitRVVFloatingConvBuiltin()
826 auto &Builder = CGF->Builder; in emitRVVFloatingReductionBuiltin() local
852 return Builder.CreateCall(F, Ops, ""); in emitRVVFloatingReductionBuiltin()
860 auto &Builder = CGF->Builder; in emitRVVReinterpretBuiltin() local
877 llvm::Value *BitCast = Builder.CreateBitCast(Ops[0], Boolean64Ty); in emitRVVReinterpretBuiltin()
878 return Builder.CreateExtractVector(ResultType, BitCast, in emitRVVReinterpretBuiltin()
885 llvm::Value *Boolean64Val = Builder.CreateInsertVector( in emitRVVReinterpretBuiltin()
888 return Builder.CreateBitCast(Boolean64Val, ResultType); in emitRVVReinterpretBuiltin()
891 return Builder.CreateBitCast(Ops[0], ResultType); in emitRVVReinterpretBuiltin()
899 auto &Builder = CGF->Builder; in emitRVVGetBuiltin() local
906 Ops[1] = Builder.CreateZExt(Ops[1], Builder.getInt64Ty()); in emitRVVGetBuiltin()
907 Ops[1] = Builder.CreateAnd(Ops[1], MaxIndex - 1); in emitRVVGetBuiltin()
909 Builder.CreateMul(Ops[1], ConstantInt::get(Ops[1]->getType(), in emitRVVGetBuiltin()
911 return Builder.CreateExtractVector(ResultType, Ops[0], Ops[1]); in emitRVVGetBuiltin()
914 return Builder.CreateIntrinsic( in emitRVVGetBuiltin()
916 {Ops[0], Builder.CreateTrunc(Ops[1], Builder.getInt32Ty())}); in emitRVVGetBuiltin()
924 auto &Builder = CGF->Builder; in emitRVVSetBuiltin() local
931 Ops[1] = Builder.CreateZExt(Ops[1], Builder.getInt64Ty()); in emitRVVSetBuiltin()
932 Ops[1] = Builder.CreateAnd(Ops[1], MaxIndex - 1); in emitRVVSetBuiltin()
934 Builder.CreateMul(Ops[1], ConstantInt::get(Ops[1]->getType(), in emitRVVSetBuiltin()
936 return Builder.CreateInsertVector(ResultType, Ops[0], Ops[2], Ops[1]); in emitRVVSetBuiltin()
939 return Builder.CreateIntrinsic( in emitRVVSetBuiltin()
941 {Ops[0], Ops[2], Builder.CreateTrunc(Ops[1], Builder.getInt32Ty())}); in emitRVVSetBuiltin()
949 auto &Builder = CGF->Builder; in emitRVVCreateBuiltin() local
954 llvm::Value *Idx = ConstantInt::get(Builder.getInt64Ty(), in emitRVVCreateBuiltin()
957 Builder.CreateInsertVector(ResultType, ReturnVector, Ops[I], Idx); in emitRVVCreateBuiltin()
959 llvm::Value *Idx = ConstantInt::get(Builder.getInt32Ty(), I); in emitRVVCreateBuiltin()
960 ReturnVector = Builder.CreateIntrinsic(Intrinsic::riscv_tuple_insert, in emitRVVCreateBuiltin()
975 return Builder.CreateCall(Func, {llvm::ConstantPointerNull::get(VoidPtrTy)}); in EmitRISCVCpuInit()
983 return Builder.getFalse(); in EmitRISCVCpuSupports()
988 static Value *loadRISCVFeatureBits(unsigned Index, CGBuilderTy &Builder, in loadRISCVFeatureBits() argument
990 llvm::Type *Int32Ty = Builder.getInt32Ty(); in loadRISCVFeatureBits()
991 llvm::Type *Int64Ty = Builder.getInt64Ty(); in loadRISCVFeatureBits()
999 llvm::Value *GEPIndices[] = {Builder.getInt32(0), Builder.getInt32(1), in loadRISCVFeatureBits()
1002 Builder.CreateInBoundsGEP(StructTy, RISCVFeaturesBits, GEPIndices); in loadRISCVFeatureBits()
1004 Builder.CreateAlignedLoad(Int64Ty, Ptr, CharUnits::fromQuantity(8)); in loadRISCVFeatureBits()
1018 return Builder.getFalse(); in EmitRISCVCpuSupports()
1028 Value *Mask = Builder.getInt64(RequireBitMasks[Idx]); in EmitRISCVCpuSupports()
1030 Builder.CreateAnd(loadRISCVFeatureBits(Idx, Builder, CGM), Mask); in EmitRISCVCpuSupports()
1031 Value *CmpV = Builder.CreateICmpEQ(Bitset, Mask); in EmitRISCVCpuSupports()
1032 Result = (!Result) ? CmpV : Builder.CreateAnd(Result, CmpV); in EmitRISCVCpuSupports()
1047 llvm::Type *Int32Ty = Builder.getInt32Ty(); in EmitRISCVCpuIs()
1048 llvm::Type *Int64Ty = Builder.getInt64Ty(); in EmitRISCVCpuIs()
1055 Value *Ptr = Builder.CreateStructGEP(StructTy, RISCVCPUModel, Index); in EmitRISCVCpuIs()
1056 Value *CPUID = Builder.CreateAlignedLoad(StructTy->getTypeAtIndex(Index), in EmitRISCVCpuIs()
1066 Builder.CreateICmpEQ(VendorID, Builder.getInt32(Model.MVendorID)); in EmitRISCVCpuIs()
1070 Result = Builder.CreateAnd( in EmitRISCVCpuIs()
1071 Result, Builder.CreateICmpEQ(ArchID, Builder.getInt64(Model.MArchID))); in EmitRISCVCpuIs()
1075 Result = Builder.CreateAnd( in EmitRISCVCpuIs()
1076 Result, Builder.CreateICmpEQ(ImpID, Builder.getInt64(Model.MImpID))); in EmitRISCVCpuIs()
1120 llvm::Value *AggValue = Builder.CreateLoad(L.getAddress()); in EmitRISCVBuiltinExpr()
1237 Value *Result = Builder.CreateCall(F, {Ops[0], Builder.getInt1(false)}); in EmitRISCVBuiltinExpr()
1240 Builder.CreateIntCast(Result, ResultType, /*isSigned*/ false, "cast"); in EmitRISCVBuiltinExpr()
1246 Value *Result = Builder.CreateCall(F, {Ops[0], Builder.getInt1(false)}); in EmitRISCVBuiltinExpr()
1249 Builder.CreateIntCast(Result, ResultType, /*isSigned*/ false, "cast"); in EmitRISCVBuiltinExpr()
1262 llvm::ConstantAsMetadata::get(Builder.getInt32(DomainVal))); in EmitRISCVBuiltinExpr()
1264 getLLVMContext(), llvm::ConstantAsMetadata::get(Builder.getInt32(1))); in EmitRISCVBuiltinExpr()
1274 LoadInst *Load = Builder.CreateLoad( in EmitRISCVBuiltinExpr()
1290 llvm::ConstantAsMetadata::get(Builder.getInt32(DomainVal))); in EmitRISCVBuiltinExpr()
1292 getLLVMContext(), llvm::ConstantAsMetadata::get(Builder.getInt32(1))); in EmitRISCVBuiltinExpr()
1294 StoreInst *Store = Builder.CreateDefaultAlignedStore(Ops[1], Ops[0]); in EmitRISCVBuiltinExpr()
1304 return Builder.CreateCall(Fn, {}); in EmitRISCVBuiltinExpr()
1327 return Builder.CreateSExt(Builder.CreateTrunc(Ops[0], Int8Ty), Int32Ty, in EmitRISCVBuiltinExpr()
1330 return Builder.CreateZExt(Builder.CreateTrunc(Ops[0], Int8Ty), Int32Ty, in EmitRISCVBuiltinExpr()
1333 return Builder.CreateSExt(Builder.CreateTrunc(Ops[0], Int16Ty), Int32Ty, in EmitRISCVBuiltinExpr()
1336 return Builder.CreateZExt(Builder.CreateTrunc(Ops[0], Int16Ty), Int32Ty, in EmitRISCVBuiltinExpr()
1339 return Builder.CreateZExt(Builder.CreateICmpSLE(Ops[0], Ops[1]), Int32Ty, in EmitRISCVBuiltinExpr()
1342 return Builder.CreateZExt(Builder.CreateICmpULE(Ops[0], Ops[1]), Int32Ty, in EmitRISCVBuiltinExpr()
1370 return Builder.CreateCall(F, Ops, ""); in EmitRISCVBuiltinExpr()