summaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2000-09-01 22:22:54 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2000-09-01 22:22:54 +0000
commit356b51a0c47ed3a5d84c3d3dcef3ed04c1b402b3 (patch)
tree5d9506403a0ae211f76c9d2f6407a593c0046979 /gcc/rtl.h
parent6659e606b71ad1cd94cb3bbb1fb8e6afdf753e04 (diff)
downloadgcc-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.h5
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. */