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/optabs.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/optabs.c')
-rw-r--r-- | gcc/optabs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index 3c5424d2b59..a81d2e660dd 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -3880,7 +3880,7 @@ emit_libcall_block (rtx insns, rtx target, rtx result, rtx equiv) /* If we're using non-call exceptions, a libcall corresponding to an operation that may trap may also trap. */ /* ??? See the comment in front of make_reg_eh_region_note. */ - if (flag_non_call_exceptions && may_trap_p (equiv)) + if (cfun->can_throw_non_call_exceptions && may_trap_p (equiv)) { for (insn = insns; insn; insn = NEXT_INSN (insn)) if (CALL_P (insn)) @@ -4126,7 +4126,7 @@ prepare_cmp_insn (rtx x, rtx y, enum rtx_code comparison, rtx size, /* Don't allow operands to the compare to trap, as that can put the compare and branch in different basic blocks. */ - if (flag_non_call_exceptions) + if (cfun->can_throw_non_call_exceptions) { if (may_trap_p (x)) x = force_reg (mode, x); |