| /llvm-project-15.0.7/flang/include/flang/Evaluate/ |
| H A D | variable.h | 54 std::optional<Expr<SubscriptInteger>> LEN() const; 133 using Result = SubscriptInteger; 159 std::optional<Expr<SubscriptInteger>> &&, 160 std::optional<Expr<SubscriptInteger>> &&); 166 Triplet &set_lower(Expr<SubscriptInteger> &&); 171 Triplet &set_upper(Expr<SubscriptInteger> &&); 188 explicit Subscript(Expr<SubscriptInteger> &&s) in EVALUATE_UNION_CLASS_BOILERPLATE() 250 std::vector<Expr<SubscriptInteger>> &&); 322 Expr<SubscriptInteger> lower() const; 343 std::optional<Expr<SubscriptInteger>> &); [all …]
|
| H A D | check-expression.h | 34 extern template bool IsConstantExpr(const Expr<SubscriptInteger> &); 44 extern template bool IsScopeInvariantExpr(const Expr<SubscriptInteger> &); 52 extern template bool IsActuallyConstant(const Expr<SubscriptInteger> &); 84 extern template void CheckSpecificationExpr(const Expr<SubscriptInteger> &x, 93 const std::optional<Expr<SubscriptInteger>> &x, const semantics::Scope &,
|
| H A D | characteristics.h | 138 const std::optional<Expr<SubscriptInteger>> &LEN() const { return LEN_; } in LEN() 139 TypeAndShape &set_LEN(Expr<SubscriptInteger> &&len) { in set_LEN() 152 std::optional<Expr<SubscriptInteger>> MeasureElementSizeInBytes( 154 std::optional<Expr<SubscriptInteger>> MeasureSizeInBytes( 174 std::optional<Expr<SubscriptInteger>> LEN_; 200 std::vector<Expr<SubscriptInteger>> coshape;
|
| H A D | expression.h | 282 Type<TypeCategory::Character, KIND>, SubscriptInteger> { 285 using LengthOperand = SubscriptInteger; 391 using Result = SubscriptInteger; 477 ArrayConstructor(Expr<SubscriptInteger> &&len, Base &&v) 486 const Expr<SubscriptInteger> &LEN() const { return length_.value(); } 489 common::CopyableIndirection<Expr<SubscriptInteger>> length_; 603 std::optional<Expr<SubscriptInteger>> LEN() const; 773 std::optional<Expr<SubscriptInteger>> LEN() const; 844 using BoundsSpec = std::vector<Expr<SubscriptInteger>>; 846 std::vector<std::pair<Expr<SubscriptInteger>, Expr<SubscriptInteger>>>;
|
| H A D | type.h | 52 using SubscriptInteger = Type<TypeCategory::Integer, 8>; variable 154 std::optional<Expr<SubscriptInteger>> GetCharLength() const; 157 std::optional<Expr<SubscriptInteger>> MeasureSizeInBytes( 320 common::CopyableIndirection<Expr<SubscriptInteger>>;
|
| H A D | call.h | 202 std::optional<Expr<SubscriptInteger>> LEN() const; 225 std::optional<Expr<SubscriptInteger>> LEN() const;
|
| H A D | constant.h | 71 Constant<SubscriptInteger> SHAPE() const;
|
| H A D | shape.h | 33 using ExtentType = SubscriptInteger;
|
| /llvm-project-15.0.7/flang/lib/Evaluate/ |
| H A D | variable.cpp | 30 std::optional<Expr<SubscriptInteger>> &&u, in Triplet() 31 std::optional<Expr<SubscriptInteger>> &&s) in Triplet() 81 std::vector<Expr<SubscriptInteger>> &&css) in CoarrayRef() 122 std::optional<Expr<SubscriptInteger>> &upper) { in SetBounds() 131 Expr<SubscriptInteger> Substring::lower() const { in lower() 135 return AsExpr(Constant<SubscriptInteger>{1}); in lower() 178 lower_ = AsExpr(Constant<SubscriptInteger>{1}); in Fold() 274 return AsExpr(Extremum<SubscriptInteger>{ in SymbolLEN() 280 return Expr<SubscriptInteger>{ in SymbolLEN() 325 AsExpr(Constant<SubscriptInteger>{0}), in LEN() [all …]
|
| H A D | fold.cpp | 22 std::optional<Constant<SubscriptInteger>> GetConstantSubscript( in GetConstantSubscript() 28 -> std::optional<Constant<SubscriptInteger>> { in GetConstantSubscript() 30 UnwrapConstantValue<SubscriptInteger>(expr.value())}) { in GetConstantSubscript() 36 [&](Triplet &triplet) -> std::optional<Constant<SubscriptInteger>> { in GetConstantSubscript() 50 std::vector<SubscriptInteger::Scalar> values; in GetConstantSubscript() 56 return Constant<SubscriptInteger>{std::move(values), in GetConstantSubscript() 150 std::vector<Expr<SubscriptInteger>> cosubscript; in FoldOperation() 151 for (Expr<SubscriptInteger> x : coarrayRef.cosubscript()) { in FoldOperation()
|
| H A D | expression.cpp | 30 std::optional<Expr<SubscriptInteger>> 32 using T = std::optional<Expr<SubscriptInteger>>; in LEN() 36 return AsExpr(Constant<SubscriptInteger>{c.LEN()}); in LEN() 55 return Expr<SubscriptInteger>{Extremum<SubscriptInteger>{ in LEN() 323 std::optional<Expr<SubscriptInteger>> Expr<SomeCharacter>::LEN() const { in LEN()
|
| H A D | type.cpp | 117 std::optional<Expr<SubscriptInteger>> DynamicType::GetCharLength() const { in GetCharLength() 120 return AsExpr(Constant<SubscriptInteger>(*knownLength())); in GetCharLength() 123 return ConvertToType<SubscriptInteger>(std::move(*length)); in GetCharLength() 142 std::optional<Expr<SubscriptInteger>> DynamicType::MeasureSizeInBytes( in MeasureSizeInBytes() 149 return Expr<SubscriptInteger>{ in MeasureSizeInBytes() 154 Expr<SubscriptInteger>{ in MeasureSizeInBytes() 164 return Expr<SubscriptInteger>{ in MeasureSizeInBytes()
|
| H A D | fold-character.cpp | 57 using IntT = SubscriptInteger; in FoldIntrinsicFunction() 92 if (auto scalars{GetScalarConstantArguments<T, SubscriptInteger>( in FoldIntrinsicFunction() 96 std::get<Scalar<SubscriptInteger>>(*scalars).ToInt64())}}; in FoldIntrinsicFunction()
|
| H A D | fold-implementation.h | 54 const std::vector<Constant<SubscriptInteger>> &subscripts); 57 const std::vector<Constant<SubscriptInteger>> * = nullptr); 79 std::optional<Constant<SubscriptInteger>> GetConstantSubscript( 154 std::vector<Constant<SubscriptInteger>> subscripts; in Folding() 194 const std::vector<Constant<SubscriptInteger>> &subscripts) { in ApplySubscripts() 1207 Expr<SubscriptInteger> lower{ in FoldArray() 1208 Fold(context_, Expr<SubscriptInteger>{iDo.lower()})}; in FoldArray() 1209 Expr<SubscriptInteger> upper{ in FoldArray() 1210 Fold(context_, Expr<SubscriptInteger>{iDo.upper()})}; in FoldArray() 1211 Expr<SubscriptInteger> stride{ in FoldArray() [all …]
|
| H A D | fold-reduction.cpp | 16 Folder<SubscriptInteger>{context}.Folding(arg[*dimIndex])}) { in CheckReductionDIM()
|
| H A D | check-expression.cpp | 153 template bool IsConstantExpr(const Expr<SubscriptInteger> &); 162 template bool IsScopeInvariantExpr(const Expr<SubscriptInteger> &); 192 template bool IsActuallyConstant(const Expr<SubscriptInteger> &); 683 const Expr<SubscriptInteger> &, const semantics::Scope &, FoldingContext &); 689 const std::optional<Expr<SubscriptInteger>> &, const semantics::Scope &,
|
| H A D | fold-designator.cpp | 78 if (auto value{UnwrapConstantValue<SubscriptInteger>( in FoldDesignator() 337 std::optional<Expr<SubscriptInteger>>{ in OffsetToDesignator() 339 std::optional<Expr<SubscriptInteger>>{ in OffsetToDesignator()
|
| H A D | fold-integer.cpp | 267 using Result = std::optional<Constant<SubscriptInteger>>; 385 std::vector<Scalar<SubscriptInteger>> resultElements; in Test() 389 return Constant<SubscriptInteger>{ in Test() 435 static std::optional<Constant<SubscriptInteger>> FoldLocationCall( in FoldLocationCall() 460 if (std::optional<Constant<SubscriptInteger>> found{ in FoldLocation() 463 context, ConvertToType<T>(Expr<SubscriptInteger>{std::move(*found)}))}; in FoldLocation()
|
| H A D | shape.cpp | 110 Constant<SubscriptInteger> AsConstantShape(const ConstantSubscripts &shape) { in AsConstantShape() 111 using IntType = Scalar<SubscriptInteger>; in AsConstantShape() 420 return ExtentExpr{Extremum<SubscriptInteger>{ in GetNonNegativeExtent() 424 Extremum<SubscriptInteger>{Ordering::Greater, ExtentExpr{0}, in GetNonNegativeExtent()
|
| H A D | call.cpp | 184 std::optional<Expr<SubscriptInteger>> ProcedureRef::LEN() const { in LEN()
|
| H A D | characteristics.cpp | 166 std::optional<Expr<SubscriptInteger>> TypeAndShape::MeasureElementSizeInBytes( in MeasureElementSizeInBytes() 171 Expr<SubscriptInteger>{ in MeasureElementSizeInBytes() 174 Expr<SubscriptInteger>{*LEN_}); in MeasureElementSizeInBytes() 182 std::optional<Expr<SubscriptInteger>> TypeAndShape::MeasureSizeInBytes( in MeasureSizeInBytes()
|
| H A D | constant.cpp | 55 Constant<SubscriptInteger> ConstantBounds::SHAPE() const { in SHAPE()
|
| /llvm-project-15.0.7/flang/include/flang/Semantics/ |
| H A D | expression.h | 155 Expr<SubscriptInteger> AnalyzeKindSelector(common::TypeCategory category, 315 std::optional<Expr<SubscriptInteger>> AsSubscript(MaybeExpr &&); 316 std::optional<Expr<SubscriptInteger>> TripletPart( 327 std::optional<Expr<SubscriptInteger>> GetSubstringBound( 410 evaluate::Expr<evaluate::SubscriptInteger> AnalyzeKindSelector(
|
| /llvm-project-15.0.7/flang/lib/Semantics/ |
| H A D | expression.cpp | 52 std::optional<Expr<SubscriptInteger>> LEN() const; 53 std::optional<Expr<SubscriptInteger>> length; 864 return {Expr<SubscriptInteger>{ in GetSubstringBound() 909 std::optional<Expr<SubscriptInteger>> lower{ in Analyze() 911 std::optional<Expr<SubscriptInteger>> upper{ in Analyze() 915 Expr<SubscriptInteger> length{ in Analyze() 919 lower = Expr<SubscriptInteger>{1}; in Analyze() 922 upper = Expr<SubscriptInteger>{ in Analyze() 973 return Expr<SubscriptInteger>{ in AsSubscript() 1261 Expr<SubscriptInteger> value{ in IntegerTypeSpecKind() [all …]
|
| H A D | check-data.cpp | 164 const evaluate::Expr<evaluate::SubscriptInteger> &expr) const { in CheckSubscriptExpr()
|