aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>2000-09-01 22:22:54 +0000
committerJim Wilson <wilson@gcc.gnu.org>2000-09-01 15:22:54 -0700
commitca3920adb2a8121fbb38100ebb8fde88015a49ba (patch)
tree5d9506403a0ae211f76c9d2f6407a593c0046979 /gcc/rtl.h
parent3c786c6945296d79a0d5f1799994aeb728aef083 (diff)
downloadgcc-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.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 42b8f42..44a5e8d 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. */