diff options
author | Jim Wilson <wilson@cygnus.com> | 2000-09-01 22:22:54 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 2000-09-01 15:22:54 -0700 |
commit | ca3920adb2a8121fbb38100ebb8fde88015a49ba (patch) | |
tree | 5d9506403a0ae211f76c9d2f6407a593c0046979 /gcc/rtl.h | |
parent | 3c786c6945296d79a0d5f1799994aeb728aef083 (diff) | |
download | gcc-ca3920adb2a8121fbb38100ebb8fde88015a49ba.zip gcc-ca3920adb2a8121fbb38100ebb8fde88015a49ba.tar.gz gcc-ca3920adb2a8121fbb38100ebb8fde88015a49ba.tar.bz2 |
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.
From-SVN: r36107
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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. */ |