diff options
author | Richard Guenther <rguenther@suse.de> | 2007-10-19 12:27:25 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2007-10-19 12:27:25 +0000 |
commit | ab58d043a76b3c8483c5fb3e301810c2ad61e34c (patch) | |
tree | 47c8bebc675499e113a691083c2ead2d30143e58 | |
parent | 6525c3f01e2e5870d83f645ad94f1a44619841bf (diff) | |
download | gcc-ab58d043a76b3c8483c5fb3e301810c2ad61e34c.zip gcc-ab58d043a76b3c8483c5fb3e301810c2ad61e34c.tar.gz gcc-ab58d043a76b3c8483c5fb3e301810c2ad61e34c.tar.bz2 |
revert: re PR tree-optimization/32921 (Revision 126326 causes 12% slowdown)
2007-10-19 Richard Guenther <rguenther@suse.de>
Revert
2007-10-19 Richard Guenther <rguenther@suse.de>
PR middle-end/32921
* tree.c (build_array_type): Do not re-layout unbound array
types.
* gfortran.dg/pr32921.f: New testcase.
From-SVN: r129487
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr32921.f | 49 | ||||
-rw-r--r-- | gcc/tree.c | 2 |
4 files changed, 18 insertions, 50 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5756ae8..14f14cc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,14 @@ 2007-10-19 Richard Guenther <rguenther@suse.de> + Revert + 2007-10-19 Richard Guenther <rguenther@suse.de> + + PR middle-end/32921 + * tree.c (build_array_type): Do not re-layout unbound array + types. + +2007-10-19 Richard Guenther <rguenther@suse.de> + PR middle-end/32921 * tree.c (build_array_type): Do not re-layout unbound array types. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fb172cd..acd2bb6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,13 @@ 2007-10-19 Richard Guenther <rguenther@suse.de> + Revert + 2007-10-19 Richard Guenther <rguenther@suse.de> + + PR middle-end/32921 + * gfortran.dg/pr32921.f: New testcase. + +2007-10-19 Richard Guenther <rguenther@suse.de> + * gcc.c-torture/execute/20071018-1.c: New testcase. 2007-10-19 Richard Guenther <rguenther@suse.de> diff --git a/gcc/testsuite/gfortran.dg/pr32921.f b/gcc/testsuite/gfortran.dg/pr32921.f deleted file mode 100644 index d110301..0000000 --- a/gcc/testsuite/gfortran.dg/pr32921.f +++ /dev/null @@ -1,49 +0,0 @@ -! { dg-do compile } -! { dg-options "-O2 -fdump-tree-lim" } -! gfortran -c -m32 -O2 -S junk.f -! - MODULE LES3D_DATA - - IMPLICIT REAL*8 (A-H,O-Z) - - PARAMETER ( NSPECI = 1, ND = 7 + NSPECI ) - - INTEGER IMAX - - DOUBLE PRECISION,ALLOCATABLE,DIMENSION(:,:,:) :: - > UAV,QAV - - - END MODULE LES3D_DATA -!--------------------------------------------------------------------- -!------------------------------------------------------------------------ - SUBROUTINE FLUXI() - - USE LES3D_DATA - IMPLICIT REAL*8(A-H,O-Z) - - ALLOCATABLE QS(:) - - ALLOCATE( QS(0:IMAX)) - QS=0D0 - - RETURN - END -!------------------------------------------------------------------------ -!------------------------------------------------------------------------ - SUBROUTINE EXTRAPI() - - USE LES3D_DATA - IMPLICIT REAL*8(A-H,O-Z) - - I1 = 0 - I2 = IMAX - 1 - - DO I = I1, I2 - UAV(I,1,2) = QAV(I,1,2) - END DO - - RETURN - END -! { dg-final { scan-tree-dump-times "stride" 6 "lim" } } -! { dg-final { cleanup-tree-dump "lim" } } @@ -5665,7 +5665,7 @@ build_array_type (tree elt_type, tree index_type) hashcode = iterative_hash_object (TYPE_HASH (index_type), hashcode); t = type_hash_canon (hashcode, t); - if (!COMPLETE_OR_UNBOUND_ARRAY_TYPE_P (t)) + if (!COMPLETE_TYPE_P (t)) layout_type (t); if (TYPE_CANONICAL (t) == t) |