aboutsummaryrefslogtreecommitdiff
path: root/gcc/flow.c
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/flow.c
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/flow.c')
-rw-r--r--gcc/flow.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index e32114c..61928ed 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -2517,6 +2517,7 @@ need_fake_edge_p (insn)
if ((GET_CODE (insn) == CALL_INSN
&& !SIBLING_CALL_P (insn)
&& !find_reg_note (insn, REG_NORETURN, NULL)
+ && !find_reg_note (insn, REG_ALWAYS_RETURN, NULL)
&& !CONST_OR_PURE_CALL_P (insn)))
return true;