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/combine.c | |
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/combine.c')
-rw-r--r-- | gcc/combine.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 881c653..df5314b 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -12036,6 +12036,7 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1) case REG_EH_REGION: case REG_EH_RETHROW: + case REG_NORETURN: /* These notes must remain with the call. It should not be possible for both I2 and I3 to be a call. */ if (GET_CODE (i3) == CALL_INSN) |