aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2004-11-23 19:55:24 +0000
committerZack Weinberg <zack@gcc.gnu.org>2004-11-23 19:55:24 +0000
commit6e14af161c7d61b280c187b1a91a0fd853249bd1 (patch)
tree67f41f708633dc69a022149ee3dee19b259e910b /gcc/tree-cfg.c
parente9c00ceb85406d1f78d1752f27742ac7bb05b47b (diff)
downloadgcc-6e14af161c7d61b280c187b1a91a0fd853249bd1.zip
gcc-6e14af161c7d61b280c187b1a91a0fd853249bd1.tar.gz
gcc-6e14af161c7d61b280c187b1a91a0fd853249bd1.tar.bz2
function.h (struct function): Remove calls_longjmp.
* function.h (struct function): Remove calls_longjmp. (current_function_calls_longjmp): Delete. * tree.h (ECF_LONGJMP): Delete. (ECF_SIBCALL, ECF_PURE, ECF_SP_DEPRESSED, ECF_ALWAYS_RETURN) (ECF_LIBCALL_BLOCK): Everybody slide down one. (ECF_CONST, ECF_NORETURN, ECF_SIBCALL): Clarify comments. * builtins.c (expand_builtin_longjmp): Don't set current_function_calls_longjmp. * calls.c (special_function_p): Mark longjmp and siglongjmp with ECF_NORETURN, not ECF_LONGJMP. (emit_call_1, expand_call, emit_library_call_value_1): Don't check for ECF_LONGJMP. * tree-cfg.c (make_exit_edges, is_ctrl_altering_stmt) (need_fake_edge_p): Likewise. * config/avr/avr.h, config/ip2k/ip2k.h: Don't define NON_SAVING_SETJMP. * system.h: Poison NON_SAVING_SETJMP. * function.c (use_register_for_decl) * gcse.c (compute_hash_table_work, compute_store_table) * postreload-gcse.c (record_opr_changes) * reload.c (find_equiv_reg) * reload1.c (reload) * config/i386/i386.c (ix86_can_use_return_insn_p): Remove code conditional on NON_SAVING_SETJMP. * doc/tm.texi: Delete documentation of NON_SAVING_SETJMP. * config/i386/sysv3.h: Delete file. * config/i386/i386.c (ix86_svr3_asm_out_constructor): Delete. From-SVN: r91101
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index b59c8f7..bcd025f 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -552,7 +552,7 @@ make_exit_edges (basic_block bb)
such a bloody pain to avoid creating edges for this case since
all we do is remove these edges when we're done building the
CFG. */
- if (call_expr_flags (last) & (ECF_NORETURN | ECF_LONGJMP))
+ if (call_expr_flags (last) & ECF_NORETURN)
{
make_edge (bb, EXIT_BLOCK_PTR, EDGE_FAKE);
return;
@@ -2546,7 +2546,7 @@ is_ctrl_altering_stmt (tree t)
return true;
/* A CALL_EXPR also alters control flow if it does not return. */
- if (call_expr_flags (call) & (ECF_NORETURN | ECF_LONGJMP))
+ if (call_expr_flags (call) & ECF_NORETURN)
return true;
}
@@ -5148,8 +5148,7 @@ need_fake_edge_p (tree t)
leads to different results from -fbranch-probabilities. */
call = get_call_expr_in (t);
if (call
- && !(call_expr_flags (call) &
- (ECF_NORETURN | ECF_LONGJMP | ECF_ALWAYS_RETURN)))
+ && !(call_expr_flags (call) & (ECF_NORETURN | ECF_ALWAYS_RETURN)))
return true;
if (TREE_CODE (t) == ASM_EXPR