aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraph.h
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-09-08 18:18:04 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-09-08 16:18:04 +0000
commit26e5b0fd2818c746fcd016bd1b6fa434204a5d72 (patch)
tree6075f267e3874e93d97b8ce0a1942ed9d03f860a /gcc/cgraph.h
parent97f1f314feae938cf854af1ab844196383d0ddc2 (diff)
downloadgcc-26e5b0fd2818c746fcd016bd1b6fa434204a5d72.zip
gcc-26e5b0fd2818c746fcd016bd1b6fa434204a5d72.tar.gz
gcc-26e5b0fd2818c746fcd016bd1b6fa434204a5d72.tar.bz2
cgraph.h (varpool_node_hook, [...]): Declare.
* cgraph.h (varpool_node_hook, varpool_node_hook_list, varpool_add_node_removal_hook, varpool_add_variable_insertion_hook, varpool_remove_variable_insertion_hook): Declare. * varpool.c (varpool_node_hook_list): New structure. (first_varpool_node_removal_hook, first_varpool_variable_insertion_hook): New variables. (varpool_add_node_removal_hook, varpool_remove_node_removal_hook, varpool_call_node_removal_hooks, varpool_add_variable_insertion_hook, varpool_remove_variable_insertion_hook, varpool_call_variable_insertion_hooks): New functions. (varpool_remove_node): Use it. From-SVN: r202367
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r--gcc/cgraph.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index 5a7a949..a6a0a243 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -701,12 +701,14 @@ void cgraph_mark_address_taken_node (struct cgraph_node *);
typedef void (*cgraph_edge_hook)(struct cgraph_edge *, void *);
typedef void (*cgraph_node_hook)(struct cgraph_node *, void *);
+typedef void (*varpool_node_hook)(struct varpool_node *, void *);
typedef void (*cgraph_2edge_hook)(struct cgraph_edge *, struct cgraph_edge *,
void *);
typedef void (*cgraph_2node_hook)(struct cgraph_node *, struct cgraph_node *,
void *);
struct cgraph_edge_hook_list;
struct cgraph_node_hook_list;
+struct varpool_node_hook_list;
struct cgraph_2edge_hook_list;
struct cgraph_2node_hook_list;
struct cgraph_edge_hook_list *cgraph_add_edge_removal_hook (cgraph_edge_hook, void *);
@@ -714,9 +716,15 @@ void cgraph_remove_edge_removal_hook (struct cgraph_edge_hook_list *);
struct cgraph_node_hook_list *cgraph_add_node_removal_hook (cgraph_node_hook,
void *);
void cgraph_remove_node_removal_hook (struct cgraph_node_hook_list *);
+struct varpool_node_hook_list *varpool_add_node_removal_hook (varpool_node_hook,
+ void *);
+void varpool_remove_node_removal_hook (struct varpool_node_hook_list *);
struct cgraph_node_hook_list *cgraph_add_function_insertion_hook (cgraph_node_hook,
void *);
void cgraph_remove_function_insertion_hook (struct cgraph_node_hook_list *);
+struct varpool_node_hook_list *varpool_add_variable_insertion_hook (varpool_node_hook,
+ void *);
+void varpool_remove_variable_insertion_hook (struct varpool_node_hook_list *);
void cgraph_call_function_insertion_hooks (struct cgraph_node *node);
struct cgraph_2edge_hook_list *cgraph_add_edge_duplication_hook (cgraph_2edge_hook, void *);
void cgraph_remove_edge_duplication_hook (struct cgraph_2edge_hook_list *);