Commit a701efba by Mark Mitchell Committed by Jeff Law

toplev.c (rest_of_compilation): Don't call save_for_inline_copy if all we're…

toplev.c (rest_of_compilation): Don't call save_for_inline_copy if all we're doing is dealing with -Wreturn-type.

        * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
        if all we're doing is dealing with -Wreturn-type.

From-SVN: r17104
parent 5e21ac7a
Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
* toplev.c (rest_of_compilation): Don't call save_for_inline_copy
if all we're doing is dealing with -Wreturn-type.
Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com> Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
* alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2): * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
......
...@@ -3120,35 +3120,48 @@ rest_of_compilation (decl) ...@@ -3120,35 +3120,48 @@ rest_of_compilation (decl)
{ {
DECL_DEFER_OUTPUT (decl) = 1; DECL_DEFER_OUTPUT (decl) = 1;
/* If -Wreturn-type, we have to do a bit of compilation. */ /* If -Wreturn-type, we have to do a bit of compilation.
if (! warn_return_type) However, if we just fall through we will call
save_for_inline_copying() which results in excessive
memory use. Instead, we just want to call
jump_optimize() to figure out whether or not we can fall
off the end of the function; we do the minimum amount of
work necessary to make that safe. And, we set optimize
to zero to keep jump_optimize from working too hard. */
if (warn_return_type)
{ {
int saved_optimize = optimize;
optimize = 0;
find_exception_handler_labels ();
jump_optimize (get_insns(), 0, 0, 0);
optimize = saved_optimize;
}
#ifdef DWARF_DEBUGGING_INFO #ifdef DWARF_DEBUGGING_INFO
/* Generate the DWARF info for the "abstract" instance /* Generate the DWARF info for the "abstract" instance
of a function which we may later generate inlined and/or of a function which we may later generate inlined and/or
out-of-line instances of. */ out-of-line instances of. */
if (write_symbols == DWARF_DEBUG) if (write_symbols == DWARF_DEBUG)
{ {
set_decl_abstract_flags (decl, 1); set_decl_abstract_flags (decl, 1);
TIMEVAR (symout_time, dwarfout_file_scope_decl (decl, 0)); TIMEVAR (symout_time, dwarfout_file_scope_decl (decl, 0));
set_decl_abstract_flags (decl, 0); set_decl_abstract_flags (decl, 0);
} }
#endif #endif
#ifdef DWARF2_DEBUGGING_INFO #ifdef DWARF2_DEBUGGING_INFO
/* Generate the DWARF2 info for the "abstract" instance /* Generate the DWARF2 info for the "abstract" instance
of a function which we may later generate inlined and/or of a function which we may later generate inlined and/or
out-of-line instances of. */ out-of-line instances of. */
if (write_symbols == DWARF2_DEBUG) if (write_symbols == DWARF2_DEBUG)
{ {
set_decl_abstract_flags (decl, 1); set_decl_abstract_flags (decl, 1);
TIMEVAR (symout_time, dwarf2out_decl (decl)); TIMEVAR (symout_time, dwarf2out_decl (decl));
set_decl_abstract_flags (decl, 0); set_decl_abstract_flags (decl, 0);
}
#endif
TIMEVAR (integration_time, save_for_inline_nocopy (decl));
RTX_INTEGRATED_P (DECL_SAVED_INSNS (decl)) = inlinable;
goto exit_rest_of_compilation;
} }
#endif
TIMEVAR (integration_time, save_for_inline_nocopy (decl));
RTX_INTEGRATED_P (DECL_SAVED_INSNS (decl)) = inlinable;
goto exit_rest_of_compilation;
} }
/* If we have to compile the function now, save its rtl and subdecls /* If we have to compile the function now, save its rtl and subdecls
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment