This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [lto] add support for inlining


Ollie Wild wrote:
Inlining is currently disabled in lto1.  This patch enables the
inliner by setting flag_inline_trees = 1 and fixes the resulting
compiler errors.  Pay special attention to the new lto_post_options
function.  I have omitted some code which appears in other front ends
but doesn't appear to do anything useful.

There is one glaring omission from this patch: it does not support the
noinline function attribute.  There are two reasons for this.  First,
DWARF doesn't support such an attribute.  Second, the DECL_UNINLINABLE
flag used to indicate this is overloaded as a cached result by
inlinable_function_p.  We'll need to revisit this once Bill's
serialization updates are complete.

Tested with a C/C++ bootstrap and testsuite on i686-pc-linux-gnu.

Ollie

2008-05-16 Ollie Wild <aaw@google.com>

* lto-lang.c (tree-inline.h): Include.
(lto_post_options): New function.
(LANG_HOOKS_POST_OPTIONS): Define.
* lto-cgraph-in.c (overwrite_node): Set node->global.insns.
* lto-function-in.c (input_bb): Set TREE_BLOCK (stmt).
ok to commit.

kenny


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]