[Bug tree-optimization/70754] New: ICE during predictive commoning
vp at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Apr 21 15:41:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70754
Bug ID: 70754
Summary: ICE during predictive commoning
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: vp at gcc dot gnu.org
Target Milestone: ---
The following fortran testcase (reduced from a large program) at -Ofast causes
an ICE for aarch64-none-linux-gnu during predictive commoning. This is
reproducible with version 5.3, 6 and trunk.
$ cat y.f90
module m
implicit none
private
save
integer, parameter, public :: &
ii4 = selected_int_kind(6), &
rr8 = selected_real_kind(13)
integer (ii4), dimension(40,40,199), public :: xyz
public :: foo
contains
subroutine foo(a)
real (rr8), dimension(40,40), intent(out) :: a
real (rr8), dimension(40,40) :: b
integer (ii4), dimension(40,40) :: c
integer i, j
do i=1,20
b(i,j) = 123 * a(i,j) + 34 * a(i,j+1) &
+ 34 * a(i,j-1) + a(i+1,j+1) &
+ a(i+1,j-1) + a(i-1,j+1) &
+ a(i-1,j-1)
c(i,j) = 123
end do
where ((xyz(:,:,2) /= 0) .and. (c /= 0))
a = b/real(c)
elsewhere
a = 456
endwhere
end subroutine foo
end module m
$ gfortran -v -c -Ofast y.f90
Using built-in specs.
COLLECT_GCC=gfortran
Target: aarch64-none-linux-gnu
Configured with: /tmp/native-aarch64-none-linux-gnu/build/src/gcc/configure
--disable-bootstrap
--with-isl=/tmp/native-aarch64-none-linux-gnu/build/build-native-aarch64-none-linux-gnu/host-tools
--with-cloog=/tmp/native-aarch64-none-linux-gnu/build/build-native-aarch64-none-linux-gnu/host-tools
--with-build-sysroot=/tmp/native-aarch64-none-linux-gnu/build/build-native-aarch64-none-linux-gnu/install/glibc
--build=aarch64-none-linux-gnu --host=aarch64-none-linux-gnu
--target=aarch64-none-linux-gnu --prefix=/ --enable-languages=c,c++,fortran
--enable-plugin
--with-gmp=/tmp/native-aarch64-none-linux-gnu/build/build-native-aarch64-none-linux-gnu/host-tools
--with-mpfr=/tmp/native-aarch64-none-linux-gnu/build/build-native-aarch64-none-linux-gnu/host-tools
--with-mpc=/tmp/native-aarch64-none-linux-gnu/build/build-native-aarch64-none-linux-gnu/host-tools
--with-gnu-ld --with-plugin-ld=ld --disable-libsanitizer --disable-werror
Thread model: posix
gcc version 5.3.1 20160415
COLLECT_GCC_OPTIONS='-v' '-c' '-Ofast' '-mlittle-endian' '-mabi=lp64'
/usr/bin/../libexec/gcc/aarch64-none-linux-gnu/5.3.1/f951 y.f90 -quiet
-dumpbase y.f90 -mlittle-endian -mabi=lp64 -auxbase y -Ofast -version
-fintrinsic-modules-path
/usr/bin/../lib/gcc/aarch64-none-linux-gnu/5.3.1/finclude -o /tmp/ccIYeMBK.s
GNU Fortran version 5.3.1 20160415 (aarch64-none-linux-gnu)
compiled by GNU C version 4.8.4, GMP version 4.3.2, MPFR version 3.0.0,
MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU Fortran2008 version 5.3.1 20160415 (aarch64-none-linux-gnu)
compiled by GNU C version 4.8.4, GMP version 4.3.2, MPFR version 3.0.0,
MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
y.f90:13:0:
subroutine foo(a)
^
internal compiler error: 291) version 5.oot_vars, at tree-predcom.c:1495
0xa8dae3 initialize_root_vars
/tmp/native-aarch64-none-linux-gnu/build/src/gcc/gcc/tree-predcom.c:1495
0xa8dae3 initialize_root
/tmp/native-aarch64-none-linux-gnu/build/src/gcc/gcc/tree-predcom.c:1542
0xa8dae3 execute_pred_commoning_chain
/tmp/native-aarch64-none-linux-gnu/build/src/gcc/gcc/tree-predcom.c:1756
0xa8dae3 execute_pred_commoning
/tmp/native-aarch64-none-linux-gnu/build/src/gcc/gcc/tree-predcom.c:1822
0xa8f583 tree_predictive_commoning_loop
/tmp/native-aarch64-none-linux-gnu/build/src/gcc/gcc/tree-predcom.c:2585
0xa90b63 tree_predictive_commoning()
/tmp/native-aarch64-none-linux-gnu/build/src/gcc/gcc/tree-predcom.c:2612
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
More information about the Gcc-bugs
mailing list