Fix redirection in ipa.c

Jan Hubicka hubicka@ucw.cz
Mon Sep 9 07:22:00 GMT 2013


Hi,
this patch fixes ICE when edge redirection happens just before summary generation.
At that time we still don't want edges to be redirected when underlying statements
are not.

Bootstrapped/regtested x86_64-linux, comitted.

	* ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA
	summary generation.
Index: ipa.c
===================================================================
--- ipa.c	(revision 202370)
+++ ipa.c	(working copy)
@@ -220,9 +220,9 @@ walk_polymorphic_call_targets (pointer_s
 		     edge->caller->symbol.order,
 		     cgraph_node_name (target), target->symbol.order);
 	  edge = cgraph_make_edge_direct (edge, target);
-	  if (cgraph_state != CGRAPH_STATE_IPA_SSA)
+	  if (!inline_summary_vec && edge->call_stmt)
 	    cgraph_redirect_edge_call_stmt_to_callee (edge);
-	  else if (inline_summary_vec)
+	  else
 	    inline_update_overall_summary (node);
 	}
     }



More information about the Gcc-patches mailing list