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).