diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-17 22:13:07 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-17 22:13:07 +0000 |
commit | bc1b408aa8c9a23e631a165e1e8a0c0b97a68777 (patch) | |
tree | 75a9b1ae8bf1604ec705f1892a04d451a36c520f /gcc/ipa-prop.h | |
parent | fa1a750285740ce8a2a7f9e1278ed71e68105331 (diff) | |
download | gcc-bc1b408aa8c9a23e631a165e1e8a0c0b97a68777.tar.gz |
* ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
(ipcp_estimate_growth): Likewise.
(ipcp_const_param_count): Likewise.
(ipcp_insert_stage): Likewise.
* ipa-prop.c (visit_load_for_mod_analysis): New function.
(visit_store_addr_for_mod_analysis): Set used flag.
(ipa_detect_param_modifications): Set used flag for SSE params;
update use of walk_stmt_load_store_addr_ops.
(ipa_print_node_params): Print used flag.
(ipa_write_node_info): Stream used flag.
(ipa_read_node_info): Likewise.
* ipa-prop.h (struct ipa_param_descriptor): Add used field.
(ipa_is_param_used): New function.
(lto_ipa_fixup_call_notes): Remove unused declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159513 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-prop.h')
-rw-r--r-- | gcc/ipa-prop.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h index 0f9b5f39acc..c142c03db28 100644 --- a/gcc/ipa-prop.h +++ b/gcc/ipa-prop.h @@ -163,6 +163,8 @@ struct ipa_param_descriptor tree decl; /* Whether the value parameter has been modified within the function. */ unsigned modified : 1; + /* The parameter is used. */ + unsigned used : 1; }; /* ipa_node_params stores information related to formal parameters of functions @@ -237,6 +239,15 @@ ipa_is_param_modified (struct ipa_node_params *info, int i) return info->params[i].modified; } +/* Return the used flag corresponding to the Ith formal parameter of + the function associated with INFO. */ + +static inline bool +ipa_is_param_used (struct ipa_node_params *info, int i) +{ + return info->params[i].used; +} + /* Flag this node as having callers with variable number of arguments. */ static inline void @@ -489,7 +500,6 @@ void ipa_dump_param_adjustments (FILE *, ipa_parm_adjustment_vec, tree); void ipa_prop_write_jump_functions (cgraph_node_set set); void ipa_prop_read_jump_functions (void); void ipa_update_after_lto_read (void); -void lto_ipa_fixup_call_notes (struct cgraph_node *, gimple *); /* From tree-sra.c: */ bool build_ref_for_offset (tree *, tree, HOST_WIDE_INT, tree, bool); |