diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-04-24 10:13:29 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-04-24 10:13:29 +0200 |
commit | 2bd49e6b64a450c9da88b13a338b0d194008f5bd (patch) | |
tree | fff1f299e3b40378a41df978018be9262290dda7 | |
parent | 9bedfe1899e6f29cb51a1bad06bab7d3082fe251 (diff) | |
download | gcc-2bd49e6b64a450c9da88b13a338b0d194008f5bd.zip gcc-2bd49e6b64a450c9da88b13a338b0d194008f5bd.tar.gz gcc-2bd49e6b64a450c9da88b13a338b0d194008f5bd.tar.bz2 |
re PR tree-optimization/90211 (ICE: tree check: expected ssa_name, have real_cst in first_readonly_imm_use, at ssa-iterators.h:351)
PR tree-optimization/90211
* tree-parloops.c (try_create_reduction_list): Ignore phi arguments
which are not SSA_NAMEs.
* gcc.dg/autopar/pr90211.c: New test.
From-SVN: r270533
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/autopar/pr90211.c | 24 | ||||
-rw-r--r-- | gcc/tree-parloops.c | 2 |
4 files changed, 36 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2c1cc37..d4af0fd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,10 +1,15 @@ +2019-04-24 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/90211 + * tree-parloops.c (try_create_reduction_list): Ignore phi arguments + which are not SSA_NAMEs. + 2018-04-23 Sudakshina Das <sudi.das@arm.com> * config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define for AArch64. (aarch64_file_end_indicate_exec_stack): Add gnu note section. - 2019-04-23 Roman Zhuykov <zhroma@ispras.ru> PR rtl-optimization/87979 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 66d0b6f..b301146 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-04-24 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/90211 + * gcc.dg/autopar/pr90211.c: New test. + 2019-04-23 Iain Buclaw <ibuclaw@gdcproject.org> Robin Dapp <rdapp@linux.ibm.com> diff --git a/gcc/testsuite/gcc.dg/autopar/pr90211.c b/gcc/testsuite/gcc.dg/autopar/pr90211.c new file mode 100644 index 0000000..ba314eb --- /dev/null +++ b/gcc/testsuite/gcc.dg/autopar/pr90211.c @@ -0,0 +1,24 @@ +/* PR tree-optimization/90211 */ +/* { dg-do compile } */ +/* { dg-require-effective-target pthread } */ +/* { dg-options "-O3 -fassociative-math -ftree-parallelize-loops=2 -fno-signed-zeros -fno-trapping-math -fno-tree-copy-prop" } */ + +double +foo (int x) +{ + double a, b = 0.0; + while (x < 3) + { + int c; + a = 0.0; + c = 0; + while (c < x) + { + a += 1.0; + ++c; + } + b += 1.0; + ++x; + } + return a + b; +} diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c index 7124c5b..2fddc59 100644 --- a/gcc/tree-parloops.c +++ b/gcc/tree-parloops.c @@ -2794,7 +2794,7 @@ try_create_reduction_list (loop_p loop, gimple *reduc_phi; tree val = PHI_ARG_DEF_FROM_EDGE (phi, exit); - if (!virtual_operand_p (val)) + if (TREE_CODE (val) == SSA_NAME && !virtual_operand_p (val)) { if (dump_file && (dump_flags & TDF_DETAILS)) { |