diff options
author | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-03-02 21:18:16 +0000 |
---|---|---|
committer | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-03-02 21:18:16 +0000 |
commit | e2b042497642de44829521c9ae0f0389dfea8a40 (patch) | |
tree | 8779d656c10e23abf78abe1a1c94a499d158237b /gcc/tree.h | |
parent | e0bc630f20616107aa7640c419b6236ab9712810 (diff) | |
download | gcc-e2b042497642de44829521c9ae0f0389dfea8a40.tar.gz |
2003-03-02 Kurt Garloff <garloff@suse.de>
* params.def: Introduce parameter max-inline-insns-rtl for
a separate limit for the RTL inliner.
* params.h: Likewise.
* integrate.c (function_cannot_inline_p): Use it.
* toplev.c (decode_f_option): Set multiple parameters
controlling inlining with -finline-limit.
* params.def: Fix orthographic and typographic errors.
* doc/invoke.texi: Document parameters controlling inlining
and the way -finline-limit sets multiple of them.
* tree.h (struct tree_decl): Introduce inlined_function_flag,
recording whether the function became eligible for inlining
by a compiler flag rather than the declaration.
Provide DID_INLINE_FUNC macro to access it.
* c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
* cp/decl.c (grokfndecl): Likewise.
* toplev.c (rest_of_compilation): Likewise.
* cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
* print-tree.c (print_node): Report it.
* params.def: Introduce new max-inline-insns-auto limit.
* params.h: Likewise.
* tree-inline.c (inlinable_function_p): Apply it to functions
with DID_INLINE_FUNC set.
* toplev.c (decode_f_option): Initialize it from -finline-limit
value.
* doc/invoke.texi: Document new parameter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63688 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/tree.h b/gcc/tree.h index de9668b3918..4dd753a0851 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -1626,6 +1626,11 @@ struct tree_type GTY(()) where it is called. */ #define DECL_INLINE(NODE) (FUNCTION_DECL_CHECK (NODE)->decl.inline_flag) +/* Nonzero in a FUNCTION_DECL means this function has been found inlinable + only by virtue of -finline-functions */ +#define DID_INLINE_FUNC(NODE) \ + (FUNCTION_DECL_CHECK (NODE)->decl.inlined_function_flag) + /* In a FUNCTION_DECL, nonzero if the function cannot be inlined. */ #define DECL_UNINLINABLE(NODE) (FUNCTION_DECL_CHECK (NODE)->decl.uninlinable) @@ -1811,7 +1816,8 @@ struct tree_decl GTY(()) unsigned user_align : 1; unsigned uninlinable : 1; unsigned thread_local_flag : 1; - /* Two unused bits. */ + unsigned inlined_function_flag : 1; + /* One unused bit. */ unsigned lang_flag_0 : 1; unsigned lang_flag_1 : 1; |