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>
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
* alias.c (alias_sets_conflict_p): Do not treat has_zero_child
specially.
......
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
* gcc.dg/alias-2.c: Adjust.
* 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
{
basic_block bb = gimple_bb (use_stmt);
edge te = find_taken_edge (bb, val);
if (!te)
continue;
edge_iterator ei;
edge e;
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