summaryrefslogtreecommitdiff
path: root/gcc/rtl.c
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.c
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.c')
-rw-r--r--gcc/rtl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/rtl.c b/gcc/rtl.c
index ad89fff0920..90d760e00c5 100644
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -277,7 +277,7 @@ const char * const reg_note_name[] =
"REG_LABEL", "REG_DEP_ANTI", "REG_DEP_OUTPUT", "REG_BR_PROB",
"REG_EXEC_COUNT", "REG_NOALIAS", "REG_SAVE_AREA", "REG_BR_PRED",
"REG_FRAME_RELATED_EXPR", "REG_EH_CONTEXT", "REG_EH_REGION",
- "REG_EH_RETHROW", "REG_SAVE_NOTE", "REG_MAYBE_DEAD"
+ "REG_EH_RETHROW", "REG_SAVE_NOTE", "REG_MAYBE_DEAD", "REG_NORETURN"
};
static void fatal_with_file_and_line PARAMS ((FILE *, const char *, ...))