diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-08 19:07:47 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-08 19:07:47 +0000 |
commit | 6d8a270d07beab0b916f83bbb1ac0e5f9840edbe (patch) | |
tree | b641fa444ecc5e0162540715896c50029c4ef59f /gcc/flow.c | |
parent | bb388679983f5bb38e6bc9cc1139b29ed5d52973 (diff) | |
download | gcc-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.c | 1 |
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; |