From: Michael Beck Date: Tue, 22 Jan 2008 14:04:45 +0000 (+0000) Subject: honors the irg_inline_forced property X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=37fa7fe237233ec5c71c1687f3ce11b51c4628f2;p=libfirm honors the irg_inline_forced property [r17492] --- diff --git a/ir/ir/irgopt.c b/ir/ir/irgopt.c index 706afb92d..b3dbe0f1f 100644 --- a/ir/ir/irgopt.c +++ b/ir/ir/irgopt.c @@ -1615,7 +1615,8 @@ void inline_leave_functions(int maxsize, int leavesize, int size, int ignore_run call = entry->call; callee = entry->callee; - if (is_leave(callee) && is_smaller(callee, leavesize)) { + if (is_leave(callee) && ( + is_smaller(callee, leavesize) || (get_irg_inline_property(callee) >= irg_inline_forced))) { if (!phiproj_computed) { phiproj_computed = 1; collect_phiprojs(current_ir_graph); @@ -1623,9 +1624,9 @@ void inline_leave_functions(int maxsize, int leavesize, int size, int ignore_run did_inline = inline_method(call, callee); if (did_inline) { - /* Do some statistics */ inline_irg_env *callee_env = (inline_irg_env *)get_irg_link(callee); + /* Do some statistics */ env->got_inline = 1; --env->n_call_nodes; env->n_nodes += callee_env->n_nodes;