| /llvm-project/flang/lib/Lower/ |
| H A D | CustomIntrinsicCall.cpp | 27 llvm::StringRef name, const Fortran::evaluate::ProcedureRef &procRef) { in isMinOrMaxWithDynamicallyOptionalArg() argument 30 const auto &args = procRef.arguments(); in isMinOrMaxWithDynamicallyOptionalArg() 47 llvm::StringRef name, const Fortran::evaluate::ProcedureRef &procRef) { in isIshftcWithDynamicallyOptionalArg() argument 48 if (name != "ishftc" || procRef.arguments().size() < 3) in isIshftcWithDynamicallyOptionalArg() 51 procRef.arguments()[2]); in isIshftcWithDynamicallyOptionalArg() 67 llvm::StringRef name, const Fortran::evaluate::ProcedureRef &procRef) { in isAssociatedWithDynamicallyOptionalArg() argument 68 if (name != "associated" || procRef.arguments().size() < 2) in isAssociatedWithDynamicallyOptionalArg() 71 procRef.arguments()[1]); in isAssociatedWithDynamicallyOptionalArg() 79 const Fortran::evaluate::ProcedureRef &procRef, in intrinsicRequiresCustomOptionalHandling() argument 83 return isMinOrMaxWithDynamicallyOptionalArg(name, procRef) || in intrinsicRequiresCustomOptionalHandling() [all …]
|
| H A D | ConvertCall.cpp | 775 const Fortran::evaluate::ProcedureRef &procRef) { in genStmtFunctionRef() 776 const Fortran::semantics::Symbol *symbol = procRef.proc().GetSymbol(); in genStmtFunctionRef() 788 for (auto [arg, bind] : llvm::zip(details.dummyArgs(), procRef.arguments())) { in genStmtFunctionRef() 854 CallContext(const Fortran::evaluate::ProcedureRef &procRef, in isElementalProcWithArrayArgs() 859 : procRef{procRef}, converter{converter}, symMap{symMap}, 865 if (const Fortran::semantics::Symbol *sym = procRef.proc().GetSymbol()) in isStatementFunctionCall() 867 return procRef.proc().GetName(); in isStatementFunctionCall() 872 if (procRef.IsElemental()) in isBindcCall() 874 procRef in isBindcCall() 755 genStmtFunctionRef(mlir::Location loc,Fortran::lower::AbstractConverter & converter,Fortran::lower::SymMap & symMap,Fortran::lower::StatementContext & stmtCtx,const Fortran::evaluate::ProcedureRef & procRef) genStmtFunctionRef() argument 876 const Fortran::evaluate::ProcedureRef &procRef; global() member 2758 isIntrinsicModuleProcRef(const Fortran::evaluate::ProcedureRef & procRef) isIntrinsicModuleProcRef() argument 2775 convertCallToHLFIR(mlir::Location loc,Fortran::lower::AbstractConverter & converter,const evaluate::ProcedureRef & procRef,std::optional<mlir::Type> resultType,Fortran::lower::SymMap & symMap,Fortran::lower::StatementContext & stmtCtx) convertCallToHLFIR() argument 2815 convertUserDefinedAssignmentToHLFIR(mlir::Location loc,Fortran::lower::AbstractConverter & converter,const evaluate::ProcedureRef & procRef,hlfir::Entity lhs,hlfir::Entity rhs,Fortran::lower::SymMap & symMap) convertUserDefinedAssignmentToHLFIR() argument [all...] |
| H A D | ConvertExpr.cpp | 532 isElementalProcWithArrayArgs(const Fortran::evaluate::ProcedureRef &procRef) { 533 if (procRef.IsElemental()) 535 procRef.arguments()) 546 if (const auto *procRef = std::get_if<Fortran::evaluate::ProcedureRef>(&x.u)) in createBoxProcCharTuple() 547 return isElementalProcWithArrayArgs(*procRef); in createBoxProcCharTuple() 639 isOptimizableTranspose(const Fortran::evaluate::ProcedureRef &procRef, in isOptimizableTranspose() 642 procRef.proc().GetSpecificIntrinsic(); 646 procRef.arguments().at(0); in isOptimizableTranspose() 1845 const Fortran::evaluate::ProcedureRef &procRef, in genIntrinsicRef() 1853 : procRef in genIntrinsicRef() 513 isElementalProcWithArrayArgs(const Fortran::evaluate::ProcedureRef & procRef) isElementalProcWithArrayArgs() argument 527 if (const auto *procRef = std::get_if<Fortran::evaluate::ProcedureRef>(&x.u)) isElementalProcWithArrayArgs() local 620 isOptimizableTranspose(const Fortran::evaluate::ProcedureRef & procRef,const Fortran::lower::AbstractConverter & converter) isOptimizableTranspose() argument 1792 genIntrinsicRef(const Fortran::evaluate::ProcedureRef & procRef,std::optional<mlir::Type> resultType,std::optional<const Fortran::evaluate::SpecificIntrinsic> intrinsic=std::nullopt) genIntrinsicRef() argument 1937 isStatementFunctionCall(const Fortran::evaluate::ProcedureRef & procRef) isStatementFunctionCall() argument 1946 genStmtFunctionRef(const Fortran::evaluate::ProcedureRef & procRef) genStmtFunctionRef() argument 2038 genProcedureRef(const Fortran::evaluate::ProcedureRef & procRef,std::optional<mlir::Type> resultType) genProcedureRef() argument 2529 genRawProcedureRef(const Fortran::evaluate::ProcedureRef & procRef,std::optional<mlir::Type> resultType) genRawProcedureRef() argument 2882 genval(const Fortran::evaluate::ProcedureRef & procRef) genval() argument 3597 lowerElementalUserAssignment(Fortran::lower::AbstractConverter & converter,Fortran::lower::SymMap & symMap,Fortran::lower::StatementContext & stmtCtx,Fortran::lower::ExplicitIterSpace & explicitSpace,Fortran::lower::ImplicitIterSpace & implicitSpace,const Fortran::evaluate::ProcedureRef & procRef) lowerElementalUserAssignment() argument 3656 extractPassedArgFromProcRef(const Fortran::evaluate::ProcedureRef & procRef,Fortran::lower::AbstractConverter & converter) extractPassedArgFromProcRef() argument 3684 if (const auto *procRef = lowerElementalSubroutine() local 4596 genElementalIntrinsicProcRef(const Fortran::evaluate::ProcedureRef & procRef,std::optional<mlir::Type> retTy,std::optional<const Fortran::evaluate::SpecificIntrinsic> intrinsic=std::nullopt) genElementalIntrinsicProcRef() argument 4714 genElementalUserDefinedProcRef(const Fortran::evaluate::ProcedureRef & procRef,std::optional<mlir::Type> retTy) genElementalUserDefinedProcRef() argument 4895 genTransposeProcRef(const Fortran::evaluate::ProcedureRef & procRef) genTransposeProcRef() argument 4933 genProcRef(const Fortran::evaluate::ProcedureRef & procRef,std::optional<mlir::Type> retTy) genProcRef() argument 7228 setLoweredProcRef(const Fortran::evaluate::ProcedureRef * procRef) setLoweredProcRef() argument [all...] |
| H A D | CallInterface.cpp | 60 return procRef.hasAlternateReturns(); in hasAlternateReturns() 76 return getProcMangledName(procRef.proc(), converter); in getMangledName() 81 return procRef.proc().GetSymbol(); in getProcedureSymbol() 85 if (const Fortran::semantics::Symbol *symbol = procRef.proc().GetSymbol()) in isIndirectCall() 94 if (const Fortran::semantics::Symbol *sym = procRef.proc().GetSymbol()) in requireDispatchCall() 100 procRef.proc().GetComponent()) { in requireDispatchCall() 148 if (const Fortran::semantics::Symbol *symbol = procRef.proc().GetSymbol()) in getIfIndirectCall() 151 return &procRef.proc(); in getIfIndirectCall() 171 return getProcedureDesignatorLoc(procRef.proc(), converter); in getCalleeLocation() 222 procRef in characterize() [all...] |
| H A D | ConvertVariable.cpp | 271 if (const Fortran::evaluate::ProcedureRef *procRef = in genInitialDataTarget() 274 procRef->proc().GetSpecificIntrinsic(); in genInitialDataTarget() 276 assert(procRef->arguments().size() == 1 && in genInitialDataTarget() 278 const auto *argExpr = procRef->arguments()[0].value().UnwrapExpr(); in genInitialDataTarget() 269 if (const Fortran::evaluate::ProcedureRef *procRef = genInitialDataTarget() local
|
| H A D | Bridge.cpp | 4651 [&](const Fortran::evaluate::ProcedureRef &procRef) { in genAssignment() 4652 genDataAssignment(assign, /*userDefinedAssignment=*/&procRef); in genAssignment() 4856 [&](const Fortran::evaluate::ProcedureRef &procRef) { in genFIR() 4861 *this, procRef, explicitIterSpace, implicitIterSpace, in genFIR() 5816 [&](const Fortran::evaluate::ProcedureRef &procRef) { in lowerToHighLevelFIR() 5817 // Ensure the procRef expressions are the one being visited. in lowerToHighLevelFIR() 5818 assert(procRef.arguments().size() == 2); 5820 procRef.arguments()[0].value().UnwrapExpr(); in getConstantExprManglePrefix() 5822 procRef.arguments()[1].value().UnwrapExpr(); in getConstantExprManglePrefix() 4482 __anonc6773cb55302(const Fortran::evaluate::ProcedureRef &procRef) genAssignment() argument 4687 __anonc6773cb55902(const Fortran::evaluate::ProcedureRef &procRef) genAssignment() argument 5638 __anonc6773cb56e02(const Fortran::evaluate::ProcedureRef &procRef) analyzeExplicitSpace() argument
|
| /llvm-project/flang/include/flang/Lower/ |
| H A D | ConvertCall.h | 52 /// Is \p procRef an intrinsic module procedure that should be lowered as 54 bool isIntrinsicModuleProcRef(const Fortran::evaluate::ProcedureRef &procRef); 60 const evaluate::ProcedureRef &procRef, std::optional<mlir::Type> resultType, 65 const evaluate::ProcedureRef &procRef, hlfir::Entity lhs, hlfir::Entity rhs,
|
| H A D | CustomIntrinsicCall.h | 41 /// Does the call \p procRef to \p intrinsic need to be handle via this custom 45 const Fortran::evaluate::ProcedureRef &procRef, 81 const Fortran::evaluate::ProcedureRef &procRef,
|
| H A D | CallInterface.h | 286 : CallInterface{c}, procRef{p} { 299 return procRef; 407 const Fortran::evaluate::ProcedureRef &procRef;
|
| /llvm-project/flang/lib/Optimizer/Transforms/ |
| H A D | PolymorphicOpConversion.cpp | 181 mlir::Value procRef = rewriter.create<fir::CoordinateOp>( in matchAndRewrite() local 190 loc, addressRefTy, procRef, addressField); in matchAndRewrite()
|
| /llvm-project/flang/lib/Semantics/ |
| H A D | expression.cpp | 3283 std::optional<ProcedureRef> procRef{analyzer.TryDefinedAssignment()}; 3284 if (!procRef) { in CheckCall() 3302 if (procRef) { in CheckCall() 3303 assignment->u = std::move(*procRef); in CheckCall() 4186 ProcedureRef procRef{std::move(proc), std::move(arguments)}; 4188 return Expr<SomeType>{std::move(procRef)}; in Analyze() 4192 DEREF(result.GetTypeAndShape()).type(), std::move(procRef)); in Analyze() 4600 if (std::optional<ProcedureRef> procRef{GetDefinedAssignmentProc()}) { in GetDefinedAssignmentProc() 4601 if (context_.inWhereBody() && !procRef->proc().IsElemental()) { // C1032 in GetDefinedAssignmentProc() 4604 DEREF(procRef in GetDefinedAssignmentProc() 3200 std::optional<ProcedureRef> procRef{analyzer.TryDefinedAssignment()}; Analyze() local 4103 ProcedureRef procRef{std::move(proc), std::move(arguments)}; MakeFunctionRef() local [all...] |
| H A D | resolve-directives.cpp | 553 if (auto *procRef{ in Pre() 555 if (!procRef->v.thing.component.symbol) { 556 if (!ResolveName(&procRef->v.thing.component)) { in Pre() 557 createDummyProcSymbol(&procRef->v.thing.component); in Pre() 503 if (const auto *procRef{ Pre() local
|
| /llvm-project/flang/include/flang/Evaluate/ |
| H A D | tools.h | 991 if (const auto *procRef{UnwrapProcedureRef(x)}) { in GetAttrs() 992 if (const Symbol * interface{procRef->proc().GetInterfaceSymbol()}) { in GetAttrs() 1143 template <typename T> bool operator()(const FunctionRef<T> &procRef) { in ScalarConstantExpander() 1144 return !admitPureCall_ || !procRef.proc().IsPure(); in ScalarConstantExpander()
|
| /llvm-project/flang/lib/Evaluate/ |
| H A D | characteristics.cpp | 1424 if (const auto *procRef{UnwrapProcedureRef(expr)}) { in Characterize() 1425 return Characterize(*procRef, context); in Characterize() 1419 if (const auto *procRef{UnwrapProcedureRef(expr)}) { Characterize() local
|