| /llvm-project-15.0.7/flang/lib/Lower/ |
| H A D | IterationSpace.cpp | 75 for (const Fortran::evaluate::Expr<Fortran::evaluate::SubscriptInteger> &v : in getHashValue() 98 const Fortran::evaluate::Convert<Fortran::evaluate::Type<TC1, KIND>, TC2> in getHashValue() 115 const Fortran::evaluate::Negate<Fortran::evaluate::Type<TC, KIND>> &x) { in getHashValue() 121 const Fortran::evaluate::Add<Fortran::evaluate::Type<TC, KIND>> &x) { in getHashValue() 127 const Fortran::evaluate::Subtract<Fortran::evaluate::Type<TC, KIND>> &x) { in getHashValue() 133 const Fortran::evaluate::Multiply<Fortran::evaluate::Type<TC, KIND>> &x) { in getHashValue() 139 const Fortran::evaluate::Divide<Fortran::evaluate::Type<TC, KIND>> &x) { in getHashValue() 145 const Fortran::evaluate::Power<Fortran::evaluate::Type<TC, KIND>> &x) { in getHashValue() 151 const Fortran::evaluate::Extremum<Fortran::evaluate::Type<TC, KIND>> &x) { in getHashValue() 249 const Fortran::evaluate::Relational<Fortran::evaluate::Type<TC, KIND>> in getHashValue() [all …]
|
| H A D | DumpEvaluateExpr.cpp | 22 const Fortran::evaluate::CoarrayRef &x) { in show() 38 const Fortran::evaluate::NullPointer &) { in show() 71 const Fortran::evaluate::Component &x) { in show() 96 const Fortran::evaluate::Triplet &x) { in show() 105 const Fortran::evaluate::Subscript &x) { in show() 112 const Fortran::evaluate::ArrayRef &x) { in show() 120 const Fortran::evaluate::DataRef &x) { in show() 171 const Fortran::evaluate::Relational<Fortran::evaluate::SomeType> &x) { in show() 242 const Fortran::evaluate::Expr< in dumpEvExpr() 249 const Fortran::evaluate::Expr< in dumpEvExpr() [all …]
|
| H A D | CallInterface.cpp | 117 Fortran::evaluate::Shape shape = in asImplicitArg() 144 Fortran::evaluate::characteristics::Procedure 146 Fortran::evaluate::FoldingContext &foldingContext = in characterize() 236 static Fortran::evaluate::ExtentExpr 242 Fortran::evaluate::ExtentExpr{1}; in getExtentExpr() 356 Fortran::evaluate::characteristics::Procedure 358 Fortran::evaluate::FoldingContext &foldingContext = in characterize() 483 static const Fortran::evaluate::ActualArguments & 508 static const Fortran::evaluate::ActualArgument * 980 Fortran::evaluate::Expr<Fortran::evaluate::SubscriptInteger>> in toInt64() [all …]
|
| H A D | CustomIntrinsicCall.cpp | 25 Fortran::evaluate::FoldingContext &foldingContex) { in isMinOrMaxWithDynamicallyOptionalArg() 46 Fortran::evaluate::FoldingContext &foldingContex) { in isIshftcWithDynamicallyOptionalArg() 61 Fortran::evaluate::FoldingContext &foldingContex) { in isRandomSeedWithDynamicallyOptionalArg() 74 const Fortran::evaluate::ProcedureRef &procRef, in intrinsicRequiresCustomOptionalHandling() 75 const Fortran::evaluate::SpecificIntrinsic &intrinsic, in intrinsicRequiresCustomOptionalHandling() 85 const Fortran::evaluate::ProcedureRef &procRef, in prepareMinOrMaxArguments() 86 const Fortran::evaluate::SpecificIntrinsic &intrinsic, in prepareMinOrMaxArguments() 164 const Fortran::evaluate::ProcedureRef &procRef, in prepareIshftcArguments() 165 const Fortran::evaluate::SpecificIntrinsic &intrinsic, in prepareIshftcArguments() 222 const Fortran::evaluate::ProcedureRef &procRef, in prepareCustomIntrinsicArgument() [all …]
|
| H A D | ConvertType.cpp | 31 if (Fortran::evaluate::IsValidKindOfIntrinsicType( in genRealType() 57 if (Fortran::evaluate::IsValidKindOfIntrinsicType( in genIntegerType() 76 if (Fortran::evaluate::IsValidKindOfIntrinsicType( in genLogicalType() 85 if (Fortran::evaluate::IsValidKindOfIntrinsicType( in genCharacterType() 92 if (Fortran::evaluate::IsValidKindOfIntrinsicType( in genComplexType() 153 std::optional<Fortran::evaluate::Shape> shapeExpr = in genExprType() 185 return Fortran::evaluate::ToInt64(Fortran::evaluate::Fold( in toInt64() 248 auto shapeExpr = Fortran::evaluate::GetShapeHelper{ in genSymbolType() 355 auto designator = Fortran::evaluate::Fold( in getCharacterLengthHelper() 357 Fortran::evaluate::Expr<TC>{Fortran::evaluate::Designator<TC>{symbol}}); in getCharacterLengthHelper() [all …]
|
| H A D | VectorSubscripts.cpp | 54 using ExprVariant = decltype(Fortran::evaluate::Expr<T>::u); in genDesignator() 55 using Designator = Fortran::evaluate::Designator<T>; in genDesignator() 68 mlir::Type gen(const Fortran::evaluate::DataRef &dataRef) { in gen() 73 mlir::Type gen(const Fortran::evaluate::SymbolRef &symRef) { in gen() 80 mlir::Type gen(const Fortran::evaluate::Substring &substring) { in gen() 107 mlir::Type gen(const Fortran::evaluate::Component &component) { in gen() 128 mlir::Type gen(const Fortran::evaluate::ArrayRef &arrayRef) { in gen() 159 const Fortran::evaluate::ArrayRef &arrayRef) { in genRankedArrayRefSubscriptAndBase() 188 [&](const Fortran::evaluate::Triplet &triplet) { in genRankedArrayRefSubscriptAndBase() 213 mlir::Type gen(const Fortran::evaluate::CoarrayRef &) { in gen() [all …]
|
| /llvm-project-15.0.7/llvm/utils/lit/lit/ |
| H A D | BooleanExpression.py | 29 def evaluate(string, variables, triple=""): member in BooleanExpression 156 self.assertTrue(BooleanExpression.evaluate('true', variables)) 161 self.assertTrue(BooleanExpression.evaluate('d1g1ts', variables)) 171 self.assertFalse(BooleanExpression.evaluate('True', variables)) 174 self.assertFalse(BooleanExpression.evaluate('tru', variables)) 180 self.assertTrue(BooleanExpression.evaluate('ar', {}, triple)) 183 self.assertTrue(BooleanExpression.evaluate('-os', {}, triple)) 202 self.assertTrue(BooleanExpression.evaluate('true || true', {})) 212 self.assertFalse(BooleanExpression.evaluate('!true', {})) 213 self.assertTrue(BooleanExpression.evaluate('!false', {})) [all …]
|
| /llvm-project-15.0.7/flang/include/flang/Lower/ |
| H A D | DumpEvaluateExpr.h | 98 void show(const Fortran::evaluate::Component &x); 101 void show(const Fortran::evaluate::Triplet &x); 102 void show(const Fortran::evaluate::Subscript &x); 103 void show(const Fortran::evaluate::ArrayRef &x); 105 void show(const Fortran::evaluate::DataRef &x); 106 void show(const Fortran::evaluate::Substring &x); 178 show(const Fortran::evaluate::Relational<Fortran::evaluate::SomeType> &x); 196 dumpEvExpr(const Fortran::evaluate::Expr<Fortran::evaluate::SomeType> &x); 198 const Fortran::evaluate::Expr< 201 const Fortran::evaluate::Expr< [all …]
|
| H A D | Bridge.h | 26 namespace evaluate { 52 const Fortran::evaluate::IntrinsicProcTable &intrinsics, in create() 53 const Fortran::evaluate::TargetCharacteristics &targetCharacteristics, in create() 72 const Fortran::evaluate::IntrinsicProcTable &getIntrinsicTable() const { in getIntrinsicTable() 75 const Fortran::evaluate::TargetCharacteristics & 87 Fortran::evaluate::FoldingContext createFoldingContext() const; 107 const Fortran::evaluate::IntrinsicProcTable &intrinsics, 108 const Fortran::evaluate::TargetCharacteristics &targetCharacteristics, 115 const Fortran::evaluate::IntrinsicProcTable &intrinsics; 116 const Fortran::evaluate::TargetCharacteristics &targetCharacteristics;
|
| H A D | ComponentPath.h | 18 namespace Fortran::evaluate { 29 std::variant<const evaluate::ArrayRef *, const evaluate::Component *, 30 const evaluate::ComplexPart *, details::ImplicitSubscripts>; 42 ComponentPath(bool isImplicit, const evaluate::Substring *ss) in ComponentPath() 58 const evaluate::Substring *substring = nullptr; 79 bool isRankedArrayAccess(const Fortran::evaluate::ArrayRef &x);
|
| H A D | CallInterface.h | 64 using FortranEntity = const Fortran::evaluate::ActualArgument *; 200 const Fortran::evaluate::characteristics::Procedure &); 253 CallerInterface(const Fortran::evaluate::ProcedureRef &p, 261 using ExprVisitor = std::function<void(evaluate::Expr<evaluate::SomeType>)>; 267 Fortran::evaluate::characteristics::Procedure characterize() const; 269 const Fortran::evaluate::ProcedureRef &getCallDescription() const { 339 const Fortran::evaluate::ProcedureRef &procRef; 360 Fortran::evaluate::characteristics::Procedure characterize() const; 389 translateSignature(const Fortran::evaluate::ProcedureDesignator &, 400 const Fortran::evaluate::ProcedureDesignator &, [all …]
|
| H A D | Mangler.h | 64 const Fortran::evaluate::ConstantSubscripts &shape, 70 const Fortran::evaluate::Constant<Fortran::evaluate::Type<TC, KIND>> &x) { in mangleArrayLiteral() 78 mangleArrayLiteral(const Fortran::evaluate::Constant<Fortran::evaluate::Type< in mangleArrayLiteral() 87 const Fortran::evaluate::Constant<Fortran::evaluate::SomeDerived> &x) { in mangleArrayLiteral()
|
| /llvm-project-15.0.7/flang/lib/Semantics/ |
| H A D | pointer-assignment.cpp | 33 using evaluate::characteristics::DummyDataObject; 34 using evaluate::characteristics::FunctionResult; 35 using evaluate::characteristics::Procedure; 36 using evaluate::characteristics::TypeAndShape; 66 bool Check(const evaluate::NullPointer &); 68 bool Check(const evaluate::ProcedureRef &); 76 evaluate::FoldingContext &context_; 322 evaluate::FoldingContext &context, const evaluate::Assignment &assignment) { in CheckPointerBounds() 338 evaluate::ExtentExpr{1}); in CheckPointerBounds() 344 evaluate::ToInt64(evaluate::Fold( in CheckPointerBounds() [all …]
|
| H A D | runtime-type-info.cpp | 231 return evaluate::AsGenericExpr(evaluate::ExtentExpr{n}); in IntToExpr() 240 return SomeExpr{evaluate::Expr<evaluate::SomeDerived>{std::move(x)}}; in StructureExpr() 279 object.set_init(evaluate::AsGenericExpr(evaluate::Constant<T>{ in SaveNumericPointerTarget() 287 evaluate::Expr<T>{evaluate::Designator<T>{symbol}}); in SaveNumericPointerTarget() 316 evaluate::AsGenericExpr(evaluate::Constant<evaluate::SomeDerived>{ in SaveDerivedPointerTarget() 324 evaluate::Designator<evaluate::SomeDerived>{symbol}); in SaveDerivedPointerTarget() 337 evaluate::Designator<evaluate::SomeDerived>{symbol}); in SaveObjectInit() 456 evaluate::AsGenericExpr(evaluate::Expr<evaluate::SomeDerived>{ in DescribeType() 457 evaluate::Designator<evaluate::SomeDerived>{ in DescribeType() 759 evaluate::AsGenericExpr(evaluate::Expr<evaluate::SomeDerived>{ in DescribeComponent() [all …]
|
| H A D | check-call.h | 20 namespace Fortran::evaluate::characteristics { 23 namespace Fortran::evaluate { 34 void CheckArguments(const evaluate::characteristics::Procedure &, 35 evaluate::ActualArguments &, evaluate::FoldingContext &, const Scope &, 37 const evaluate::SpecificIntrinsic *intrinsic); 42 const evaluate::characteristics::Procedure &, evaluate::ActualArguments &, 43 const evaluate::FoldingContext &, const Scope &, 44 const evaluate::SpecificIntrinsic *intrinsic); 47 bool CheckInterfaceForGeneric(const evaluate::characteristics::Procedure &, 48 evaluate::ActualArguments &, const evaluate::FoldingContext &,
|
| H A D | check-call.cpp | 95 static void CheckCharacterActual(evaluate::Expr<evaluate::SomeType> &actual, in CheckCharacterActual() 108 if (evaluate::IsVariable(actual)) { in CheckCharacterActual() 131 static void ConvertIntegerActual(evaluate::Expr<evaluate::SomeType> &actual, in ConvertIntegerActual() 139 !evaluate::IsVariable(actual)) { in ConvertIntegerActual() 166 const std::string &dummyName, evaluate::Expr<evaluate::SomeType> &actual, in CheckExplicitDataArg() 569 evaluate::FoldingContext &context) { in CheckProcedureArg() 686 evaluate::ActualArgument &arg, const evaluate::DynamicType &type) { in ConvertBOZLiteralArg() 845 std::optional<evaluate::Shape> shape; in CheckElementalConformance() 927 evaluate::ActualArguments &actuals, const evaluate::FoldingContext &context, in CheckExplicitInterface() 934 evaluate::ActualArguments &actuals, const evaluate::FoldingContext &context, in CheckInterfaceForGeneric() [all …]
|
| H A D | pointer-assignment.h | 17 namespace Fortran::evaluate::characteristics { 21 namespace Fortran::evaluate { 30 evaluate::FoldingContext &, const evaluate::Assignment &); 31 bool CheckPointerAssignment(evaluate::FoldingContext &, const SomeExpr &lhs, 34 evaluate::FoldingContext &, const Symbol &lhs, const SomeExpr &rhs); 35 bool CheckPointerAssignment(evaluate::FoldingContext &, 37 const evaluate::characteristics::DummyDataObject &, const SomeExpr &rhs); 42 evaluate::FoldingContext &, const SomeExpr &pointer, const SomeExpr &init);
|
| H A D | data-to-inits.cpp | 124 evaluate::ExpressionAnalyzer &exprAnalyzer_; 195 int kind{evaluate::ResultType<evaluate::ImpliedDoIndex>::kind}; in Scan() 248 evaluate::DesignatorFolder folder{context}; in InitDesignator() 279 if (auto converted{evaluate::HollerithToBOZ( in ConvertElement() 332 evaluate::AttachDeclaration( in InitElement() 363 if (evaluate::IsProcedure(*expr)) { in InitElement() 369 evaluate::AttachDeclaration( in InitElement() 381 } else if (evaluate::IsProcedure(*expr)) { in InitElement() 389 } else if (evaluate::IsNullPointer(*expr)) { in InitElement() 392 } else if (evaluate::IsProcedure(*expr)) { in InitElement() [all …]
|
| H A D | check-data.cpp | 29 int kind{evaluate::ResultType<evaluate::ImpliedDoIndex>::kind}; in Enter() 48 using Base = evaluate::AllTraverse<DataVarChecker, true>; 94 bool operator()(const evaluate::Component &component) { in operator ()() 115 bool operator()(const evaluate::ArrayRef &arrayRef) { in operator ()() 119 bool operator()(const evaluate::Substring &substring) { in operator ()() 124 bool operator()(const evaluate::CoarrayRef &) { // C874 in operator ()() 129 bool operator()(const evaluate::Subscript &subs) { in operator ()() 137 [&](const evaluate::Triplet &triplet) { in operator ()() 164 const evaluate::Expr<evaluate::SubscriptInteger> &expr) const { in CheckSubscriptExpr() 165 if (!evaluate::IsConstantExpr(expr)) { // C875,C881 in CheckSubscriptExpr() [all …]
|
| H A D | check-case.cpp | 24 CaseValues(SemanticsContext &c, const evaluate::DynamicType &t) in CaseValues() 40 using Value = evaluate::Scalar<T>; 84 evaluate::FoldingContext foldingContext{ in GetValue() 86 auto folded{evaluate::Fold(foldingContext, SomeExpr{*x->v})}; in GetValue() 87 if (auto converted{evaluate::Fold(foldingContext, in GetValue() 90 auto back{evaluate::Fold(foldingContext, in GetValue() 151 evaluate::Constant<T>{*lower}.AsFortran(bs << '('); in AsFortran() 155 evaluate::Constant<T>{*upper}.AsFortran(bs << ':'); in AsFortran() 217 const evaluate::DynamicType &caseExprType_; 224 using Types = evaluate::CategoryTypes<CAT>; [all …]
|
| H A D | check-select-type.cpp | 23 TypeCaseValues(SemanticsContext &c, const evaluate::DynamicType &t) in TypeCaseValues() 52 std::optional<evaluate::DynamicType> GetGuardType( in GetGuardType() 57 -> std::optional<evaluate::DynamicType> { in GetGuardType() 64 -> std::optional<evaluate::DynamicType> { in GetGuardType() 66 return evaluate::DynamicType(*derivedTypeSpec); in GetGuardType() 75 const evaluate::DynamicType &guardDynamicType) { in PassesChecksOnGuard() 138 evaluate::GetDerivedTypeSpec(selectorType_)}) { in PassesDerivedTypeChecks() 155 std::optional<evaluate::DynamicType> guardTypeDynamic) in TypeCase() 190 std::optional<evaluate::DynamicType> guardType() const { in guardType() 205 std::optional<evaluate::DynamicType> guardType_; // is this POD? [all …]
|
| H A D | assignment.cpp | 53 evaluate::FoldingContext &foldingContext() { in foldingContext() 64 if (const evaluate::Assignment * assignment{GetAssignment(stmt)}) { in Analyze() 86 if (const evaluate::Assignment * assignment{GetAssignment(stmt)}) { in Analyze() 126 evaluate::SayWithDeclaration(messages, lhs, in CheckDefinabilityInPureScope() 138 evaluate::GetDerivedTypeSpec(evaluate::DynamicType::From(expr))}) { in GetPointerComponentDesignatorName() 154 evaluate::SayWithDeclaration(messages, *base, in CheckCopyabilityInPureScope() 171 if (evaluate::ExtractCoarrayRef(lhs)) { in CheckForPureContext() 189 evaluate::SayWithDeclaration(messages, *base, in CheckForPureContext() 195 } else if (auto type{evaluate::DynamicType::From(lhs)}) { in CheckForPureContext() 206 evaluate::SayWithDeclaration(messages, *bad, in CheckForPureContext() [all …]
|
| H A D | data-to-inits.h | 22 namespace Fortran::evaluate { 33 evaluate::InitialImage image; 42 evaluate::ExpressionAnalyzer &, const parser::DataStmtSet &); 46 evaluate::ExpressionAnalyzer &, const Symbol &, 50 DataInitializations &, evaluate::ExpressionAnalyzer &);
|
| /llvm-project-15.0.7/flang/include/flang/Semantics/ |
| H A D | tools.h | 74 const evaluate::DynamicType &, int, const evaluate::DynamicType &, int); 75 bool IsIntrinsicNumeric(const evaluate::DynamicType &); 77 const evaluate::DynamicType &, int, const evaluate::DynamicType &, int); 78 bool IsIntrinsicLogical(const evaluate::DynamicType &); 80 const evaluate::DynamicType &, int, const evaluate::DynamicType &, int); 82 const evaluate::DynamicType &, int, const evaluate::DynamicType &, int); 253 using SomeExpr = evaluate::Expr<evaluate::SomeType>; 313 const evaluate::Assignment *GetAssignment( 318 return evaluate::ToInt64(*expr); in GetIntValue() 605 evaluate::FoldingContext &, const evaluate::Shape &); [all …]
|
| /llvm-project-15.0.7/flang/include/flang/Lower/Support/ |
| H A D | Utils.h | 26 using SomeExpr = Fortran::evaluate::Expr<Fortran::evaluate::SomeType>; 58 return Fortran::evaluate::AsGenericExpr(Fortran::common::Clone(x)); in toEvExpr() 63 const Fortran::evaluate::Convert< in ignoreEvConvert() 64 Fortran::evaluate::Type<Fortran::common::TypeCategory::Integer, 8>, in ignoreEvConvert() 77 ignoreEvConvert(const Fortran::evaluate::Expr<Fortran::evaluate::Type< in ignoreEvConvert()
|