This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix Fortran DO loop fallback
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 <mliska@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 <mliska@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