Lines Matching refs:e
116 cgraph_clone_inlined_nodes (struct cgraph_edge *e, bool duplicate, bool update_original) in cgraph_clone_inlined_nodes() argument
122 if (!e->callee->callers->next_caller in cgraph_clone_inlined_nodes()
123 && !e->callee->needed in cgraph_clone_inlined_nodes()
126 gcc_assert (!e->callee->global.inlined_to); in cgraph_clone_inlined_nodes()
127 if (DECL_SAVED_TREE (e->callee->decl)) in cgraph_clone_inlined_nodes()
128 overall_insns -= e->callee->global.insns, nfunctions_inlined++; in cgraph_clone_inlined_nodes()
134 n = cgraph_clone_node (e->callee, e->count, e->loop_nest, in cgraph_clone_inlined_nodes()
136 cgraph_redirect_edge_callee (e, n); in cgraph_clone_inlined_nodes()
140 if (e->caller->global.inlined_to) in cgraph_clone_inlined_nodes()
141 e->callee->global.inlined_to = e->caller->global.inlined_to; in cgraph_clone_inlined_nodes()
143 e->callee->global.inlined_to = e->caller; in cgraph_clone_inlined_nodes()
146 for (e = e->callee->callees; e; e = e->next_callee) in cgraph_clone_inlined_nodes()
147 if (!e->inline_failed) in cgraph_clone_inlined_nodes()
148 cgraph_clone_inlined_nodes (e, duplicate, update_original); in cgraph_clone_inlined_nodes()
156 cgraph_mark_inline_edge (struct cgraph_edge *e, bool update_original) in cgraph_mark_inline_edge() argument
161 if (e->callee->inline_decl) in cgraph_mark_inline_edge()
162 cgraph_redirect_edge_callee (e, cgraph_node (e->callee->inline_decl)); in cgraph_mark_inline_edge()
164 gcc_assert (e->inline_failed); in cgraph_mark_inline_edge()
165 e->inline_failed = NULL; in cgraph_mark_inline_edge()
167 if (!e->callee->global.inlined && flag_unit_at_a_time) in cgraph_mark_inline_edge()
168 DECL_POSSIBLY_INLINED (e->callee->decl) = true; in cgraph_mark_inline_edge()
169 e->callee->global.inlined = true; in cgraph_mark_inline_edge()
171 cgraph_clone_inlined_nodes (e, true, update_original); in cgraph_mark_inline_edge()
173 what = e->callee; in cgraph_mark_inline_edge()
176 for (;e && !e->inline_failed; e = e->caller->callers) in cgraph_mark_inline_edge()
178 old_insns = e->caller->global.insns; in cgraph_mark_inline_edge()
179 new_insns = cgraph_estimate_size_after_inlining (1, e->caller, in cgraph_mark_inline_edge()
182 to = e->caller; in cgraph_mark_inline_edge()
200 struct cgraph_edge *e, *next; in cgraph_mark_inline() local
205 for (e = what->callers; e; e = next) in cgraph_mark_inline()
207 next = e->next_caller; in cgraph_mark_inline()
208 if (e->caller == to && e->inline_failed) in cgraph_mark_inline()
210 cgraph_mark_inline_edge (e, true); in cgraph_mark_inline()
211 if (e == edge) in cgraph_mark_inline()
226 struct cgraph_edge *e; in cgraph_estimate_growth() local
230 for (e = node->callers; e; e = e->next_caller) in cgraph_estimate_growth()
231 if (e->inline_failed) in cgraph_estimate_growth()
232 growth += (cgraph_estimate_size_after_inlining (1, e->caller, node) in cgraph_estimate_growth()
233 - e->caller->global.insns); in cgraph_estimate_growth()
257 struct cgraph_edge *e; in cgraph_check_inline_limits() local
264 for (e = to->callees; e; e = e->next_callee) in cgraph_check_inline_limits()
265 if (e->callee == what) in cgraph_check_inline_limits()
475 struct cgraph_edge *e; in update_callee_keys() local
478 for (e = node->callees; e; e = e->next_callee) in update_callee_keys()
479 if (e->inline_failed) in update_callee_keys()
480 update_caller_keys (heap, e->callee, updated_nodes); in update_callee_keys()
481 else if (!e->inline_failed) in update_callee_keys()
482 update_callee_keys (heap, e->callee, updated_nodes); in update_callee_keys()
493 struct cgraph_edge *e; in lookup_recursive_calls() local
494 for (e = where->callees; e; e = e->next_callee) in lookup_recursive_calls()
495 if (e->callee == node) in lookup_recursive_calls()
502 : -(e->count / ((max_count + (1<<24) - 1) / (1<<24))), in lookup_recursive_calls()
503 e); in lookup_recursive_calls()
505 for (e = where->callees; e; e = e->next_callee) in lookup_recursive_calls()
506 if (!e->inline_failed) in lookup_recursive_calls()
507 lookup_recursive_calls (node, e->callee, heap); in lookup_recursive_calls()
518 struct cgraph_edge *e; in cgraph_find_cycles() local
534 for (e = node->callees; e; e = e->next_callee) in cgraph_find_cycles()
535 cgraph_find_cycles (e->callee, cycles); in cgraph_find_cycles()
547 struct cgraph_edge *e; in cgraph_flatten_node() local
549 for (e = node->callees; e; e = e->next_callee) in cgraph_flatten_node()
553 if (e->inline_failed in cgraph_flatten_node()
554 && e->callee->local.inlinable in cgraph_flatten_node()
555 && !cgraph_recursive_inlining_p (node, e->callee, in cgraph_flatten_node()
556 &e->inline_failed) in cgraph_flatten_node()
557 && !htab_find (cycles, e->callee)) in cgraph_flatten_node()
560 fprintf (dump_file, " inlining %s", cgraph_node_name (e->callee)); in cgraph_flatten_node()
561 cgraph_mark_inline_edge (e, true); in cgraph_flatten_node()
562 cgraph_flatten_node (e->callee, cycles); in cgraph_flatten_node()
565 fprintf (dump_file, " !inlining %s", cgraph_node_name (e->callee)); in cgraph_flatten_node()
579 struct cgraph_edge *e; in cgraph_decide_recursive_inlining() local
610 for (e = master_clone->callees; e; e = e->next_callee) in cgraph_decide_recursive_inlining()
611 if (!e->inline_failed) in cgraph_decide_recursive_inlining()
612 cgraph_clone_inlined_nodes (e, true, false); in cgraph_decide_recursive_inlining()
700 struct cgraph_edge *e; in cgraph_set_inline_failed() local
704 for (e = node->callers; e; e = e->next_caller) in cgraph_set_inline_failed()
705 if (e->inline_failed) in cgraph_set_inline_failed()
706 e->inline_failed = reason; in cgraph_set_inline_failed()
911 struct cgraph_edge *e; in cgraph_decide_inlining() local
922 for (e = node->callees; e; e = e->next_callee) in cgraph_decide_inlining()
923 if (max_count < e->count) in cgraph_decide_inlining()
924 max_count = e->count; in cgraph_decide_inlining()
953 struct cgraph_edge *e, *next; in cgraph_decide_inlining() local
982 for (e = node->callers; e; e = next) in cgraph_decide_inlining()
984 next = e->next_caller; in cgraph_decide_inlining()
985 if (!e->inline_failed) in cgraph_decide_inlining()
987 if (cgraph_recursive_inlining_p (e->caller, e->callee, in cgraph_decide_inlining()
988 &e->inline_failed)) in cgraph_decide_inlining()
990 cgraph_mark_inline_edge (e, true); in cgraph_decide_inlining()
994 cgraph_node_name (e->caller), in cgraph_decide_inlining()
995 e->caller->global.insns); in cgraph_decide_inlining()
1086 struct cgraph_edge *e; in cgraph_decide_inlining_incrementally() local
1091 for (e = node->callees; e; e = e->next_callee) in cgraph_decide_inlining_incrementally()
1092 if (e->callee->local.disregard_inline_limits in cgraph_decide_inlining_incrementally()
1093 && e->inline_failed in cgraph_decide_inlining_incrementally()
1094 && !cgraph_recursive_inlining_p (node, e->callee, &e->inline_failed) in cgraph_decide_inlining_incrementally()
1097 && (DECL_SAVED_TREE (e->callee->decl) || e->callee->inline_decl)) in cgraph_decide_inlining_incrementally()
1102 cgraph_node_name (e->callee)); in cgraph_decide_inlining_incrementally()
1105 cgraph_mark_inline (e); in cgraph_decide_inlining_incrementally()
1111 for (e = node->callees; e; e = e->next_callee) in cgraph_decide_inlining_incrementally()
1112 if (e->callee->local.inlinable in cgraph_decide_inlining_incrementally()
1113 && e->inline_failed in cgraph_decide_inlining_incrementally()
1114 && !e->callee->local.disregard_inline_limits in cgraph_decide_inlining_incrementally()
1115 && !cgraph_recursive_inlining_p (node, e->callee, &e->inline_failed) in cgraph_decide_inlining_incrementally()
1117 || (cgraph_estimate_size_after_inlining (1, e->caller, e->callee) in cgraph_decide_inlining_incrementally()
1118 <= e->caller->global.insns)) in cgraph_decide_inlining_incrementally()
1119 && cgraph_check_inline_limits (node, e->callee, &e->inline_failed, in cgraph_decide_inlining_incrementally()
1121 && (DECL_SAVED_TREE (e->callee->decl) || e->callee->inline_decl)) in cgraph_decide_inlining_incrementally()
1123 if (cgraph_default_inline_p (e->callee, &failed_reason)) in cgraph_decide_inlining_incrementally()
1128 cgraph_node_name (e->callee)); in cgraph_decide_inlining_incrementally()
1131 cgraph_mark_inline (e); in cgraph_decide_inlining_incrementally()
1135 e->inline_failed = failed_reason; in cgraph_decide_inlining_incrementally()