On 07/12/2016 03:15 PM, Richard Biener wrote: > The scan for 1 *n_ after FRE looks still useful. Btw, the testcase > doesn't fail for me, > we _do_ hoist the division in PRE, just not with -m32 anymore. Can > you confirm this?
Yeah, it works for both -m32 and -m64. This is final version of the patch, may I install it? Thanks, Martin
>From e23c13dcc2f5e1967b0941c7a627241e3b6759e8 Mon Sep 17 00:00:00 2001 From: marxin <mli...@suse.cz> Date: Fri, 8 Jul 2016 15:51:54 +0200 Subject: [PATCH] Fix Fortran DO loop fallback gcc/testsuite/ChangeLog: 2016-07-08 Martin Liska <mli...@suse.cz> * gfortran.dg/ldist-1.f90: Revert change introduces in r238114. * gfortran.dg/pr42108.f90: Add -fno-ipa-icf to additional options. * gfortran.dg/vect/pr62283.f: Update expected dump scan. --- gcc/testsuite/gfortran.dg/ldist-1.f90 | 2 +- gcc/testsuite/gfortran.dg/pr42108.f90 | 2 -- gcc/testsuite/gfortran.dg/vect/pr62283.f | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/gcc/testsuite/gfortran.dg/ldist-1.f90 b/gcc/testsuite/gfortran.dg/ldist-1.f90 index 2030328..ea3990d 100644 --- a/gcc/testsuite/gfortran.dg/ldist-1.f90 +++ b/gcc/testsuite/gfortran.dg/ldist-1.f90 @@ -32,4 +32,4 @@ end Subroutine PADEC ! There are 5 legal partitions in this code. Based on the data ! locality heuristic, this loop should not be split. -! { dg-final { scan-tree-dump "distributed: split to" "ldist" } } +! { dg-final { scan-tree-dump-not "distributed: split to" "ldist" } } diff --git a/gcc/testsuite/gfortran.dg/pr42108.f90 b/gcc/testsuite/gfortran.dg/pr42108.f90 index eb93604..a913aa4 100644 --- a/gcc/testsuite/gfortran.dg/pr42108.f90 +++ b/gcc/testsuite/gfortran.dg/pr42108.f90 @@ -21,7 +21,5 @@ subroutine eval(foo1,foo2,foo3,foo4,x,n,nnd) end do end subroutine eval -! We should have hoisted the division -! { dg-final { scan-tree-dump "in all uses of countm1\[^\n\]* / " "pre" } } ! There should be only one load from n left ! { dg-final { scan-tree-dump-times "\\*n_" 1 "fre1" } } diff --git a/gcc/testsuite/gfortran.dg/vect/pr62283.f b/gcc/testsuite/gfortran.dg/vect/pr62283.f index 7df3d99..4d8cba1 100644 --- a/gcc/testsuite/gfortran.dg/vect/pr62283.f +++ b/gcc/testsuite/gfortran.dg/vect/pr62283.f @@ -1,5 +1,5 @@ C { dg-do compile } -C { dg-additional-options "-fvect-cost-model=dynamic" } +C { dg-additional-options "-fvect-cost-model=dynamic -fno-ipa-icf" } subroutine test2(x,y) real x(4),y(4) beta=3.141593 -- 2.8.4