aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2001-08-08 21:07:47 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2001-08-08 19:07:47 +0000
commit9d98f8f9c4bea7b6ddcc1cb935e3b17d498b4beb (patch)
treeb641fa444ecc5e0162540715896c50029c4ef59f /gcc/rtl.h
parent82423cbad3a82b066e23d0c5aa569c24fc12cc66 (diff)
downloadgcc-9d98f8f9c4bea7b6ddcc1cb935e3b17d498b4beb.zip
gcc-9d98f8f9c4bea7b6ddcc1cb935e3b17d498b4beb.tar.gz
gcc-9d98f8f9c4bea7b6ddcc1cb935e3b17d498b4beb.tar.bz2
calls.c (ECF_ALWAYS_RETURN): New constant.
* calls.c (ECF_ALWAYS_RETURN): New constant. (emit_call_1): Add REG_ALWAYS_RETURN note if needed. (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func. (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN. * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN. * rtl.c (reg_note_name): New name. * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN. From-SVN: r44722
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 92c0133..9e22346 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -566,7 +566,10 @@ enum reg_note
/* This kind of note is generated at each to `setjmp',
and similar functions that can return twice. */
- REG_SETJMP
+ REG_SETJMP,
+
+ /* Indicate calls that always returns. */
+ REG_ALWAYS_RETURN
};
/* The base value for branch probability notes. */
@@ -1952,7 +1955,8 @@ enum libcall_type
LCT_CONST_MAKE_BLOCK = 3,
LCT_PURE_MAKE_BLOCK = 4,
LCT_NORETURN = 5,
- LCT_THROW = 6
+ LCT_THROW = 6,
+ LCT_ALWAYS_RETURN = 7
};
extern void emit_library_call PARAMS ((rtx, enum libcall_type,