| /llvm-project-15.0.7/flang/lib/Evaluate/ |
| H A D | fold-real.cpp | 16 FunctionRef<T> &&funcRef, FoldingContext &context) { in FoldTransformationalBessel() argument 17 CHECK(funcRef.arguments().size() == 3); in FoldTransformationalBessel() 43 return Expr<T>{std::move(funcRef)}; in FoldTransformationalBessel() 53 ActualArguments &args{funcRef.arguments()}; in FoldIntrinsicFunction() 68 context, std::move(funcRef), *callable); in FoldIntrinsicFunction() 81 context, std::move(funcRef), *callable); in FoldIntrinsicFunction() 92 context, std::move(funcRef), *callable); in FoldIntrinsicFunction() 166 return FoldMerge<T>(context, std::move(funcRef)); in FoldIntrinsicFunction() 238 std::move(funcRef), in FoldIntrinsicFunction() 275 return FoldSum<T>(context, std::move(funcRef)); in FoldIntrinsicFunction() [all …]
|
| H A D | fold-character.cpp | 27 FoldingContext &context, FunctionRef<T> &funcRef, int zeroBasedArg) { in GetConstantLength() argument 28 if (auto *expr{funcRef.UnwrapArgExpr(zeroBasedArg)}) { in GetConstantLength() 49 FunctionRef<Type<TypeCategory::Character, KIND>> &&funcRef) { in FoldIntrinsicFunction() argument 53 auto *intrinsic{std::get_if<SpecificIntrinsic>(&funcRef.proc().u)}; in FoldIntrinsicFunction() 58 return FoldElementalIntrinsic<T, IntT>(context, std::move(funcRef), in FoldIntrinsicFunction() 64 context, std::move(funcRef), CharacterUtils<KIND>::ADJUSTL); in FoldIntrinsicFunction() 67 context, std::move(funcRef), CharacterUtils<KIND>::ADJUSTR); in FoldIntrinsicFunction() 78 return FoldMerge<T>(context, std::move(funcRef)); in FoldIntrinsicFunction() 80 return FoldMINorMAX(context, std::move(funcRef), Ordering::Less); in FoldIntrinsicFunction() 93 context, funcRef.arguments())}) { in FoldIntrinsicFunction() [all …]
|
| H A D | fold-complex.cpp | 17 FunctionRef<Type<TypeCategory::Complex, KIND>> &&funcRef) { in FoldIntrinsicFunction() argument 20 ActualArguments &args{funcRef.arguments()}; in FoldIntrinsicFunction() 21 auto *intrinsic{std::get_if<SpecificIntrinsic>(&funcRef.proc().u)}; in FoldIntrinsicFunction() 30 context, std::move(funcRef), *callable); in FoldIntrinsicFunction() 38 context, std::move(funcRef), &Scalar<T>::CONJG); in FoldIntrinsicFunction() 51 return Expr<T>{std::move(funcRef)}; in FoldIntrinsicFunction() 66 return FoldMerge<T>(context, std::move(funcRef)); in FoldIntrinsicFunction() 69 return FoldProduct<T>(context, std::move(funcRef), Scalar<T>{one}); in FoldIntrinsicFunction() 71 return FoldSum<T>(context, std::move(funcRef)); in FoldIntrinsicFunction() 74 return Expr<T>{std::move(funcRef)}; in FoldIntrinsicFunction()
|
| H A D | fold-integer.cpp | 116 ActualArguments &args{funcRef.arguments()}; in LBOUND() 120 if (funcRef.Rank() == 0) { in LBOUND() 133 return Expr<T>{std::move(funcRef)}; in LBOUND() 163 return Expr<T>{std::move(funcRef)}; in LBOUND() 174 if (funcRef.Rank() == 0) { in UBOUND() 236 return Expr<T>{std::move(funcRef)}; in UBOUND() 596 std::move(funcRef), in FoldIntrinsicFunction() 675 std::move(funcRef), in FoldIntrinsicFunction() 689 std::move(funcRef), in FoldIntrinsicFunction() 748 std::move(funcRef), in FoldIntrinsicFunction() [all …]
|
| H A D | fold-logical.cpp | 47 FunctionRef<Type<TypeCategory::Logical, KIND>> &&funcRef) { in FoldIntrinsicFunction() argument 49 ActualArguments &args{funcRef.arguments()}; in FoldIntrinsicFunction() 50 auto *intrinsic{std::get_if<SpecificIntrinsic>(&funcRef.proc().u)}; in FoldIntrinsicFunction() 56 context, std::move(funcRef), &Scalar<T>::AND, Scalar<T>{true}); in FoldIntrinsicFunction() 59 context, std::move(funcRef), &Scalar<T>::OR, Scalar<T>{false}); in FoldIntrinsicFunction() 71 return gotConstant ? Expr<T>{false} : Expr<T>{std::move(funcRef)}; in FoldIntrinsicFunction() 114 std::move(funcRef), in FoldIntrinsicFunction() 121 return Expr<T>{std::move(funcRef)}; in FoldIntrinsicFunction() 129 std::move(funcRef), in FoldIntrinsicFunction() 205 return FoldMerge<T>(context, std::move(funcRef)); in FoldIntrinsicFunction() [all …]
|
| H A D | fold-implementation.h | 520 return Expr<TR>{std::move(funcRef)}; in FoldElementalIntrinsicHelper() 575 auto args{funcRef.arguments()}; in CSHIFT() 581 return Expr<T>{std::move(funcRef)}; in CSHIFT() 653 auto args{funcRef.arguments()}; in EOSHIFT() 785 auto args{funcRef.arguments()}; in PACK() 849 auto args{funcRef.arguments()}; in RESHAPE() 900 auto args{funcRef.arguments()}; in SPREAD() 945 auto args{funcRef.arguments()}; in TRANSPOSE() 967 auto args{funcRef.arguments()}; in UNPACK() 1145 return Expr<T>{std::move(funcRef)}; in FoldOperation() [all …]
|
| H A D | tools.cpp | 778 } else if (const auto *funcRef{UnwrapProcedureRef(expr)}) { in IsObjectPointer() local 779 return IsVariable(*funcRef); in IsObjectPointer()
|
| /llvm-project-15.0.7/flang/lib/Parser/ |
| H A D | parse-tree.cpp | 229 FunctionReference funcRef{WithSource(source, in ConvertToAssignment() local 232 auto variable{Variable{common::Indirection{std::move(funcRef)}}}; in ConvertToAssignment()
|
| /llvm-project-15.0.7/flang/lib/Semantics/ |
| H A D | expression.cpp | 2468 const parser::Call &call{funcRef.v}; in Analyze() 2963 const parser::FunctionReference &funcRef) { in CheckFuncRefToArrayElement() argument 2969 auto &proc{std::get<parser::ProcedureDesignator>(funcRef.v.t)}; in CheckFuncRefToArrayElement() 2980 auto &msg{context.Say(funcRef.v.source, in CheckFuncRefToArrayElement() 2989 auto &msg{context.Say(funcRef.v.source, in CheckFuncRefToArrayElement() 3012 parser::FunctionReference &funcRef{func->value()}; in FixMisparsedFunctionReference() local 3030 if (CheckFuncRefToArrayElement(context, funcRef)) { in FixMisparsedFunctionReference() 3064 if (const auto *funcRef{ in ExprOrVariable() local 3071 result = Analyze(funcRef->value(), &ctor); in ExprOrVariable() 3113 if (const auto *funcRef{ in Analyze() local [all …]
|
| /llvm-project-15.0.7/flang/lib/Lower/ |
| H A D | ConvertExpr.cpp | 615 isOptimizableTranspose(const Fortran::evaluate::FunctionRef<T> &funcRef) { in isOptimizableTranspose() argument 617 static_cast<const Fortran::evaluate::ProcedureRef &>(funcRef)); in isOptimizableTranspose() 2147 if (!funcRef.GetType().has_value()) in genFunctionRef() 2149 mlir::Type resTy = genType(*funcRef.GetType()); in genFunctionRef() 2150 return genProcedureRef(funcRef, {resTy}); in genFunctionRef() 2156 ExtValue gen(const Fortran::evaluate::FunctionRef<A> &funcRef) { in gen() argument 2157 ExtValue retVal = genFunctionRef(funcRef); in gen() 2158 mlir::Type resultType = converter.genType(toEvExpr(funcRef)); in gen() 3220 ExtValue genval(const Fortran::evaluate::FunctionRef<A> &funcRef) { in genval() argument 3221 ExtValue result = genFunctionRef(funcRef); in genval() [all …]
|