From bd80fbde8eb422f5afdbfbcace63db46c80e44bf Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 21 Jul 1998 01:54:29 -0700 Subject: [PATCH] * flow.c (regno_uninitialized): Fixed regs are never uninitialized. From-SVN: r21321 --- gcc/ChangeLog | 4 ++++ gcc/flow.c | 12 +++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7452e50..68e284c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Tue Jul 21 08:55:09 1998 Richard Henderson + + * flow.c (regno_uninitialized): Fixed regs are never uninitialized. + Tue Jul 21 00:31:01 1998 Jeffrey A Law (law@cygnus.com) * gcc.c (do_spec): Call "error" not "warning". diff --git a/gcc/flow.c b/gcc/flow.c index 43ea11d..0e3b044 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -2030,10 +2030,10 @@ libcall_dead_p (x, needed, note, insn) return 1; } -/* Return 1 if register REGNO was used before it was set. - In other words, if it is live at function entry. - Don't count global register variables or variables in registers - that can be used for function arg passing, though. */ +/* Return 1 if register REGNO was used before it was set, i.e. if it is + live at function entry. Don't count global register variables, variables + in registers that can be used for function arg passing, or variables in + fixed hard registers. */ int regno_uninitialized (regno) @@ -2041,7 +2041,9 @@ regno_uninitialized (regno) { if (n_basic_blocks == 0 || (regno < FIRST_PSEUDO_REGISTER - && (global_regs[regno] || FUNCTION_ARG_REGNO_P (regno)))) + && (global_regs[regno] + || fixed_regs[regno] + || FUNCTION_ARG_REGNO_P (regno)))) return 0; return REGNO_REG_SET_P (basic_block_live_at_start[0], regno); -- 2.7.4