diff options
author | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-05 04:20:27 +0000 |
---|---|---|
committer | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-05 04:20:27 +0000 |
commit | e619d7b1f3106404df34782db5c4c4a621671a8b (patch) | |
tree | 8ce05ef7518fd1359d3ae5d044511179f1ea1c8f /gcc/cse.c | |
parent | 9196b184c4e98bf5037860e58831d4d8269b3dfb (diff) | |
download | gcc-e619d7b1f3106404df34782db5c4c4a621671a8b.tar.gz |
* Makefile.in (c-decl.o): Depend on tree-inline.h.
(c-lang.o): Likewise, as well as insn-config.h and integrate.h.
* c-decl.c: Include tree-inline.h.
(c_expand_body): Call optimize_inline_calls. Determine whether
a function is inlinable upfront, and only clear
DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
* c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
(c_disregard_inline_limits): New function.
(inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
(c_post_options): Enable tree inlining if inlining is enabled.
Don't inline trees when instrumenting functions.
(c_init): Initialize lang_disregard_inline_limits and
lang_cannot_inline_tree_fn.
* tree-inline.c (initialize_inlined_parameters): Handle calls
with fewer arguments than declared parameters, and fewer
parameters than passed arguments. Don't assume value is a
DECL.
(declare_return_variable): Convert return value back to the
original type, if it was promoted.
(tree_inlinable_function_p): New function.
(inlinable_function_p): Don't look at DECL_INLINE if we're
inlining all functions. Make it work with a NULL id.
Re-check DECL_UNINLINABLE after language-specific checks.
(varargs_function_p): Move back to cp/tree.c.
* tree-inline.h (tree_inlinable_function_p): Declare it.
(varargs_function_p): Removed declaration.
* integrate.h (function_attribute_inlinable_p): Declare it.
* integrate.c (function_attribute_inlinable_p): Export it.
(save_for_inline): Don't bother to prepare argvec when not
inlining.
* cse.c (check_for_label_ref): Don't check deleted labels.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46025 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cse.c b/gcc/cse.c index bb7d93ed45a..895a5620bbb 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -7376,6 +7376,7 @@ check_for_label_ref (rtl, data) LABEL_REF for a CODE_LABEL that isn't in the insn chain, don't do this since no REG_LABEL will be added. */ return (GET_CODE (*rtl) == LABEL_REF + && LABEL_P (XEXP (*rtl, 0)) && INSN_UID (XEXP (*rtl, 0)) != 0 && ! find_reg_note (insn, REG_LABEL, XEXP (*rtl, 0))); } |