Commit b0d0a291 by Patrick Marlier Committed by Richard Henderson

re PR middle-end/51273 (ICE: vector VEC(inline_summary_t,base) index domain…

re PR middle-end/51273 (ICE: vector VEC(inline_summary_t,base) index domain error, in inline_summary at ipa-inline.h:193 with -O -fgnu-tm, transaction_safe and overloaded contructor)

PR middle-end/51273
        * cgraph.h (cgraph_call_node_duplication_hooks): Declare.
        * cgraph.c (cgraph_call_node_duplication_hooks): Make global.
        * cgraphunit.c (cgraph_copy_node_for_versioning): Call it.

From-SVN: r181887
parent fdb415fe
2011-12-01 Patrick Marlier <patrick.marlier@gmail.com>
PR middle-end/51273
* cgraph.h (cgraph_call_node_duplication_hooks): Declare.
* cgraph.c (cgraph_call_node_duplication_hooks): Make global.
* cgraphunit.c (cgraph_copy_node_for_versioning): Call it.
2011-12-01 Andrew Pinski <apinski@cavium.com> 2011-12-01 Andrew Pinski <apinski@cavium.com>
PR lto/51198 PR lto/51198
...@@ -412,7 +412,7 @@ cgraph_remove_node_duplication_hook (struct cgraph_2node_hook_list *entry) ...@@ -412,7 +412,7 @@ cgraph_remove_node_duplication_hook (struct cgraph_2node_hook_list *entry)
} }
/* Call all node duplication hooks. */ /* Call all node duplication hooks. */
static void void
cgraph_call_node_duplication_hooks (struct cgraph_node *node1, cgraph_call_node_duplication_hooks (struct cgraph_node *node1,
struct cgraph_node *node2) struct cgraph_node *node2)
{ {
......
...@@ -513,6 +513,8 @@ struct cgraph_node * cgraph_clone_node (struct cgraph_node *, tree, gcov_type, ...@@ -513,6 +513,8 @@ struct cgraph_node * cgraph_clone_node (struct cgraph_node *, tree, gcov_type,
int, bool, VEC(cgraph_edge_p,heap) *, int, bool, VEC(cgraph_edge_p,heap) *,
bool); bool);
struct cgraph_node *cgraph_create_function_alias (tree, tree); struct cgraph_node *cgraph_create_function_alias (tree, tree);
void cgraph_call_node_duplication_hooks (struct cgraph_node *node1,
struct cgraph_node *node2);
void cgraph_redirect_edge_callee (struct cgraph_edge *, struct cgraph_node *); void cgraph_redirect_edge_callee (struct cgraph_edge *, struct cgraph_node *);
void cgraph_make_edge_direct (struct cgraph_edge *, struct cgraph_node *); void cgraph_make_edge_direct (struct cgraph_edge *, struct cgraph_node *);
......
...@@ -2318,6 +2318,8 @@ cgraph_copy_node_for_versioning (struct cgraph_node *old_version, ...@@ -2318,6 +2318,8 @@ cgraph_copy_node_for_versioning (struct cgraph_node *old_version,
cgraph_redirect_edge_callee (e, new_version); cgraph_redirect_edge_callee (e, new_version);
} }
cgraph_call_node_duplication_hooks (old_version, new_version);
return new_version; return new_version;
} }
......
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