summaryrefslogtreecommitdiff
path: root/gcc/flow.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-08 19:07:47 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-08 19:07:47 +0000
commit6d8a270d07beab0b916f83bbb1ac0e5f9840edbe (patch)
treeb641fa444ecc5e0162540715896c50029c4ef59f /gcc/flow.c
parentbb388679983f5bb38e6bc9cc1139b29ed5d52973 (diff)
downloadgcc-6d8a270d07beab0b916f83bbb1ac0e5f9840edbe.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44722 138bc75d-0d04-0410-961f-82ee72b054a4
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 e32114c8689..61928ed9def 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;