Lines Matching +defs:get +defs:output +defs:string
120 {{{"string", asAddr}}},
124 {{{"string", asAddr}}},
432 {{{"string", asAddr},
459 {{{"string", asInquired}, {"kind", asValue}}},
569 {"get", asBox, handleDynamicOptional}}},
588 {{{"string", asAddr}, {"ncopies", asValue}}},
608 {{{"string", asAddr},
704 {"trim", &I::genTrim, {{{"string", asAddr}}}, /*isElemental=*/false},
717 {{{"string", asAddr},
747 /// To make fir output more readable for debug, one can outline all intrinsic
776 /// Return a string containing the given Fortran intrinsic name
779 static std::string
783 std::string output = prefix.str();
784 llvm::raw_string_ostream sstream(output);
787 std::string displayName{" ** "};
805 return output;
848 mlir::StringAttr::get(builder.getContext(), libFuncName));
1617 // can get a complete list of the problematic intrinsic calls.
1618 std::string message = prettyPrintIntrinsicName(
1624 /// Helpers to get function type from arguments and result type.
1634 return mlir::FunctionType::get(builder.getModule().getContext(), argTypes,
1717 const std::string builtin = "__builtin_";
1927 // FIXME: using toValue to get the type won't work with array arguments.
2043 /// Helper to encode type into string for intrinsic procedure names.
2046 static std::string typeToString(mlir::Type t) {
2083 static std::string mangleIntrinsicProcedure(llvm::StringRef intrinsic,
2085 std::string name = "fir.";
2104 std::string wrapperName = mangleIntrinsicProcedure(name, funcType);
2184 std::string funcName{name};
2186 if (std::string fmfString{builder.getFastMathFlagsString()};
2235 std::string nameAndType;
2302 return mlir::SymbolRefAttr::get(funcOp);
2393 mlir::FunctionType::get(context, {resultType}, {args[0].getType()});
2396 loc, mlir::Float64Type::get(context), pi / llvm::APFloat(180.0));
2409 mlir::Value string = builder.createBox(loc, args[0]);
2417 CallRuntime(builder, loc, resultIrBox, string);
2544 mlir::FunctionType::get(context, {resultType}, {args[0].getType()});
2547 loc, mlir::Float64Type::get(context), pi / llvm::APFloat(180.0));
2568 mlir::FunctionType::get(context, {resultType}, {args[0].getType()});
2573 loc, mlir::Float64Type::get(context), llvm::APFloat(180.0) / pi);
2593 mlir::FunctionType::get(context, {resultType}, {args[0].getType()});
2598 builder.createRealConstant(loc, mlir::Float64Type::get(context), inv_pi);
2606 auto llvmPointerType = mlir::LLVM::LLVMPointerType::get(builder.getContext());
2939 mlir::IntegerType::get(builder.getContext(), widest,
2961 mlir::Type signlessType = mlir::IntegerType::get(
3105 TODO(loc, "get length parameters of derived type");
3268 mlir::FunctionType::get(context, {resultType}, {args[0].getType()});
3271 loc, mlir::Float64Type::get(context), pi / llvm::APFloat(180.0));
3390 loc, fir::BoxType::get(builder.getNoneType()));
3435 auto resultBox = builder.create<fir::AbsentOp>(loc, fir::BoxType::get(eleTy));
3459 mlir::IntegerType::get(builder.getContext(), bits,
3492 mlir::IntegerType::get(builder.getContext(), bits,
3539 loc, fir::BoxType::get(builder.getNoneType()))
3581 mlir::Type boxNoneTy = fir::BoxType::get(builder.getNoneType());
3713 loc, fir::BoxType::get(builder.getI1Type()))
3835 mlir::Type boxNoneTy = fir::BoxType::get(builder.getNoneType());
3902 mlir::Type boxNoneTy = fir::BoxType::get(builder.getNoneType());
3970 mlir::Type boxNoneTy = fir::BoxType::get(builder.getNoneType());
4037 loc, fir::BoxType::get(builder.getI1Type()))
4054 loc, fir::BoxType::get(builder.getI1Type()));
4095 mlir::Type signlessType = mlir::IntegerType::get(
4119 mlir::Type signlessType = mlir::IntegerType::get(
4155 mlir::Type signlessType = mlir::IntegerType::get(
4191 fir::CharacterType::get(builder.getContext(), eleType.getFKind(), 1);
4267 loc, fir::FieldType::get(recType.getContext()), fieldName, recType,
4422 mlir::Type tableTy = fir::SequenceType::get(tableSize, int8Ty);
4541 mlir::DenseElementsAttr::get(
4542 mlir::RankedTensorType::get(tableSize, int8Ty), values));
4565 if (yRealType == mlir::BFloat16Type::get(builder.getContext())) {
4569 loc, mlir::Float32Type::get(builder.getContext()), yRealVal);
4570 yRealType = mlir::Float32Type::get(builder.getContext());
4711 // Check that an explicit ieee_[get|set]_rounding_mode call radix value is 2.
4713 mlir::Value radix, std::string procName) {
4729 // Values are chosen to match the llvm.get.rounding encoding.
5126 mlir::Type f32Ty = mlir::Float32Type::get(builder.getContext());
5326 mlir::Type f32Ty = mlir::Float32Type::get(builder.getContext());
5360 loc, mlir::Float32Type::get(builder.getContext()), a);
5400 // ROUNDING_VALUE. Values are llvm.get.rounding encoding values.
5445 if (realType == mlir::BFloat16Type::get(builder.getContext())) {
5448 loc, mlir::Float32Type::get(builder.getContext()), realVal);
5506 // Values are chosen to match the llvm.get.rounding encoding:
5561 mlir::Type tableTy = fir::SequenceType::get(tableSize, valueTy);
5562 std::string tableName = RTNAME_STRING(IeeeValueTable_) +
5660 mlir::DenseElementsAttr::get(
5661 mlir::RankedTensorType::get(tableSize, valueTy), values));
5717 mlir::Value string = builder.createBox(loc, args[0]);
5720 fir::LogicalType logTy = fir::LogicalType::get(
5729 loc, fir::BoxType::get(builder.getI1Type()))
5741 fir::runtime::genIndexDescriptor(builder, loc, resBox, string, substring,
5797 mlir::IntegerType::get(builder.getContext(), intWidth,
5844 mlir::IntegerType::get(builder.getContext(), intWidth,
6003 mlir::IntegerType::get(builder.getContext(), bits,
6138 mlir::Type signlessType = mlir::IntegerType::get(
6157 mlir::Type signlessType = mlir::IntegerType::get(
6186 mlir::Type signlessType = mlir::IntegerType::get(
6212 if (resultType == mlir::Float128Type::get(builder.getContext()) ||
6244 mlir::Type boxNoneTy = fir::BoxType::get(builder.getNoneType());
6295 mlir::Type signlessType = mlir::IntegerType::get(
6401 mlir::Type f32Ty = mlir::Float32Type::get(builder.getContext());
6563 mlir::Type signlessType = mlir::IntegerType::get(
6613 loc, fir::BoxType::get(builder.getI1Type()))
6722 mlir::Type boxNoneTy = fir::BoxType::get(builder.getNoneType());
6730 mlir::Value get = getDesc(2);
6731 fir::runtime::genRandomSeed(builder, loc, size, put, get);
6771 loc, fir::BoxType::get(builder.getI1Type()))
6776 ? builder.create<fir::AbsentOp>(loc, fir::ReferenceType::get(eleTy))
6845 mlir::Type boxNoneTy = fir::BoxType::get(builder.getNoneType());
6861 mlir::Value string = builder.createBox(loc, args[0]);
6869 fir::runtime::genRepeat(builder, loc, resultIrBox, string, ncopies);
6897 loc, fir::BoxType::get(builder.getI1Type()))
6903 loc, fir::BoxType::get(builder.getI1Type()))
6974 // specialized on the kind of characters in string.
6976 // Handle required string base arg
6979 // Handle required set string base arg
6987 // Get string length argument
6990 // Get set string length argument
7008 fir::LogicalType logTy = fir::LogicalType::get(
7018 loc, fir::BoxType::get(builder.getI1Type()));
7020 // Handle required string argument
7021 mlir::Value string = builder.createBox(loc, args[0]);
7035 fir::runtime::genScanDescriptor(builder, loc, resultIrBox, string, set, back,
7107 loc, fir::ReferenceType::get(builder.getI1Type()))
7114 loc, fir::ReferenceType::get(builder.getI1Type()))
7121 loc, fir::ReferenceType::get(builder.getI1Type()))
7187 mlir::Type allocSeqType = fir::SequenceType::get(rank, resultElementType);
7203 fir::ReferenceType::get(builder.getVarLenSeqTy(resultElementType));
7229 mlir::Type seqType = fir::SequenceType::get(
7259 mlir::IntegerType::get(builder.getContext(), bits,
7287 mlir::IntegerType::get(builder.getContext(), bits,
7349 mlir::FunctionType::get(context, {resultType}, {args[0].getType()});
7352 loc, mlir::Float64Type::get(context), pi / llvm::APFloat(180.0));
7430 mlir::FunctionType::get(context, {resultType}, {args[0].getType()});
7433 loc, mlir::Float64Type::get(context), pi / llvm::APFloat(180.0));
7501 mlir::Type lbArrayType = fir::SequenceType::get(
7613 std::string errorMsg;
7664 mlir::FunctionType::get(builder.getContext(), {}, {});
7677 mlir::FunctionType::get(context, {resultType}, {args[0].getType()});
7689 mlir::FunctionType::get(context, {resultType}, {args[0].getType()});
7701 mlir::FunctionType::get(context, {resultType}, {args[0].getType()});
7723 mlir::Type boxNoneTy = fir::BoxType::get(builder.getNoneType());
7840 mlir::FunctionType::get(builder.getContext(), {}, {});
7851 mlir::FunctionType::get(builder.getContext(), {}, {});
7862 mlir::FunctionType::get(builder.getContext(), {}, {});
7873 mlir::Value string = builder.createBox(loc, args[0]);
7880 fir::runtime::genTrim(builder, loc, resultIrBox, string);
7939 mlir::Type signlessType = mlir::IntegerType::get(
7996 // specialized on the kind of characters in string.
7998 // Handle required string base arg
8001 // Handle required set string base arg
8009 // Get string length argument
8012 // Get set string length argument
8030 fir::LogicalType logTy = fir::LogicalType::get(
8040 loc, fir::BoxType::get(builder.getI1Type()));
8042 // Handle required string argument
8043 mlir::Value string = builder.createBox(loc, args[0]);
8057 fir::runtime::genVerifyDescriptor(builder, loc, resultIrBox, string, set,
8081 loc, fir::BoxType::get(builder.getI1Type()))
8164 loc, fir::BoxType::get(builder.getI1Type()))