Commit b56b040c by Richard Biener Committed by Richard Biener

re PR tree-optimization/66123 (Array of labels as values + ternary operator +…

re PR tree-optimization/66123 (Array of labels as values + ternary operator + pointer arithmetic = internal compiler error)

2015-05-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66123
	* tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
	a taken edge.

	* gcc.dg/torture/pr66123.c: New testcase.

From-SVN: r223130
parent 3211f4c2
2015-05-13 Richard Biener <rguenther@suse.de> 2015-05-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/66123
* tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
a taken edge.
2015-05-13 Richard Biener <rguenther@suse.de>
PR middle-end/66110 PR middle-end/66110
* alias.c (alias_sets_conflict_p): Do not treat has_zero_child * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
specially. specially.
......
2015-05-13 Richard Biener <rguenther@suse.de> 2015-05-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/66123
* gcc.dg/torture/pr66123.c: New testcase.
2015-05-13 Richard Biener <rguenther@suse.de>
PR middle-end/66110 PR middle-end/66110
* gcc.dg/alias-2.c: Adjust. * gcc.dg/alias-2.c: Adjust.
* gcc.dg/tree-ssa/ssa-dse-17.c: New testcase. * gcc.dg/tree-ssa/ssa-dse-17.c: New testcase.
......
/* { dg-do compile } */
int
test (int foo)
{
static void *dummy[] = { &&a, &&b };
goto *((char *) &&b - 2 * (foo < 0));
a:
b:
return 0;
}
...@@ -2918,6 +2918,9 @@ propagate_rhs_into_lhs (gimple stmt, tree lhs, tree rhs, bitmap interesting_name ...@@ -2918,6 +2918,9 @@ propagate_rhs_into_lhs (gimple stmt, tree lhs, tree rhs, bitmap interesting_name
{ {
basic_block bb = gimple_bb (use_stmt); basic_block bb = gimple_bb (use_stmt);
edge te = find_taken_edge (bb, val); edge te = find_taken_edge (bb, val);
if (!te)
continue;
edge_iterator ei; edge_iterator ei;
edge e; edge e;
gimple_stmt_iterator gsi; gimple_stmt_iterator gsi;
......
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