diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-25 22:34:36 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-25 22:34:36 +0000 |
commit | cbeb677e2ce01e4bae1d9af26ac91d9eb839507d (patch) | |
tree | 68704a635c87543f5b0b6647ea71731266f962b4 /gcc/reload1.c | |
parent | 28ca4cf5973b4a38dd922a6007bcd27c457ed2fa (diff) | |
download | gcc-cbeb677e2ce01e4bae1d9af26ac91d9eb839507d.tar.gz |
* function.h (struct function): Add can_throw_non_call_exceptions bit.
* lto-streamer-in.c (input_function): Stream it in.
* lto-streamer-out.c (output_function): Stream it out.
* function.c (allocate_struct_function): Set it.
(expand_function_end): Substitute cfun->can_throw_non_call_exceptions
for flag_non_call_exceptions.
* cfgbuild.c (control_flow_insn_p): Likewise.
(make_edges): Likewise.
* cfgexpand.c (expand_stack_alignment): Likewise.
* combine.c (distribute_notes): Likewise.
* cse.c (cse_extended_basic_block): Likewise.
* except.c (insn_could_throw_p): Likewise.
* gcse.c (simple_mem): Likewise.
* ipa-pure-const.c (check_call): Likewise.
(check_stmt ): Likewise.
* lower-subreg.c (lower-subreg.c): Likewise.
* optabs.c (emit_libcall_block): Likewise.
(prepare_cmp_insn): Likewise.
* postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
* postreload.c (rest_of_handle_postreload): Likewise.
* reload1.c (reload_as_needed): Likewise.
(emit_input_reload_insns): Likewise.
(emit_output_reload_insns): Likewise.
(fixup_abnormal_edges): Likewise.
* sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
* store-motion.c (find_moveable_store): Likewise.
* tree-eh.c (stmt_could_throw_p): Likewise.
(tree_could_throw_p): Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
* config/arm/arm.c (arm_expand_prologue): Likewise.
(thumb1_expand_prologue): Likewise.
* config/rx/rx.md (cbranchsf4): Likewise.
(cmpsf): Likewise.
* config/s390/s390.c (s390_emit_prologue): Likewise.
* tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
(inline_forbidden_into_p): New predicate.
(expand_call_inline): Use it to forbid inlining.
(tree_can_inline_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159847 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 504c9e09049..85880f8210c 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -4299,7 +4299,7 @@ reload_as_needed (int live_known) subst_reloads (insn); /* Adjust the exception region notes for loads and stores. */ - if (flag_non_call_exceptions && !CALL_P (insn)) + if (cfun->can_throw_non_call_exceptions && !CALL_P (insn)) fixup_eh_region_note (insn, prev, next); /* If this was an ASM, make sure that all the reload insns @@ -7331,7 +7331,7 @@ emit_input_reload_insns (struct insn_chain *chain, struct reload *rl, rl->when_needed); } - if (flag_non_call_exceptions) + if (cfun->can_throw_non_call_exceptions) copy_reg_eh_region_note_forward (insn, get_insns (), NULL); /* End this sequence. */ @@ -7551,7 +7551,7 @@ emit_output_reload_insns (struct insn_chain *chain, struct reload *rl, else output_reload_insns[rl->opnum] = get_insns (); - if (flag_non_call_exceptions) + if (cfun->can_throw_non_call_exceptions) copy_reg_eh_region_note_forward (insn, get_insns (), NULL); end_sequence (); @@ -9019,7 +9019,7 @@ fixup_abnormal_edges (void) } /* We've possibly turned single trapping insn into multiple ones. */ - if (flag_non_call_exceptions) + if (cfun->can_throw_non_call_exceptions) { sbitmap blocks; blocks = sbitmap_alloc (last_basic_block); |