summaryrefslogtreecommitdiff
path: root/gcc/ipa-inline.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-07 18:58:04 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-07 18:58:04 +0000
commit6c2c7775afb37c671db1b8bcc62c52597236489d (patch)
treefe7a69511297e157ec48839981853e440e96771d /gcc/ipa-inline.h
parentb8925abddf74b7f8630817c04b392610e8449ff1 (diff)
downloadgcc-6c2c7775afb37c671db1b8bcc62c52597236489d.tar.gz
* ipa-inline-analysis.c (do_estimate_edge_time): Return actual
time spent by the inlined sequence. (do_estimate_edge_growth): Rename to ... (do_estimate_edge_time): ... this one; return size of inlined sequence. * ipa-inline.h (do_estimate_edge_size): New. (do_estimate_edge_growth): Remove. (estimate_edge_size): New function. (estimate_edge_growth): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192185 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-inline.h')
-rw-r--r--gcc/ipa-inline.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/gcc/ipa-inline.h b/gcc/ipa-inline.h
index ec9cf4d13ac..df8b3a7e202 100644
--- a/gcc/ipa-inline.h
+++ b/gcc/ipa-inline.h
@@ -201,7 +201,7 @@ void estimate_ipcp_clone_size_and_time (struct cgraph_node *,
int do_estimate_growth (struct cgraph_node *);
void inline_merge_summary (struct cgraph_edge *edge);
void inline_update_overall_summary (struct cgraph_node *node);
-int do_estimate_edge_growth (struct cgraph_edge *edge);
+int do_estimate_edge_size (struct cgraph_edge *edge);
int do_estimate_edge_time (struct cgraph_edge *edge);
inline_hints do_estimate_edge_hints (struct cgraph_edge *edge);
void initialize_growth_caches (void);
@@ -245,20 +245,31 @@ estimate_growth (struct cgraph_node *node)
}
-/* Return estimated callee growth after inlining EDGE. */
+/* Return estimated size of the inline sequence of EDGE. */
static inline int
-estimate_edge_growth (struct cgraph_edge *edge)
+estimate_edge_size (struct cgraph_edge *edge)
{
int ret;
if ((int)VEC_length (edge_growth_cache_entry, edge_growth_cache) <= edge->uid
|| !(ret = VEC_index (edge_growth_cache_entry,
edge_growth_cache,
edge->uid).size))
- return do_estimate_edge_growth (edge);
+ return do_estimate_edge_size (edge);
return ret - (ret > 0);
}
+/* Return estimated callee growth after inlining EDGE. */
+
+static inline int
+estimate_edge_growth (struct cgraph_edge *edge)
+{
+#ifdef ENABLE_CHECKING
+ gcc_checking_assert (inline_edge_summary (edge)->call_stmt_size);
+#endif
+ return (estimate_edge_size (edge)
+ - inline_edge_summary (edge)->call_stmt_size);
+}
/* Return estimated callee runtime increase after inlning
EDGE. */