[flang-commits] [flang] [flang] Added hlfir.eoshift operation definition. (PR #153105)

Slava Zakharin via flang-commits flang-commits at lists.llvm.org
Wed Aug 13 16:30:42 PDT 2025


================
@@ -721,6 +721,28 @@ def hlfir_CShiftOp
   let hasVerifier = 1;
 }
 
+def hlfir_EOShiftOp
+    : hlfir_Op<
+          "eoshift", [AttrSizedOperandSegments,
+                      DeclareOpInterfaceMethods<MemoryEffectsOpInterface>]> {
+  let summary = "EOSHIFT transformational intrinsic";
+  let description = [{
+    End-off shift of an array
+  }];
+
+  let arguments = (ins AnyFortranArrayObject:$array,
+      AnyFortranIntegerScalarOrArrayObject:$shift,
+      Optional<AnyFortranEntity>:$boundary, Optional<AnyIntegerType>:$dim);
----------------
vzakhari wrote:

Thank you for the review, Tom!

It cannot be `AnyFortranIntegerScalarOrArrayObject`, because it can have non-integer type.  It has to be an entity, in particular when it is an array, because we have to designate it.

https://github.com/llvm/llvm-project/pull/153105


More information about the flang-commits mailing list