Commit c1d21cd1 by Richard Biener Committed by Richard Biener

re PR tree-optimization/88074 (g++ hangs on math expression)

2018-11-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/88074
	* tree-ssa-dom.c (pass_dominator::execute): Do not walk
	backedges.

	* gcc.dg/pr88074.c: New testcase.

From-SVN: r266313
parent b6137408
2018-11-20 Richard Biener <rguenther@suse.de> 2018-11-20 Richard Biener <rguenther@suse.de>
PR tree-optimization/88074
* tree-ssa-dom.c (pass_dominator::execute): Do not walk
backedges.
2018-11-20 Richard Biener <rguenther@suse.de>
PR tree-optimization/88069 PR tree-optimization/88069
* tree-ssa-sccvn.c (visit_phi): Do not value-number to unvisited * tree-ssa-sccvn.c (visit_phi): Do not value-number to unvisited
virtual PHI arguments. virtual PHI arguments.
2018-11-20 Richard Biener <rguenther@suse.de>
PR tree-optimization/88074
* gcc.dg/pr88074.c: New testcase.
2018-11-20 Martin Liska <mliska@suse.cz> 2018-11-20 Martin Liska <mliska@suse.cz>
* pr57362.C: Move to g++.target/i386 folder. * pr57362.C: Move to g++.target/i386 folder.
......
/* { dg-do compile } */
/* { dg-options "-fopenmp -O -fexceptions -fnon-call-exceptions -fno-tree-fre" } */
int
s0 (void)
{
int g6, oh = 0;
int *a6 = &g6;
(void) a6;
#pragma omp parallel for
for (g6 = 0; g6 < 1; ++g6)
{
int zk;
for (zk = 0; zk < 1; ++zk)
{
oh += zk / (zk + 1);
for (;;)
{
}
}
a6 = &zk;
}
return oh;
}
...@@ -777,7 +777,8 @@ pass_dominator::execute (function *fun) ...@@ -777,7 +777,8 @@ pass_dominator::execute (function *fun)
if (bb == NULL) if (bb == NULL)
continue; continue;
while (single_succ_p (bb) while (single_succ_p (bb)
&& (single_succ_edge (bb)->flags & EDGE_EH) == 0) && (single_succ_edge (bb)->flags
& (EDGE_EH|EDGE_DFS_BACK)) == 0)
bb = single_succ (bb); bb = single_succ (bb);
if (bb == EXIT_BLOCK_PTR_FOR_FN (fun)) if (bb == EXIT_BLOCK_PTR_FOR_FN (fun))
continue; continue;
......
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