+2015-02-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61548
+ * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
+
2015-02-08 Jan Hubicka <hubicka@ucw.cz>
PR ipa/63566
cgraph_node *func;
bool any_aliases = false;
tree ctor_body = NULL;
-
+ hash_set <varpool_node *> visited;
auto_vec <varpool_node *> tls_vars;
/* Examine all global variables for TLS variables. */
FOR_EACH_VARIABLE (var)
- if (DECL_THREAD_LOCAL_P (var->decl))
+ if (DECL_THREAD_LOCAL_P (var->decl)
+ && !visited.add (var))
{
gcc_checking_assert (TREE_STATIC (var->decl)
|| DECL_EXTERNAL (var->decl));
tls_vars.safe_push (var);
- if (var->alias && var->definition)
+ if (var->alias && var->definition
+ && !visited.add (var->ultimate_alias_target ()))
tls_vars.safe_push (var->ultimate_alias_target ());
}