From b932f770f70d60b1d6c89d6ef1fe8dc88bdecda1 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Sat, 20 Oct 2001 12:04:00 +0200 Subject: basic-block.h (find_sub_basic_blocks): Use sbitmap parameter. * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter. * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies): Break out from ... (find_sub_basic_blocks): ... here; (find_many_sub_basic_blocks): New. * recog.c (split_all_insns): Update find_sub_basic_blocks call. * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4. * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.: * i386.c (split_di, split_ti): Revamp to use simplify_subreg. * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new. * flow.c (update_life_info): Measure time. * c-decl.c: Include timevar.h (c_expand_body): Measure time. * toplev.c (rest_of_compilation): Measure time of mode switching separately. * Makefile.in (c-decl.o, cfgcleanup.o): Add dependancy. * toplev.c (flag_asynchronous_unwind_tables): New global variable. (lang_independent_options): Add asynchronous-unwind-tables (toplev_main): flag_asynchronous_unwind_tables implies flag_unwind_tables. * flags.h (flag_asynchronous_unwind_tables): Declare. * dwarf2out.c (dwarf2out_stack_adjust): Take into account flag_asynchronous_unwind_tables. (output_call_frame_info): Likewise. * invoke.texi (-fasynchronous-unwind-tables): Document. * i386.c (optimization_options): Enable flag_asynchronous_unwind_tables. * i386.c (ix86_expand_setcc): Always expect target to be QImode. * i386.md (s* expanders): Destination is QImode. * toplev.c (rest_of_compilation): Do not call clear_log_links. * rtl.h (clear_log_links): Kill. * flow.c (clear_log_links): Make static; accept blocks parameter; do no clear life info. (update_life_info): Call clear_log_links. * cfganal.c (forwarder_block_p): Avoid active_insn_p calls. From-SVN: r46374 --- gcc/dwarf2out.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gcc/dwarf2out.c') diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 1d245b7..486c7a2 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -943,7 +943,8 @@ dwarf2out_stack_adjust (insn) long offset; const char *label; - if (! flag_non_call_exceptions && GET_CODE (insn) == CALL_INSN) + if (!flag_asynchronous_unwind_tables + && GET_CODE (insn) == CALL_INSN) { /* Extract the size of the args from the CALL rtx itself. */ @@ -960,7 +961,7 @@ dwarf2out_stack_adjust (insn) /* If only calls can throw, and we have a frame pointer, save up adjustments until we see the CALL_INSN. */ - else if (! flag_non_call_exceptions + else if (!flag_asynchronous_unwind_tables && cfa.reg != STACK_POINTER_REGNUM) return; @@ -1721,7 +1722,7 @@ output_call_frame_info (for_eh) emit any EH unwind information. */ if (for_eh) { - int any_eh_needed = 0; + int any_eh_needed = flag_asynchronous_unwind_tables; for (i = 0; i < fde_table_in_use; ++i) if (fde_table[i].uses_eh_lsda) any_eh_needed = any_lsda_needed = 1; -- cgit v1.1