Commit 9e0b0ec3 by Michael Ploujnikov Committed by Michael Ploujnikov

re PR lto/88297 (Assembler Error: symbol…

re PR lto/88297 (Assembler Error: symbol `_Z41__static_initialization_and_destruction_0ii.constprop.0' is already defined)

	PR ipa/88297
	* ipa-cp.c (create_specialized_node): Track clone counters by
	node assembler names.
	(ipcp_driver): Change type of clone_num_suffixes key to const
	char*.

From-SVN: r266780
parent 0232f69f
2018-12-04 Michael Ploujnikov <michael.ploujnikov@oracle.com>
PR ipa/88297
* ipa-cp.c (create_specialized_node): Track clone counters by
node assembler names.
(ipcp_driver): Change type of clone_num_suffixes key to const
char*.
2018-12-04 Richard Biener <rguenther@suse.de> 2018-12-04 Richard Biener <rguenther@suse.de>
* tree-vect-loop.c (vect_transform_loop): Fix epilogue iterations * tree-vect-loop.c (vect_transform_loop): Fix epilogue iterations
...@@ -376,8 +376,8 @@ static profile_count max_count; ...@@ -376,8 +376,8 @@ static profile_count max_count;
static long overall_size, max_new_size; static long overall_size, max_new_size;
/* Node to unique clone suffix number map. */ /* Node name to unique clone suffix number map. */
static hash_map<cgraph_node *, unsigned> *clone_num_suffixes; static hash_map<const char *, unsigned> *clone_num_suffixes;
/* Return the param lattices structure corresponding to the Ith formal /* Return the param lattices structure corresponding to the Ith formal
parameter of the function described by INFO. */ parameter of the function described by INFO. */
...@@ -3832,7 +3832,9 @@ create_specialized_node (struct cgraph_node *node, ...@@ -3832,7 +3832,9 @@ create_specialized_node (struct cgraph_node *node,
} }
} }
unsigned &suffix_counter = clone_num_suffixes->get_or_insert (node); unsigned &suffix_counter = clone_num_suffixes->get_or_insert (
IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (
node->decl)));
new_node = node->create_virtual_clone (callers, replace_trees, new_node = node->create_virtual_clone (callers, replace_trees,
args_to_skip, "constprop", args_to_skip, "constprop",
suffix_counter); suffix_counter);
...@@ -5050,7 +5052,7 @@ ipcp_driver (void) ...@@ -5050,7 +5052,7 @@ ipcp_driver (void)
ipa_check_create_node_params (); ipa_check_create_node_params ();
ipa_check_create_edge_args (); ipa_check_create_edge_args ();
clone_num_suffixes = new hash_map<cgraph_node *, unsigned>; clone_num_suffixes = new hash_map<const char *, unsigned>;
if (dump_file) if (dump_file)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment