30 enum class SlicesOverlapKind {
39 EitherIdenticalOrDisjoint
48 llvm::function_ref<bool(mlir::Value, mlir::Value)>;
61 static SlicesOverlapKind
62 analyze(mlir::Value ref1, mlir::Value ref2,
65 static bool isDesignatingArrayInOrder(hlfir::DesignateOp designate,
66 hlfir::ElementalOpInterface elemental);
72 mlir::Value lb, ub, stride;
74 SectionDesc(mlir::Value lb, mlir::Value ub, mlir::Value stride);
83 bool operator==(
const SectionDesc &other)
const;
92 static SectionDesc readSectionDesc(mlir::Operation::operand_iterator &it,
102 static std::pair<mlir::Value, mlir::Value>
113 static bool areDisjointSections(
const SectionDesc &desc1,
136 static bool isLess(mlir::Value v1, mlir::Value v2);