diff options
author | Daniel Berlin <dberlin@dberlin.org> | 2005-01-06 22:08:27 +0000 |
---|---|---|
committer | Daniel Berlin <dberlin@gcc.gnu.org> | 2005-01-06 22:08:27 +0000 |
commit | 1f24dd474e4e3d676684d7ec022b35350d4c4a0e (patch) | |
tree | 0cefe92e4de94b5984c23671a4fd98a1e642c18f /gcc/testsuite | |
parent | a8e3a00f544e678384844899cec3a636442e1517 (diff) | |
download | gcc-1f24dd474e4e3d676684d7ec022b35350d4c4a0e.zip gcc-1f24dd474e4e3d676684d7ec022b35350d4c4a0e.tar.gz gcc-1f24dd474e4e3d676684d7ec022b35350d4c4a0e.tar.bz2 |
re PR tree-optimization/18792 (ICE with -O1 -ftree-loop-linear on small test case)
2005-01-06 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/18792
* tree-data-ref.c (build_classic_dist_vector): Change first_loop
to first_loop_depth, and use loop depth instead of loop number.
(build_classic_dir_vector): Ditto.
(compute_data_dependences_for_loop): Use depth, not loop number.
* tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop
number. Pass in loops, instead of loop numbers.
(gather_interchange_stats): Ditto.
(linear_transform_loops): Ditto.
From-SVN: r93008
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr18792.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr18792.c b/gcc/testsuite/gcc.dg/pr18792.c new file mode 100644 index 0000000..4e93fe1 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr18792.c @@ -0,0 +1,16 @@ +/* PR tree-optimization/18792 */ +/* { dg-do compile } */ +/* { dg-options "-O1 -ftree-loop-linear" } */ +void put_atoms_in_triclinic_unitcell(float x[][3]) +{ + int i=0,d; + + while (x[i][3] < 0) + for (d=0; d<=3; d++) + x[i][d] = 0; + + while (x[i][3] >= 0) + for (d=0; d<=3; d++) + x[i][d] = 0; + +} |