diff options
author | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-01 22:22:54 +0000 |
---|---|---|
committer | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-01 22:22:54 +0000 |
commit | 356b51a0c47ed3a5d84c3d3dcef3ed04c1b402b3 (patch) | |
tree | 5d9506403a0ae211f76c9d2f6407a593c0046979 /gcc/rtl.h | |
parent | 6659e606b71ad1cd94cb3bbb1fb8e6afdf753e04 (diff) | |
download | gcc-356b51a0c47ed3a5d84c3d3dcef3ed04c1b402b3.tar.gz |
Eliminate false DV warnings for predicated calls to noreturn functions.
* calls.c (emit_call_1): Add REG_NORETURN note to call if ECF_NORETURN.
* combine.c (distribute_notes): Handle REG_NORETURN.
* rtl.c (reg_note_name): Add REG_NORETURN.
* rtl.h (enum reg_note): Likewise.
* config/ia64/ia64-protos.h (emit_safe_across_calls): Renamed from
ia64_file_start.
* config/ia64/ia64.c (emit_safe_across_calls): Likewise.
(rtx_needs_barrier): Handle unspec_volatile 8 and 9.
(emit_predicate_relation_info): Handle conditional calls with
REG_NORETURN.
* config/ia64/ia64.h (ASM_FILE_START): Call emit_safe_across_calls
instead of ia64_file_start.
* config/ia64/sysv4.h (ASM_FILE_START): Likewise.
* config/ia64/ia64.md (safe_across_calls_all,
save_across_calls_normal): New patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36107 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h index 42b8f425728..44a5e8da6e2 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -543,7 +543,10 @@ enum reg_note a value which might not be used later, and if so it's OK to delete the insn. Normally, deleting any insn in the prologue is an error. At present the parameter is unused and set to (const_int 0). */ - REG_MAYBE_DEAD + REG_MAYBE_DEAD, + + /* Indicates that a call does not return. */ + REG_NORETURN }; /* The base value for branch probability notes. */ |