summaryrefslogtreecommitdiff
path: root/gcc/ipa-inline.c
diff options
context:
space:
mode:
authorjconner <jconner@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-28 17:18:23 +0000
committerjconner <jconner@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-28 17:18:23 +0000
commitb628b4c1076bdc0d28d819ccf406b529f74c2b68 (patch)
tree0b22f1b93c2973a016ebe3cb4bef452a6bfe334e /gcc/ipa-inline.c
parentb30512ddaa7113e8e351911b0aa98d8f000020a7 (diff)
downloadgcc-b628b4c1076bdc0d28d819ccf406b529f74c2b68.tar.gz
* ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
(cgraph_decide_inlining_of_small_functions): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102498 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r--gcc/ipa-inline.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index 0797e773c2a..ce5d7fe67dc 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -406,6 +406,7 @@ update_caller_keys (fibheap_t heap, struct cgraph_node *node,
if (bitmap_bit_p (updated_nodes, node->uid))
return;
bitmap_set_bit (updated_nodes, node->uid);
+ node->global.estimated_growth = INT_MIN;
for (edge = node->callers; edge; edge = edge->next_caller)
if (edge->inline_failed)
@@ -756,6 +757,7 @@ cgraph_decide_inlining_of_small_functions (void)
}
else
{
+ struct cgraph_node *callee;
if (!cgraph_check_inline_limits (edge->caller, edge->callee,
&edge->inline_failed))
{
@@ -764,8 +766,9 @@ cgraph_decide_inlining_of_small_functions (void)
cgraph_node_name (edge->caller), edge->inline_failed);
continue;
}
+ callee = edge->callee;
cgraph_mark_inline_edge (edge);
- update_callee_keys (heap, edge->callee, updated_nodes);
+ update_callee_keys (heap, callee, updated_nodes);
}
where = edge->caller;
if (where->global.inlined_to)