Go to file
Fei Yang 5c9669a0e6 vect: Fix an ICE in exact_div [PR95961]
In the test case for PR95961, vectorization factor computed
by vect_determine_vectorization_factor is [8,8].  But this is
updated to [1,1] later by vect_update_vf_for_slp.  When we call
vect_get_num_vectors in vect_enhance_data_refs_alignment, the number
of scalars which is based on the vectorization factor is not a multiple
of the the number of elements in the vector type.  This leads to
the ICE.  This isn't a simple stream of contiguous vector accesses.
It's hard to predict from the available information how many vector
accesses we'll actually need per iteration.  As discussed, here we
should use the number of scalars instead of the number of vectors as
an upper bound for the loop saving info about DR in the hash table.

2020-07-02  Felix Yang  <felix.yang@huawei.com>

gcc/
	PR tree-optimization/95961
	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Use the
	number of scalars instead of the number of vectors as an upper bound
	for the loop saving info about DR in the hash table.  Remove unused
	local variables.

gcc/testsuite/
	PR tree-optimization/95961
	* gcc.target/aarch64/sve/pr95961.c: New test.
2020-07-02 10:14:33 +01:00
INSTALL
config
contrib Daily bump. 2020-07-01 00:16:26 +00:00
fixincludes
gcc vect: Fix an ICE in exact_div [PR95961] 2020-07-02 10:14:33 +01:00
gnattools
gotools
include Daily bump. 2020-06-27 00:16:24 +00:00
intl
libada
libatomic Daily bump. 2020-06-23 00:16:23 +00:00
libbacktrace
libcc1 Daily bump. 2020-07-01 00:16:26 +00:00
libcpp
libdecnumber
libffi
libgcc Do not stream all zeros for gcda files. 2020-07-02 10:16:02 +02:00
libgfortran Daily bump. 2020-06-23 00:16:23 +00:00
libgo libgo: update x/sys/cpu to add all GOARCHes supported by gccgo 2020-06-15 14:20:07 -07:00
libgomp Daily bump. 2020-07-01 00:16:26 +00:00
libhsail-rt
libiberty Daily bump. 2020-06-27 00:16:24 +00:00
libitm
libobjc
liboffloadmic
libphobos Daily bump. 2020-06-26 00:16:23 +00:00
libquadmath
libsanitizer
libssp
libstdc++-v3 Daily bump. 2020-07-02 00:16:26 +00:00
libvtv
lto-plugin
maintainer-scripts
zlib
.dir-locals.el
.gitattributes
.gitignore Add .clang-tidy to git ignored. 2020-06-12 16:03:02 +02:00
ABOUT-NLS
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
ChangeLog Daily bump. 2020-06-13 00:16:25 +00:00
ChangeLog.jit
ChangeLog.tree-ssa
MAINTAINERS
Makefile.def
Makefile.in
Makefile.tpl
README
ar-lib
compile
config-ml.in
config.guess
config.rpath
config.sub
configure
configure.ac
depcomp
install-sh
libtool-ldflags
libtool.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
missing
mkdep
mkinstalldirs
move-if-change
multilib.am
symlink-tree
test-driver
ylwrap

README

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.