diff options
author | Jakub Jelinek <jakub@redhat.com> | 2009-03-23 15:00:34 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2009-03-23 15:00:34 +0100 |
commit | 88ccb72ad199fe41a52bd85e9adad1ae17544db1 (patch) | |
tree | bc17ab24c133ad5763626a00b16f332280e62164 /gcc | |
parent | a583a67ee399853863e79f9eefcc3d05eea3e23e (diff) | |
download | gcc-88ccb72ad199fe41a52bd85e9adad1ae17544db1.zip gcc-88ccb72ad199fe41a52bd85e9adad1ae17544db1.tar.gz gcc-88ccb72ad199fe41a52bd85e9adad1ae17544db1.tar.bz2 |
re PR tree-optimization/39516 (internal compiler error: in copy_to_mode_reg, at explow.c:623)
PR tree-optimization/39516
* lambda-code.c (perfect_nestify): Fix type of the uboundvar variable.
* gfortran.dg/pr39516.f: New test.
From-SVN: r145008
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/lambda-code.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr39516.f | 20 |
4 files changed, 32 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2a8de0a..261b135 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-03-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/39516 + * lambda-code.c (perfect_nestify): Fix type of the uboundvar variable. + 2009-03-23 Bingfeng Mei <bmei@broadcom.com> * config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint diff --git a/gcc/lambda-code.c b/gcc/lambda-code.c index 794d4e8..07b9469 100644 --- a/gcc/lambda-code.c +++ b/gcc/lambda-code.c @@ -2472,7 +2472,8 @@ perfect_nestify (struct loop *loop, it to one just in case. */ exit_condition = get_loop_exit_condition (newloop); - uboundvar = create_tmp_var (integer_type_node, "uboundvar"); + uboundvar = create_tmp_var (TREE_TYPE (VEC_index (tree, ubounds, 0)), + "uboundvar"); add_referenced_var (uboundvar); stmt = gimple_build_assign (uboundvar, VEC_index (tree, ubounds, 0)); uboundvar = make_ssa_name (uboundvar, stmt); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index abad6ba..65f7760 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-03-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/39516 + * gfortran.dg/pr39516.f: New test. + 2009-03-22 Hans-Peter Nilsson <hp@axis.com> * lib/target-libpath.exp (set_ld_library_path_env_vars): diff --git a/gcc/testsuite/gfortran.dg/pr39516.f b/gcc/testsuite/gfortran.dg/pr39516.f new file mode 100644 index 0000000..3d6104a --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr39516.f @@ -0,0 +1,20 @@ +C PR tree-optimization/39516 +C { dg-do compile } +C { dg-options "-O2 -ftree-loop-linear" } + SUBROUTINE SUB(A, B, M) + IMPLICIT NONE + DOUBLE PRECISION A(20,20), B(20) + INTEGER*8 I, J, K, M + DO I=1,M + DO J=1,M + A(I,J)=A(I,J)+1 + END DO + END DO + DO K=1,20 + DO I=1,M + DO J=1,M + B(I)=B(I)+A(I,J) + END DO + END DO + END DO + END SUBROUTINE |