summaryrefslogtreecommitdiff
path: root/gcc/ipa-prop.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-17 22:13:07 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-17 22:13:07 +0000
commitbc1b408aa8c9a23e631a165e1e8a0c0b97a68777 (patch)
tree75a9b1ae8bf1604ec705f1892a04d451a36c520f /gcc/ipa-prop.h
parentfa1a750285740ce8a2a7f9e1278ed71e68105331 (diff)
downloadgcc-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.h12
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);