mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			re PR bootstrap/64612 (profiledbootstrap failures)
PR ipa/64612 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling of comdat locals. (inline_call): Fix removal of aliases. From-SVN: r219696
This commit is contained in:
		
							parent
							
								
									35228ac722
								
							
						
					
					
						commit
						8ccc8042d3
					
				|  | @ -1,3 +1,10 @@ | ||||||
|  | 2015-01-15  Jan Hubicka  <hubicka@ucw.cz> | ||||||
|  | 
 | ||||||
|  | 	PR ipa/64612 | ||||||
|  | 	* ipa-inline-transform.c (can_remove_node_now_p): Fix handling | ||||||
|  | 	of comdat locals. | ||||||
|  | 	(inline_call): Fix removal of aliases. | ||||||
|  | 
 | ||||||
| 2015-01-15  Jakub Jelinek  <jakub@redhat.com> | 2015-01-15  Jakub Jelinek  <jakub@redhat.com> | ||||||
| 
 | 
 | ||||||
| 	* flag-types.h (enum sanitize_code): Add SANITIZE_VPTR, | 	* flag-types.h (enum sanitize_code): Add SANITIZE_VPTR, | ||||||
|  |  | ||||||
|  | @ -139,7 +139,7 @@ can_remove_node_now_p (struct cgraph_node *node, struct cgraph_edge *e) | ||||||
| 
 | 
 | ||||||
|   /* When we see same comdat group, we need to be sure that all
 |   /* When we see same comdat group, we need to be sure that all
 | ||||||
|      items can be removed.  */ |      items can be removed.  */ | ||||||
|   if (!node->same_comdat_group) |   if (!node->same_comdat_group || !node->externally_visible) | ||||||
|     return true; |     return true; | ||||||
|   for (next = dyn_cast<cgraph_node *> (node->same_comdat_group); |   for (next = dyn_cast<cgraph_node *> (node->same_comdat_group); | ||||||
|        next != node; next = dyn_cast<cgraph_node *> (next->same_comdat_group)) |        next != node; next = dyn_cast<cgraph_node *> (next->same_comdat_group)) | ||||||
|  | @ -310,7 +310,8 @@ inline_call (struct cgraph_edge *e, bool update_original, | ||||||
|       while (alias && alias != callee) |       while (alias && alias != callee) | ||||||
| 	{ | 	{ | ||||||
| 	  if (!alias->callers | 	  if (!alias->callers | ||||||
| 	      && can_remove_node_now_p (alias, e)) | 	      && can_remove_node_now_p (alias, | ||||||
|  | 					!e->next_caller && !e->prev_caller ? e : NULL)) | ||||||
| 	    { | 	    { | ||||||
| 	      next_alias = alias->get_alias_target (); | 	      next_alias = alias->get_alias_target (); | ||||||
| 	      alias->remove (); | 	      alias->remove (); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Jan Hubicka
						Jan Hubicka