aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1998-07-21 01:54:29 -0700
committerRichard Henderson <rth@gcc.gnu.org>1998-07-21 01:54:29 -0700
commitbd80fbde8eb422f5afdbfbcace63db46c80e44bf (patch)
treeee3c58945965b8be574214e023518662b3638e86
parent50ea20cfa8f01bff548cb6a4b655f76fb1f09863 (diff)
downloadgcc-bd80fbde8eb422f5afdbfbcace63db46c80e44bf.zip
gcc-bd80fbde8eb422f5afdbfbcace63db46c80e44bf.tar.gz
gcc-bd80fbde8eb422f5afdbfbcace63db46c80e44bf.tar.bz2
* flow.c (regno_uninitialized): Fixed regs are never uninitialized.
From-SVN: r21321
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/flow.c12
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 <rth@cygnus.com>
+
+ * 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);