http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51497

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011-12-12
     Ever Confirmed|0                           |1

--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-12-12 
14:40:38 UTC ---
I can't reproduce anything with the testcase from comment #2.  I can confirm,
for the whole nf.f90 testcase:

 191: LOOP VECTORIZED.
 192: LOOP VECTORIZED.
 193: LOOP VECTORIZED.
-206: LOOP VECTORIZED.
-207: LOOP VECTORIZED.
-208: LOOP VECTORIZED.
-209: LOOP VECTORIZED.
-210: LOOP VECTORIZED.
-211: LOOP VECTORIZED.
-212: LOOP VECTORIZED.
 220: LOOP VECTORIZED.
 248: LOOP VECTORIZED.
-261: LOOP VECTORIZED.
 265: LOOP VECTORIZED.
 267: LOOP VECTORIZED.
 280: LOOP VECTORIZED.
-293: LOOP VECTORIZED.
 297: LOOP VECTORIZED.
 299: LOOP VECTORIZED.

for -flto vs. -fno-lto.

I see differences in the dumps, mainly around references to parent
function variables appearantly no longer hoisted out of the loop.

Maybe you can reduce the testcase with this information?  Simple try
failed:

subroutine nfcg(nx,nxy,nxyz,ad,x,maxiter)
implicit none ; integer,parameter :: dpkind=kind(1.0D0)
integer :: nx , nxy , nxyz , maxiter
real(dpkind),dimension(nxyz):: ad,x
real(dpkind),allocatable,dimension(:) :: r
allocate (r(nxyz))
CALL SPMMULT(r,x)
contains
subroutine spmmult(x,b)
real(dpkind),dimension(nxyz):: x,b
b = ad*x
end subroutine spmmult
end subroutine

no CHAIN pointers left.

Reply via email to