diff options
author | jconner <jconner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-28 17:18:23 +0000 |
---|---|---|
committer | jconner <jconner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-28 17:18:23 +0000 |
commit | b628b4c1076bdc0d28d819ccf406b529f74c2b68 (patch) | |
tree | 0b22f1b93c2973a016ebe3cb4bef452a6bfe334e /gcc/ipa-inline.c | |
parent | b30512ddaa7113e8e351911b0aa98d8f000020a7 (diff) | |
download | gcc-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.c | 5 |
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) |