Commit 7ba6738b by Jakub Jelinek Committed by Jakub Jelinek

re PR tree-optimization/87360 (ICE in remove_redundant_iv_tests at…

re PR tree-optimization/87360 (ICE in remove_redundant_iv_tests at gcc/tree-ssa-loop-ivcanon.c:571 since r255467)

	PR tree-optimization/87360
	* gimple-loop-jam.c (tree_loop_unroll_and_jam): On failure to analyze
	data dependencies, don't return false, just continue.  Formatting
	fixes.
	(merge_loop_tree, bb_prevents_fusion_p, unroll_jam_possible_p,
	fuse_loops): Formatting fixes.

	* g++.dg/opt/pr87360.C: New test.
	* gfortran.dg/pr87360.f90: New test.

From-SVN: r266820
parent 9c6ff7b2
2018-12-05 Jakub Jelinek <jakub@redhat.com> 2018-12-05 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/87360
* gimple-loop-jam.c (tree_loop_unroll_and_jam): On failure to analyze
data dependencies, don't return false, just continue. Formatting
fixes.
(merge_loop_tree, bb_prevents_fusion_p, unroll_jam_possible_p,
fuse_loops): Formatting fixes.
PR sanitizer/88333 PR sanitizer/88333
* cfgexpand.c (expand_stack_vars): If asan_vec is empty, start with * cfgexpand.c (expand_stack_vars): If asan_vec is empty, start with
aligning frame offset to ASAN_RED_ZONE_SIZE bytes. aligning frame offset to ASAN_RED_ZONE_SIZE bytes.
...@@ -455,7 +455,7 @@ tree_loop_unroll_and_jam (void) ...@@ -455,7 +455,7 @@ tree_loop_unroll_and_jam (void)
fprintf (dump_file, "Cannot analyze data dependencies\n"); fprintf (dump_file, "Cannot analyze data dependencies\n");
free_data_refs (datarefs); free_data_refs (datarefs);
free_dependence_relations (dependences); free_dependence_relations (dependences);
return false; continue;
} }
if (!datarefs.length ()) if (!datarefs.length ())
continue; continue;
......
2018-12-05 Jakub Jelinek <jakub@redhat.com> 2018-12-05 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/87360
* g++.dg/opt/pr87360.C: New test.
* gfortran.dg/pr87360.f90: New test.
PR c++/87897 PR c++/87897
* g++.dg/init/const13.C: New test. * g++.dg/init/const13.C: New test.
......
// PR tree-optimization/87360
// { dg-do compile { target size32plus } }
// { dg-options "-O3 -fno-tree-dce --param unroll-jam-min-percent=0" }
void abort (void);
void foo (int N)
{
int i, j;
int x[1000][1000];
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
x[i][j] = i + j + 3;
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
if (x[i][j] != i + j + 3)
abort ();
}
int main(void)
{
foo (1000);
return 0;
}
! PR tree-optimization/87360
! { dg-do compile }
! { dg-options "-fno-tree-dce -O3 --param max-completely-peeled-insns=0" }
include 'function_optimize_2.f90'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment