mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 12:21:09 +08:00
re PR middle-end/61209 (internal compiler error: in fold_convert_loc, at fold-const.c:1950)
2014-05-19 Richard Biener <rguenther@suse.de> PR tree-optimization/61209 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP. * gfortran.dg/pr61209.f90: New testcase. From-SVN: r210613
This commit is contained in:
parent
40ba8dfb39
commit
051351362b
@ -1,3 +1,8 @@
|
||||
2014-05-19 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/61209
|
||||
* tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
|
||||
|
||||
2014-05-19 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* except.c (init_eh): Fix computation of builtin setjmp buffer
|
||||
|
@ -1,3 +1,8 @@
|
||||
2014-05-19 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/61209
|
||||
* gfortran.dg/pr61209.f90: New testcase.
|
||||
|
||||
2014-05-19 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/61184
|
||||
|
46
gcc/testsuite/gfortran.dg/pr61209.f90
Normal file
46
gcc/testsuite/gfortran.dg/pr61209.f90
Normal file
@ -0,0 +1,46 @@
|
||||
! { dg-do compile }
|
||||
! { dg-options "-O -fbounds-check" }
|
||||
MODULE array_types
|
||||
INTERFACE array_data
|
||||
MODULE PROCEDURE array_data_i1d
|
||||
END INTERFACE
|
||||
TYPE array_i1d_type
|
||||
END TYPE array_i1d_type
|
||||
TYPE array_i1d_obj
|
||||
TYPE(array_i1d_type), POINTER :: low
|
||||
END TYPE array_i1d_obj
|
||||
TYPE dbcsr_type
|
||||
TYPE(array_i1d_obj) :: local_rows
|
||||
LOGICAL :: local_indexing
|
||||
END TYPE dbcsr_type
|
||||
TYPE dbcsr_obj
|
||||
TYPE(dbcsr_type) :: m
|
||||
END TYPE dbcsr_obj
|
||||
CONTAINS
|
||||
FUNCTION array_data_i1d(array) RESULT (DATA)
|
||||
TYPE(array_i1d_obj), INTENT(IN) :: array
|
||||
INTEGER, DIMENSION(:), POINTER :: DATA
|
||||
IF (ASSOCIATED (array%low)) THEN
|
||||
ENDIF
|
||||
END FUNCTION array_data_i1d
|
||||
SUBROUTINE dbcsr_make_index_list (matrix, thread_redist)
|
||||
TYPE(dbcsr_obj), INTENT(INOUT) :: matrix
|
||||
LOGICAL, INTENT(IN) :: thread_redist
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:, :) :: blki
|
||||
INTEGER, DIMENSION(:), POINTER :: local_rows, td
|
||||
INTEGER :: blk
|
||||
nthreads = 0
|
||||
IF (nthreads .GT. 0 .AND. thread_redist) THEN
|
||||
IF (matrix%m%local_indexing) THEN
|
||||
local_rows => array_data (matrix%m%local_rows)
|
||||
ENDIF
|
||||
CALL dbcsr_build_row_index_inplace (thr_c, nthreads)
|
||||
IF (matrix%m%local_indexing) THEN
|
||||
DO blk = 1, nblks
|
||||
IF (td(local_rows(blki(1, blk))) .EQ. ithread) THEN
|
||||
ENDIF
|
||||
ENDDO
|
||||
ENDIF
|
||||
ENDIF
|
||||
END SUBROUTINE dbcsr_make_index_list
|
||||
END MODULE
|
@ -3125,12 +3125,14 @@ visit_phi (gimple phi)
|
||||
if (is_gimple_min_invariant (sameval))
|
||||
{
|
||||
VN_INFO (PHI_RESULT (phi))->has_constants = true;
|
||||
VN_INFO (PHI_RESULT (phi))->expr = sameval;
|
||||
if (sameval != VN_TOP)
|
||||
VN_INFO (PHI_RESULT (phi))->expr = sameval;
|
||||
}
|
||||
else
|
||||
{
|
||||
VN_INFO (PHI_RESULT (phi))->has_constants = false;
|
||||
VN_INFO (PHI_RESULT (phi))->expr = sameval;
|
||||
if (sameval != VN_TOP)
|
||||
VN_INFO (PHI_RESULT (phi))->expr = sameval;
|
||||
}
|
||||
|
||||
if (TREE_CODE (sameval) == SSA_NAME)
|
||||
|
Loading…
x
Reference in New Issue
Block a user