Tue Feb 2 23:38:35 1999 David O'Brien <obrien@FreeBSD.org>
- * i386/freebsd*.h now allows '$' in label names and does not use the PCC struct
- return method.
+ * i386/freebsd*.h now allows '$' in label names and does not use the
+ PCC struct return method.
Tue Feb 2 22:38:23 1999 Jim Wilson <wilson@cygnus.com>
* haifa-sched.c (regno_use_in): Moved to rtlanal.c.
(split_block_insns): Moved to recog.c.
(update_flow_info): Make public.
+ * rtl.h: Declare them.
* reorg.c: Moved the functions dealing with computing resource
usage to resource.c.
+/* Definitions for computing resource usage of specific insns.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
#include "config.h"
#include "rtl.h"
#include "hard-reg-set.h"
Also only used by the next two functions. */
static HARD_REG_SET pending_dead_regs;
-
+\f
+static void update_live_status PROTO ((rtx, rtx));
+static int find_basic_block PROTO ((rtx));
+static rtx next_insn_no_annul PROTO ((rtx));
+static rtx find_dead_or_set_registers PROTO ((rtx, struct resources*,
+ rtx*, int, struct resources,
+ struct resources));
+\f
/* Utility function called from mark_target_live_regs via note_stores.
It deadens any CLOBBERed registers and livens any SET registers. */
typedef int (*rtx_function) PROTO((rtx *, void *));
extern int for_each_rtx PROTO((rtx *, rtx_function, void *));
extern int insn_first_p PROTO((rtx, rtx));
+extern rtx regno_use_in PROTO((int, rtx));
/* flow.c */
extern rtx get_first_nonparm_insn PROTO((void));
+extern void split_block_insns PROTO((int, int));
+extern void update_flow_info PROTO((rtx, rtx, rtx, rtx));
+
/* Standard pieces of rtx, to be substituted directly into things. */
#define pc_rtx (&global_rtl.pc_val)
#define cc0_rtx (&global_rtl.cc0_val)