[llvm-branch-commits] [flang] [Flang][OpenMP] Derived type explicit allocatable member mapping (PR #96266)
Kareem Ergawy via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Sun Jul 14 22:56:33 PDT 2024
================
@@ -671,4 +672,51 @@ static inline bool isEqual(const Fortran::lower::SomeExpr *x,
}
} // end namespace Fortran::lower
+// OpenMP utility functions used in locations outside of the
+// OpenMP lowering.
+namespace Fortran::lower::omp {
+
+[[maybe_unused]] static void fillMemberIndices(
+ llvm::SmallVector<llvm::SmallVector<int>> &memberPlacementData) {
+ size_t largestIndicesSize =
+ std::max_element(memberPlacementData.begin(), memberPlacementData.end(),
+ [](auto a, auto b) { return a.size() < b.size(); })
+ ->size();
+
+ // DenseElementsAttr expects a rectangular shape for the data, so all
+ // index lists have to be of the same length, this emplaces -1 as filler.
----------------
ergawy wrote:
Does the `-1` value has a significance here or is it just a random value?
https://github.com/llvm/llvm-project/pull/96266
More information about the llvm-branch-commits
mailing list