! { dg-do compile } ! { dg-options "-O2 -fpredictive-commoning -fdump-tree-pcom-details" } subroutine trisolve2(x,i1,i2,nxyz) integer :: nxyz real,dimension(nxyz):: au1 real,allocatable,dimension(:) :: gi integer :: i1 , i2 real,dimension(i2)::x integer :: i allocate(gi(nxyz)) do i = i1+1 , i2 x(i) = gi(i)*(x(i)-au1(i-1)*x(i-1)) enddo end subroutine trisolve2 ! { dg-final { scan-tree-dump "Executing predictive commoning" "pcom" } } ! { dg-final { cleanup-tree-dump "pcom" } }