Commit 6e5799b9 by Richard Biener Committed by Richard Biener

tree-ssa-propagate.c (add_control_edge): Print less vertical space.

2014-05-28  Richard Biener  <rguenther@suse.de>

	* tree-ssa-propagate.c (add_control_edge): Print less vertical space.
	* tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
	(vrp_visit_assignment_or_call): Print less vertical space.
	(vrp_visit_stmt): Likewise.
	(vrp_visit_phi_node): Likewise.  For a PHI argument with
	VR_VARYING range consider recording it as copy.

From-SVN: r211022
parent 47f9fca8
2014-05-28 Richard Biener <rguenther@suse.de> 2014-05-28 Richard Biener <rguenther@suse.de>
* tree-ssa-propagate.c (add_control_edge): Print less vertical space.
* tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
(vrp_visit_assignment_or_call): Print less vertical space.
(vrp_visit_stmt): Likewise.
(vrp_visit_phi_node): Likewise. For a PHI argument with
VR_VARYING range consider recording it as copy.
2014-05-28 Richard Biener <rguenther@suse.de>
Revert Revert
2014-05-28 Richard Biener <rguenther@suse.de> 2014-05-28 Richard Biener <rguenther@suse.de>
......
...@@ -301,7 +301,7 @@ add_control_edge (edge e) ...@@ -301,7 +301,7 @@ add_control_edge (edge e)
cfg_blocks_add (bb); cfg_blocks_add (bb);
if (dump_file && (dump_flags & TDF_DETAILS)) if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, "Adding Destination of edge (%d -> %d) to worklist\n\n", fprintf (dump_file, "\nAdding Destination of edge (%d -> %d) to worklist\n",
e->src->index, e->dest->index); e->src->index, e->dest->index);
} }
......
...@@ -1810,7 +1810,7 @@ extract_range_from_ssa_name (value_range_t *vr, tree var) ...@@ -1810,7 +1810,7 @@ extract_range_from_ssa_name (value_range_t *vr, tree var)
{ {
value_range_t *var_vr = get_value_range (var); value_range_t *var_vr = get_value_range (var);
if (var_vr->type != VR_UNDEFINED && var_vr->type != VR_VARYING) if (var_vr->type != VR_VARYING)
copy_value_range (vr, var_vr); copy_value_range (vr, var_vr);
else else
set_value_range (vr, VR_RANGE, var, var, NULL); set_value_range (vr, VR_RANGE, var, var, NULL);
...@@ -6679,7 +6679,7 @@ vrp_visit_assignment_or_call (gimple stmt, tree *output_p) ...@@ -6679,7 +6679,7 @@ vrp_visit_assignment_or_call (gimple stmt, tree *output_p)
print_generic_expr (dump_file, lhs, 0); print_generic_expr (dump_file, lhs, 0);
fprintf (dump_file, ": "); fprintf (dump_file, ": ");
dump_value_range (dump_file, &new_vr); dump_value_range (dump_file, &new_vr);
fprintf (dump_file, "\n\n"); fprintf (dump_file, "\n");
} }
if (new_vr.type == VR_VARYING) if (new_vr.type == VR_VARYING)
...@@ -7473,7 +7473,6 @@ vrp_visit_stmt (gimple stmt, edge *taken_edge_p, tree *output_p) ...@@ -7473,7 +7473,6 @@ vrp_visit_stmt (gimple stmt, edge *taken_edge_p, tree *output_p)
{ {
fprintf (dump_file, "\nVisiting statement:\n"); fprintf (dump_file, "\nVisiting statement:\n");
print_gimple_stmt (dump_file, stmt, 0, dump_flags); print_gimple_stmt (dump_file, stmt, 0, dump_flags);
fprintf (dump_file, "\n");
} }
if (!stmt_interesting_for_vrp (stmt)) if (!stmt_interesting_for_vrp (stmt))
...@@ -8242,7 +8241,7 @@ vrp_visit_phi_node (gimple phi) ...@@ -8242,7 +8241,7 @@ vrp_visit_phi_node (gimple phi)
if (dump_file && (dump_flags & TDF_DETAILS)) if (dump_file && (dump_flags & TDF_DETAILS))
{ {
fprintf (dump_file, fprintf (dump_file,
"\n Argument #%d (%d -> %d %sexecutable)\n", " Argument #%d (%d -> %d %sexecutable)\n",
(int) i, e->src->index, e->dest->index, (int) i, e->src->index, e->dest->index,
(e->flags & EDGE_EXECUTABLE) ? "" : "not "); (e->flags & EDGE_EXECUTABLE) ? "" : "not ");
} }
...@@ -8260,16 +8259,30 @@ vrp_visit_phi_node (gimple phi) ...@@ -8260,16 +8259,30 @@ vrp_visit_phi_node (gimple phi)
/* Do not allow equivalences or symbolic ranges to leak in from /* Do not allow equivalences or symbolic ranges to leak in from
backedges. That creates invalid equivalencies. backedges. That creates invalid equivalencies.
See PR53465 and PR54767. */ See PR53465 and PR54767. */
if (e->flags & EDGE_DFS_BACK if (e->flags & EDGE_DFS_BACK)
&& (vr_arg.type == VR_RANGE
|| vr_arg.type == VR_ANTI_RANGE))
{ {
vr_arg.equiv = NULL; if (vr_arg.type == VR_RANGE
if (symbolic_range_p (&vr_arg)) || vr_arg.type == VR_ANTI_RANGE)
{ {
vr_arg.type = VR_VARYING; vr_arg.equiv = NULL;
vr_arg.min = NULL_TREE; if (symbolic_range_p (&vr_arg))
vr_arg.max = NULL_TREE; {
vr_arg.type = VR_VARYING;
vr_arg.min = NULL_TREE;
vr_arg.max = NULL_TREE;
}
}
}
else
{
/* If the non-backedge arguments range is VR_VARYING then
we can still try recording a simple equivalence. */
if (vr_arg.type == VR_VARYING)
{
vr_arg.type = VR_RANGE;
vr_arg.min = arg;
vr_arg.max = arg;
vr_arg.equiv = NULL;
} }
} }
} }
...@@ -8288,7 +8301,7 @@ vrp_visit_phi_node (gimple phi) ...@@ -8288,7 +8301,7 @@ vrp_visit_phi_node (gimple phi)
{ {
fprintf (dump_file, "\t"); fprintf (dump_file, "\t");
print_generic_expr (dump_file, arg, dump_flags); print_generic_expr (dump_file, arg, dump_flags);
fprintf (dump_file, "\n\tValue: "); fprintf (dump_file, ": ");
dump_value_range (dump_file, &vr_arg); dump_value_range (dump_file, &vr_arg);
fprintf (dump_file, "\n"); fprintf (dump_file, "\n");
} }
...@@ -8396,7 +8409,7 @@ update_range: ...@@ -8396,7 +8409,7 @@ update_range:
print_generic_expr (dump_file, lhs, 0); print_generic_expr (dump_file, lhs, 0);
fprintf (dump_file, ": "); fprintf (dump_file, ": ");
dump_value_range (dump_file, &vr_result); dump_value_range (dump_file, &vr_result);
fprintf (dump_file, "\n\n"); fprintf (dump_file, "\n");
} }
return SSA_PROP_INTERESTING; return SSA_PROP_INTERESTING;
......
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