This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug lto/51497] [4.7 Regression] The run time for the polyhedron test nf.f90 is ~10% slower with -flto after revision 182107
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 12 Dec 2011 14:40:38 +0000
- Subject: [Bug lto/51497] [4.7 Regression] The run time for the polyhedron test nf.f90 is ~10% slower with -flto after revision 182107
- Auto-submitted: auto-generated
- References: <bug-51497-4@http.gcc.gnu.org/bugzilla/>
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.