Issue 107622
Summary [Flang] MLIR Assertion `mayBeGraphRegion(*op->getParentRegion()) && "expected that op has no uses"' failed.
Labels mlir, flang
Assignees
Reporter mjklemm
    When compiling the below snippet of Fortran code, Flang stops with an assertion in MLIR:

```shell
> flang-new -O1 -c assertion.f90
flang-new: /work1/omp-nightly/build/git/trunk20.0-atd/llvm-project/mlir/lib/IR/PatternMatch.cpp:181: mlir::RewriterBase::eraseOp(mlir::Operation*)::<lambda(mlir::Operation*)>: Assertion `mayBeGraphRegion(*op->getParentRegion()) && "expected that op has no uses"' failed.
```

This happens with all optimization levels > `-O0`.

```Fortran
! assertion.f90
MODULE MODE
  INTERFACE MYFUNC
    MODULE PROCEDURE MYFUNC_1D
  END INTERFACE

 CONTAINS

    FUNCTION MYFUNC_1D(INPUT) RESULT(OUTPUT)
 implicit none
      REAL, DIMENSION(:), INTENT(IN) :: INPUT
      REAL, DIMENSION(SIZE(INPUT))   :: OUTPUT
      OUTPUT(:) = INPUT(:)
    END FUNCTION MYFUNC_1D

END MODULE MODE

SUBROUTINE INIT(DATA)
 use MODE
  implicit none

  TYPE MYTYPE
    REAL, DIMENSION(:,:), POINTER :: D1
    REAL, DIMENSION(:)  , POINTER :: RES
  END TYPE MYTYPE

  TYPE(MYTYPE),      INTENT(INOUT) :: DATA
  REAL, DIMENSION(1000) :: RES

  WHERE(DATA%D1(:,1)==0)
    RES(:)= 0
 ELSEWHERE
    RES(:) = DATA%D1(:,1) / MYFUNC(DATA%D1(:,1))
  END WHERE
END SUBROUTINE INIT
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to