Fix aliases on AIX

Jan Hubicka hubicka@ucw.cz
Wed Jul 9 16:07:00 GMT 2014


Hi,
this is the last part enabling local aliases that seems to work now.
I think we can go ahead and try to enable section GC and SUPPORTS_ONE_ONLY.

Honza

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 212395)
+++ ChangeLog	(working copy)
@@ -1,5 +1,10 @@
 2014-07-08  Jan Hubicka  <hubicka@ucw.cz>
 
+	* ipa-visibility.c (function_and_variable_visibility): Remove
+	temporary hack disabling local aliases on AIX.
+
+2014-07-08  Jan Hubicka  <hubicka@ucw.cz>
+
 	* ipa-cp.c (devirtualization_time_bonus): Walk through aliases.
 	* ipa-inline-analysis.c (estimate_edge_devirt_benefit): Likewise.
 
Index: ipa-visibility.c
===================================================================
--- ipa-visibility.c	(revision 212393)
+++ ipa-visibility.c	(working copy)
@@ -567,9 +567,6 @@ function_and_variable_visibility (bool w
 
 	 TODO: We can also update virtual tables.  */
       if (node->callers 
-          /* FIXME: currently this optimization breaks on AIX.  Disable it for targets
-             without comdat support for now.  */
-	  && SUPPORTS_ONE_ONLY
 	  && can_replace_by_local_alias (node))
 	{
 	  struct cgraph_node *alias = cgraph (symtab_nonoverwritable_alias (node));
@@ -672,10 +669,7 @@ function_and_variable_visibility (bool w
 
       /* Update virtual tables to point to local aliases where possible.  */
       if (DECL_VIRTUAL_P (vnode->decl)
-	  && !DECL_EXTERNAL (vnode->decl)
-	  /* FIXME: currently this optimization breaks on AIX.  Disable it for targets
-	     without comdat support for now.  */
-	  && SUPPORTS_ONE_ONLY)
+	  && !DECL_EXTERNAL (vnode->decl))
 	{
 	  int i;
 	  struct ipa_ref *ref;



More information about the Gcc-patches mailing list