Lines Matching refs:builder

374 mlir::Value genSpecial2Args(FN func, fir::FirOpBuilder &builder,  in genSpecial2Args()  argument
378 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genSpecial2Args()
380 fir::factory::locationToLineNo(builder, loc, fTy.getInput(2)); in genSpecial2Args()
381 auto args = fir::runtime::createArguments(builder, loc, fTy, maskBox, in genSpecial2Args()
383 return builder.create<fir::CallOp>(loc, func, args).getResult(0); in genSpecial2Args()
390 static void genReduction2Args(FN func, fir::FirOpBuilder &builder, in genReduction2Args() argument
394 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genReduction2Args()
396 fir::factory::locationToLineNo(builder, loc, fTy.getInput(4)); in genReduction2Args()
398 builder, loc, fTy, resultBox, maskBox, dim, sourceFile, sourceLine); in genReduction2Args()
399 builder.create<fir::CallOp>(loc, func, args); in genReduction2Args()
405 static void genReduction3Args(FN func, fir::FirOpBuilder &builder, in genReduction3Args() argument
411 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genReduction3Args()
413 fir::factory::locationToLineNo(builder, loc, fTy.getInput(4)); in genReduction3Args()
415 fir::runtime::createArguments(builder, loc, fTy, resultBox, arrayBox, dim, in genReduction3Args()
417 builder.create<fir::CallOp>(loc, func, args); in genReduction3Args()
423 static void genReduction4Args(FN func, fir::FirOpBuilder &builder, in genReduction4Args() argument
428 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genReduction4Args()
430 fir::factory::locationToLineNo(builder, loc, fTy.getInput(4)); in genReduction4Args()
431 auto args = fir::runtime::createArguments(builder, loc, fTy, resultBox, in genReduction4Args()
434 builder.create<fir::CallOp>(loc, func, args); in genReduction4Args()
441 genReduction5Args(FN func, fir::FirOpBuilder &builder, mlir::Location loc, in genReduction5Args() argument
445 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genReduction5Args()
447 fir::factory::locationToLineNo(builder, loc, fTy.getInput(5)); in genReduction5Args()
448 auto args = fir::runtime::createArguments(builder, loc, fTy, resultBox, in genReduction5Args()
451 builder.create<fir::CallOp>(loc, func, args); in genReduction5Args()
457 void fir::runtime::genAllDescriptor(fir::FirOpBuilder &builder, in genAllDescriptor() argument
460 auto allFunc = fir::runtime::getRuntimeFunc<mkRTKey(AllDim)>(loc, builder); in genAllDescriptor()
461 genReduction2Args(allFunc, builder, loc, resultBox, maskBox, dim); in genAllDescriptor()
467 void fir::runtime::genAnyDescriptor(fir::FirOpBuilder &builder, in genAnyDescriptor() argument
470 auto anyFunc = fir::runtime::getRuntimeFunc<mkRTKey(AnyDim)>(loc, builder); in genAnyDescriptor()
471 genReduction2Args(anyFunc, builder, loc, resultBox, maskBox, dim); in genAnyDescriptor()
476 mlir::Value fir::runtime::genAll(fir::FirOpBuilder &builder, mlir::Location loc, in genAll() argument
478 auto allFunc = fir::runtime::getRuntimeFunc<mkRTKey(All)>(loc, builder); in genAll()
479 return genSpecial2Args(allFunc, builder, loc, maskBox, dim); in genAll()
484 mlir::Value fir::runtime::genAny(fir::FirOpBuilder &builder, mlir::Location loc, in genAny() argument
486 auto anyFunc = fir::runtime::getRuntimeFunc<mkRTKey(Any)>(loc, builder); in genAny()
487 return genSpecial2Args(anyFunc, builder, loc, maskBox, dim); in genAny()
493 mlir::Value fir::runtime::genCount(fir::FirOpBuilder &builder, in genCount() argument
496 auto countFunc = fir::runtime::getRuntimeFunc<mkRTKey(Count)>(loc, builder); in genCount()
497 return genSpecial2Args(countFunc, builder, loc, maskBox, dim); in genCount()
502 void fir::runtime::genCountDim(fir::FirOpBuilder &builder, mlir::Location loc, in genCountDim() argument
505 auto func = fir::runtime::getRuntimeFunc<mkRTKey(CountDim)>(loc, builder); in genCountDim()
507 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genCountDim()
509 fir::factory::locationToLineNo(builder, loc, fTy.getInput(5)); in genCountDim()
511 builder, loc, fTy, resultBox, maskBox, dim, kind, sourceFile, sourceLine); in genCountDim()
512 builder.create<fir::CallOp>(loc, func, args); in genCountDim()
517 void fir::runtime::genMaxloc(fir::FirOpBuilder &builder, mlir::Location loc, in genMaxloc() argument
521 auto func = fir::runtime::getRuntimeFunc<mkRTKey(Maxloc)>(loc, builder); in genMaxloc()
522 genReduction4Args(func, builder, loc, resultBox, arrayBox, maskBox, kind, in genMaxloc()
528 void fir::runtime::genMaxlocDim(fir::FirOpBuilder &builder, mlir::Location loc, in genMaxlocDim() argument
532 auto func = fir::runtime::getRuntimeFunc<mkRTKey(MaxlocDim)>(loc, builder); in genMaxlocDim()
533 genReduction5Args(func, builder, loc, resultBox, arrayBox, dim, maskBox, kind, in genMaxlocDim()
539 mlir::Value fir::runtime::genMaxval(fir::FirOpBuilder &builder, in genMaxval() argument
546 auto dim = builder.createIntegerConstant(loc, builder.getIndexType(), 0); in genMaxval()
551 func = fir::runtime::getRuntimeFunc<mkRTKey(MaxvalReal4)>(loc, builder); in genMaxval()
553 func = fir::runtime::getRuntimeFunc<mkRTKey(MaxvalReal8)>(loc, builder); in genMaxval()
555 func = fir::runtime::getRuntimeFunc<ForcedMaxvalReal10>(loc, builder); in genMaxval()
557 func = fir::runtime::getRuntimeFunc<ForcedMaxvalReal16>(loc, builder); in genMaxval()
558 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(1))) in genMaxval()
559 func = fir::runtime::getRuntimeFunc<mkRTKey(MaxvalInteger1)>(loc, builder); in genMaxval()
560 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(2))) in genMaxval()
561 func = fir::runtime::getRuntimeFunc<mkRTKey(MaxvalInteger2)>(loc, builder); in genMaxval()
562 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(4))) in genMaxval()
563 func = fir::runtime::getRuntimeFunc<mkRTKey(MaxvalInteger4)>(loc, builder); in genMaxval()
564 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(8))) in genMaxval()
565 func = fir::runtime::getRuntimeFunc<mkRTKey(MaxvalInteger8)>(loc, builder); in genMaxval()
566 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(16))) in genMaxval()
567 func = fir::runtime::getRuntimeFunc<ForcedMaxvalInteger16>(loc, builder); in genMaxval()
572 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genMaxval()
574 fir::factory::locationToLineNo(builder, loc, fTy.getInput(2)); in genMaxval()
576 builder, loc, fTy, arrayBox, sourceFile, sourceLine, dim, maskBox); in genMaxval()
578 return builder.create<fir::CallOp>(loc, func, args).getResult(0); in genMaxval()
583 void fir::runtime::genMaxvalDim(fir::FirOpBuilder &builder, mlir::Location loc, in genMaxvalDim() argument
586 auto func = fir::runtime::getRuntimeFunc<mkRTKey(MaxvalDim)>(loc, builder); in genMaxvalDim()
587 genReduction3Args(func, builder, loc, resultBox, arrayBox, dim, maskBox); in genMaxvalDim()
592 void fir::runtime::genMaxvalChar(fir::FirOpBuilder &builder, mlir::Location loc, in genMaxvalChar() argument
596 fir::runtime::getRuntimeFunc<mkRTKey(MaxvalCharacter)>(loc, builder); in genMaxvalChar()
598 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genMaxvalChar()
600 fir::factory::locationToLineNo(builder, loc, fTy.getInput(3)); in genMaxvalChar()
602 builder, loc, fTy, resultBox, arrayBox, sourceFile, sourceLine, maskBox); in genMaxvalChar()
603 builder.create<fir::CallOp>(loc, func, args); in genMaxvalChar()
608 void fir::runtime::genMinloc(fir::FirOpBuilder &builder, mlir::Location loc, in genMinloc() argument
612 auto func = fir::runtime::getRuntimeFunc<mkRTKey(Minloc)>(loc, builder); in genMinloc()
613 genReduction4Args(func, builder, loc, resultBox, arrayBox, maskBox, kind, in genMinloc()
619 void fir::runtime::genMinlocDim(fir::FirOpBuilder &builder, mlir::Location loc, in genMinlocDim() argument
623 auto func = fir::runtime::getRuntimeFunc<mkRTKey(MinlocDim)>(loc, builder); in genMinlocDim()
624 genReduction5Args(func, builder, loc, resultBox, arrayBox, dim, maskBox, kind, in genMinlocDim()
630 void fir::runtime::genMinvalDim(fir::FirOpBuilder &builder, mlir::Location loc, in genMinvalDim() argument
633 auto func = fir::runtime::getRuntimeFunc<mkRTKey(MinvalDim)>(loc, builder); in genMinvalDim()
634 genReduction3Args(func, builder, loc, resultBox, arrayBox, dim, maskBox); in genMinvalDim()
639 void fir::runtime::genMinvalChar(fir::FirOpBuilder &builder, mlir::Location loc, in genMinvalChar() argument
643 fir::runtime::getRuntimeFunc<mkRTKey(MinvalCharacter)>(loc, builder); in genMinvalChar()
645 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genMinvalChar()
647 fir::factory::locationToLineNo(builder, loc, fTy.getInput(3)); in genMinvalChar()
649 builder, loc, fTy, resultBox, arrayBox, sourceFile, sourceLine, maskBox); in genMinvalChar()
650 builder.create<fir::CallOp>(loc, func, args); in genMinvalChar()
655 mlir::Value fir::runtime::genMinval(fir::FirOpBuilder &builder, in genMinval() argument
662 auto dim = builder.createIntegerConstant(loc, builder.getIndexType(), 0); in genMinval()
667 func = fir::runtime::getRuntimeFunc<mkRTKey(MinvalReal4)>(loc, builder); in genMinval()
669 func = fir::runtime::getRuntimeFunc<mkRTKey(MinvalReal8)>(loc, builder); in genMinval()
671 func = fir::runtime::getRuntimeFunc<ForcedMinvalReal10>(loc, builder); in genMinval()
673 func = fir::runtime::getRuntimeFunc<ForcedMinvalReal16>(loc, builder); in genMinval()
674 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(1))) in genMinval()
675 func = fir::runtime::getRuntimeFunc<mkRTKey(MinvalInteger1)>(loc, builder); in genMinval()
676 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(2))) in genMinval()
677 func = fir::runtime::getRuntimeFunc<mkRTKey(MinvalInteger2)>(loc, builder); in genMinval()
678 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(4))) in genMinval()
679 func = fir::runtime::getRuntimeFunc<mkRTKey(MinvalInteger4)>(loc, builder); in genMinval()
680 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(8))) in genMinval()
681 func = fir::runtime::getRuntimeFunc<mkRTKey(MinvalInteger8)>(loc, builder); in genMinval()
682 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(16))) in genMinval()
683 func = fir::runtime::getRuntimeFunc<ForcedMinvalInteger16>(loc, builder); in genMinval()
688 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genMinval()
690 fir::factory::locationToLineNo(builder, loc, fTy.getInput(2)); in genMinval()
692 builder, loc, fTy, arrayBox, sourceFile, sourceLine, dim, maskBox); in genMinval()
694 return builder.create<fir::CallOp>(loc, func, args).getResult(0); in genMinval()
699 void fir::runtime::genProductDim(fir::FirOpBuilder &builder, mlir::Location loc, in genProductDim() argument
702 auto func = fir::runtime::getRuntimeFunc<mkRTKey(ProductDim)>(loc, builder); in genProductDim()
703 genReduction3Args(func, builder, loc, resultBox, arrayBox, dim, maskBox); in genProductDim()
708 mlir::Value fir::runtime::genProduct(fir::FirOpBuilder &builder, in genProduct() argument
716 auto dim = builder.createIntegerConstant(loc, builder.getIndexType(), 0); in genProduct()
721 func = fir::runtime::getRuntimeFunc<mkRTKey(ProductReal4)>(loc, builder); in genProduct()
723 func = fir::runtime::getRuntimeFunc<mkRTKey(ProductReal8)>(loc, builder); in genProduct()
725 func = fir::runtime::getRuntimeFunc<ForcedProductReal10>(loc, builder); in genProduct()
727 func = fir::runtime::getRuntimeFunc<ForcedProductReal16>(loc, builder); in genProduct()
728 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(1))) in genProduct()
729 func = fir::runtime::getRuntimeFunc<mkRTKey(ProductInteger1)>(loc, builder); in genProduct()
730 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(2))) in genProduct()
731 func = fir::runtime::getRuntimeFunc<mkRTKey(ProductInteger2)>(loc, builder); in genProduct()
732 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(4))) in genProduct()
733 func = fir::runtime::getRuntimeFunc<mkRTKey(ProductInteger4)>(loc, builder); in genProduct()
734 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(8))) in genProduct()
735 func = fir::runtime::getRuntimeFunc<mkRTKey(ProductInteger8)>(loc, builder); in genProduct()
736 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(16))) in genProduct()
737 func = fir::runtime::getRuntimeFunc<ForcedProductInteger16>(loc, builder); in genProduct()
738 else if (eleTy == fir::ComplexType::get(builder.getContext(), 4)) in genProduct()
740 fir::runtime::getRuntimeFunc<mkRTKey(CppProductComplex4)>(loc, builder); in genProduct()
741 else if (eleTy == fir::ComplexType::get(builder.getContext(), 8)) in genProduct()
743 fir::runtime::getRuntimeFunc<mkRTKey(CppProductComplex8)>(loc, builder); in genProduct()
744 else if (eleTy == fir::ComplexType::get(builder.getContext(), 10)) in genProduct()
745 func = fir::runtime::getRuntimeFunc<ForcedProductComplex10>(loc, builder); in genProduct()
746 else if (eleTy == fir::ComplexType::get(builder.getContext(), 16)) in genProduct()
747 func = fir::runtime::getRuntimeFunc<ForcedProductComplex16>(loc, builder); in genProduct()
748 else if (eleTy == fir::ComplexType::get(builder.getContext(), 2) || in genProduct()
749 eleTy == fir::ComplexType::get(builder.getContext(), 3)) in genProduct()
755 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genProduct()
758 fir::factory::locationToLineNo(builder, loc, fTy.getInput(3)); in genProduct()
760 fir::runtime::createArguments(builder, loc, fTy, resultBox, arrayBox, in genProduct()
762 builder.create<fir::CallOp>(loc, func, args); in genProduct()
767 fir::factory::locationToLineNo(builder, loc, fTy.getInput(2)); in genProduct()
769 builder, loc, fTy, arrayBox, sourceFile, sourceLine, dim, maskBox); in genProduct()
771 return builder.create<fir::CallOp>(loc, func, args).getResult(0); in genProduct()
775 mlir::Value fir::runtime::genDotProduct(fir::FirOpBuilder &builder, in genDotProduct() argument
788 func = fir::runtime::getRuntimeFunc<mkRTKey(DotProductReal4)>(loc, builder); in genDotProduct()
790 func = fir::runtime::getRuntimeFunc<mkRTKey(DotProductReal8)>(loc, builder); in genDotProduct()
792 func = fir::runtime::getRuntimeFunc<ForcedDotProductReal10>(loc, builder); in genDotProduct()
794 func = fir::runtime::getRuntimeFunc<ForcedDotProductReal16>(loc, builder); in genDotProduct()
795 else if (eleTy == fir::ComplexType::get(builder.getContext(), 4)) in genDotProduct()
797 loc, builder); in genDotProduct()
798 else if (eleTy == fir::ComplexType::get(builder.getContext(), 8)) in genDotProduct()
800 loc, builder); in genDotProduct()
801 else if (eleTy == fir::ComplexType::get(builder.getContext(), 10)) in genDotProduct()
803 fir::runtime::getRuntimeFunc<ForcedDotProductComplex10>(loc, builder); in genDotProduct()
804 else if (eleTy == fir::ComplexType::get(builder.getContext(), 16)) in genDotProduct()
806 fir::runtime::getRuntimeFunc<ForcedDotProductComplex16>(loc, builder); in genDotProduct()
807 else if (eleTy == fir::ComplexType::get(builder.getContext(), 2) || in genDotProduct()
808 eleTy == fir::ComplexType::get(builder.getContext(), 3)) in genDotProduct()
810 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(1))) in genDotProduct()
812 fir::runtime::getRuntimeFunc<mkRTKey(DotProductInteger1)>(loc, builder); in genDotProduct()
813 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(2))) in genDotProduct()
815 fir::runtime::getRuntimeFunc<mkRTKey(DotProductInteger2)>(loc, builder); in genDotProduct()
816 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(4))) in genDotProduct()
818 fir::runtime::getRuntimeFunc<mkRTKey(DotProductInteger4)>(loc, builder); in genDotProduct()
819 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(8))) in genDotProduct()
821 fir::runtime::getRuntimeFunc<mkRTKey(DotProductInteger8)>(loc, builder); in genDotProduct()
822 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(16))) in genDotProduct()
824 fir::runtime::getRuntimeFunc<ForcedDotProductInteger16>(loc, builder); in genDotProduct()
827 fir::runtime::getRuntimeFunc<mkRTKey(DotProductLogical)>(loc, builder); in genDotProduct()
832 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genDotProduct()
836 fir::factory::locationToLineNo(builder, loc, fTy.getInput(4)); in genDotProduct()
838 fir::runtime::createArguments(builder, loc, fTy, resultBox, vectorABox, in genDotProduct()
840 builder.create<fir::CallOp>(loc, func, args); in genDotProduct()
845 fir::factory::locationToLineNo(builder, loc, fTy.getInput(3)); in genDotProduct()
846 auto args = fir::runtime::createArguments(builder, loc, fTy, vectorABox, in genDotProduct()
848 return builder.create<fir::CallOp>(loc, func, args).getResult(0); in genDotProduct()
852 void fir::runtime::genSumDim(fir::FirOpBuilder &builder, mlir::Location loc, in genSumDim() argument
855 auto func = fir::runtime::getRuntimeFunc<mkRTKey(SumDim)>(loc, builder); in genSumDim()
856 genReduction3Args(func, builder, loc, resultBox, arrayBox, dim, maskBox); in genSumDim()
861 mlir::Value fir::runtime::genSum(fir::FirOpBuilder &builder, mlir::Location loc, in genSum() argument
868 auto dim = builder.createIntegerConstant(loc, builder.getIndexType(), 0); in genSum()
873 func = fir::runtime::getRuntimeFunc<mkRTKey(SumReal4)>(loc, builder); in genSum()
875 func = fir::runtime::getRuntimeFunc<mkRTKey(SumReal8)>(loc, builder); in genSum()
877 func = fir::runtime::getRuntimeFunc<ForcedSumReal10>(loc, builder); in genSum()
879 func = fir::runtime::getRuntimeFunc<ForcedSumReal16>(loc, builder); in genSum()
880 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(1))) in genSum()
881 func = fir::runtime::getRuntimeFunc<mkRTKey(SumInteger1)>(loc, builder); in genSum()
882 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(2))) in genSum()
883 func = fir::runtime::getRuntimeFunc<mkRTKey(SumInteger2)>(loc, builder); in genSum()
884 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(4))) in genSum()
885 func = fir::runtime::getRuntimeFunc<mkRTKey(SumInteger4)>(loc, builder); in genSum()
886 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(8))) in genSum()
887 func = fir::runtime::getRuntimeFunc<mkRTKey(SumInteger8)>(loc, builder); in genSum()
888 else if (eleTy.isInteger(builder.getKindMap().getIntegerBitsize(16))) in genSum()
889 func = fir::runtime::getRuntimeFunc<ForcedSumInteger16>(loc, builder); in genSum()
890 else if (eleTy == fir::ComplexType::get(builder.getContext(), 4)) in genSum()
891 func = fir::runtime::getRuntimeFunc<mkRTKey(CppSumComplex4)>(loc, builder); in genSum()
892 else if (eleTy == fir::ComplexType::get(builder.getContext(), 8)) in genSum()
893 func = fir::runtime::getRuntimeFunc<mkRTKey(CppSumComplex8)>(loc, builder); in genSum()
894 else if (eleTy == fir::ComplexType::get(builder.getContext(), 10)) in genSum()
895 func = fir::runtime::getRuntimeFunc<ForcedSumComplex10>(loc, builder); in genSum()
896 else if (eleTy == fir::ComplexType::get(builder.getContext(), 16)) in genSum()
897 func = fir::runtime::getRuntimeFunc<ForcedSumComplex16>(loc, builder); in genSum()
898 else if (eleTy == fir::ComplexType::get(builder.getContext(), 2) || in genSum()
899 eleTy == fir::ComplexType::get(builder.getContext(), 3)) in genSum()
905 auto sourceFile = fir::factory::locationToFilename(builder, loc); in genSum()
908 fir::factory::locationToLineNo(builder, loc, fTy.getInput(3)); in genSum()
910 fir::runtime::createArguments(builder, loc, fTy, resultBox, arrayBox, in genSum()
912 builder.create<fir::CallOp>(loc, func, args); in genSum()
917 fir::factory::locationToLineNo(builder, loc, fTy.getInput(2)); in genSum()
919 builder, loc, fTy, arrayBox, sourceFile, sourceLine, dim, maskBox); in genSum()
921 return builder.create<fir::CallOp>(loc, func, args).getResult(0); in genSum()