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