Make get_insns and friends inline

Richard Guenther rguenther@suse.de
Tue Jun 1 14:25:00 GMT 2010


On Tue, 1 Jun 2010, Jan Hubicka wrote:

> Hi,
> enother most frequent crossmodule inline is get_insns and related functions.
> Those are just simple accestor to global xrtl structure, so it makes a lot of
> sense to inline them.
> 
> This patch moves it to static inline as header. Doing so is however bit tricky.
> They can not sit in rtl.h because crtl is defined in function.h. They can not
> sit in function.h because NEXT_INSN is defined by rtl.h.
> 
> I dediced to move them all to emit-rtl.h that exists anyway and add includes as
> needed.
> I did not update Makefile since I think Steven might have some comments on this.
> If the patch gets accepted as it is, I will udpate dependencies for sure.
> 
> It saves about 30Kb from cc1 binary.
> 
> Bootstrapped/regtested x86_64-linux, OK?

emit-rtl.h looks reasonable for these.  Ok if steven doesn't jump in
your face.

Thanks,
Richard.

> Honza
> 
> 	* fwprop.c: Make emit-rtl.h include last.
> 	* rtlanal.c: Include emit-rtl.h.
> 	* genautomata.c: Output emit-rtl include into insn-automata.c
> 	* df-scan.c: Include emit-rtl.h.
> 	* haifa-sched.c: Indlude emit-rtl.h.
> 	* mode-switching.c: Indlude emit-rtl.h.
> 	* graph.c: Indlude emit-rtl.h.
> 	* sel-sched.c: Include emit-rtl.h.
> 	* sel-sched-ir.c: Include emit-rtl.h.
> 	* ira-build.c: Include emit-rtl.h.
> 	* emit-rtl.c: (first_insn, last_insn): Remove defines.
> 	(get_insns, set_first_insn, get_last_insn, set_last_insn, get_max_uid):
> 	Move to emit-rtl.h.
> 	(set_new_first_and_last_insn, get_last_insn_anywhere, get_first_nonnote_insn,
> 	get_last_nonnote_insn, try_split, make_call_insn_raw, add_insn_after,
> 	add_insn_before, remove_insn, delete_insns_since, reorder_insns_nobb,
> 	emit_insn_after_1, emit_debug_insn_before, emit_insn, start_sequence,
> 	push_to_sequence, push_to_sequence2, push_topmost_sequence, end_sequence,
> 	copy_insn): Use accessor functions.
> 	* emit-rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
> 	 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
> 	set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
> 	mem_expr_equal_p): Move here from rtl.h
> 	(get_insns, set_first-insn, get_last_insn, set_last_insn, get_max_uid):
> 	Move here from emit-rtl.c; make inline.
> 	* cfglayout.h: Include emit-rtl.h
> 	* rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
> 	 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
> 	set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
> 	mem_expr_equal_p, get_insns, set_first-insn, get_last_insn, set_last_insn,
> 	get_max_uid): Move to emit-rtl.h.
> 	* reg-stack.c: Include emit-rtl.h
> 	* dce.c: Likewise.
> Index: fwprop.c
> ===================================================================
> --- fwprop.c	(revision 160093)
> +++ fwprop.c	(working copy)
> @@ -28,7 +28,6 @@ along with GCC; see the file COPYING3.  
>  #include "timevar.h"
>  #include "rtl.h"
>  #include "tm_p.h"
> -#include "emit-rtl.h"
>  #include "insn-config.h"
>  #include "recog.h"
>  #include "flags.h"
> @@ -40,6 +39,7 @@ along with GCC; see the file COPYING3.  
>  #include "cfgloop.h"
>  #include "tree-pass.h"
>  #include "domwalk.h"
> +#include "emit-rtl.h"
>  
>  
>  /* This pass does simple forward propagation and simplification when an
> Index: rtlanal.c
> ===================================================================
> --- rtlanal.c	(revision 160093)
> +++ rtlanal.c	(working copy)
> @@ -37,6 +37,7 @@ along with GCC; see the file COPYING3.  
>  #include "function.h"
>  #include "df.h"
>  #include "tree.h"
> +#include "emit-rtl.h"
>  
>  /* Forward declarations */
>  static void set_of_1 (rtx, const_rtx, void *);
> Index: genautomata.c
> ===================================================================
> --- genautomata.c	(revision 160093)
> +++ genautomata.c	(working copy)
> @@ -9569,7 +9569,8 @@ main (int argc, char **argv)
>  		"#include \"insn-attr.h\"\n"
>  		"#include \"toplev.h\"\n"
>  		"#include \"flags.h\"\n"
> -		"#include \"function.h\"\n");
> +		"#include \"function.h\"\n"
> +		"#include \"emit-rtl.h\"\n");
>  
>  	  write_automata ();
>  	}
> Index: df-scan.c
> ===================================================================
> --- df-scan.c	(revision 160093)
> +++ df-scan.c	(working copy)
> @@ -45,6 +45,7 @@ along with GCC; see the file COPYING3.  
>  #include "target-def.h"
>  #include "df.h"
>  #include "tree-pass.h"
> +#include "emit-rtl.h"
>  
>  DEF_VEC_P(df_ref);
>  DEF_VEC_ALLOC_P_STACK(df_ref);
> Index: haifa-sched.c
> ===================================================================
> --- haifa-sched.c	(revision 160093)
> +++ haifa-sched.c	(working copy)
> @@ -148,6 +148,7 @@ along with GCC; see the file COPYING3.  
>  #include "dbgcnt.h"
>  #include "cfgloop.h"
>  #include "ira.h"
> +#include "emit-rtl.h"
>  
>  #ifdef INSN_SCHEDULING
>  
> Index: mode-switching.c
> ===================================================================
> --- mode-switching.c	(revision 160093)
> +++ mode-switching.c	(working copy)
> @@ -36,6 +36,7 @@ along with GCC; see the file COPYING3.  
>  #include "tree-pass.h"
>  #include "timevar.h"
>  #include "df.h"
> +#include "emit-rtl.h"
>  
>  /* We want target macros for the mode switching code to be able to refer
>     to instruction attribute values.  */
> Index: graph.c
> ===================================================================
> --- graph.c	(revision 160093)
> +++ graph.c	(working copy)
> @@ -32,6 +32,7 @@ along with GCC; see the file COPYING3.  
>  #include "basic-block.h"
>  #include "toplev.h"
>  #include "graph.h"
> +#include "emit-rtl.h"
>  
>  static const char *const graph_ext[] =
>  {
> Index: sel-sched.c
> ===================================================================
> --- sel-sched.c	(revision 160093)
> +++ sel-sched.c	(working copy)
> @@ -45,6 +45,7 @@ along with GCC; see the file COPYING3.  
>  #include "langhooks.h"
>  #include "rtlhooks-def.h"
>  #include "output.h"
> +#include "emit-rtl.h"
>  
>  #ifdef INSN_SCHEDULING
>  #include "sel-sched-ir.h"
> Index: sel-sched-ir.c
> ===================================================================
> --- sel-sched-ir.c	(revision 160093)
> +++ sel-sched-ir.c	(working copy)
> @@ -43,6 +43,7 @@ along with GCC; see the file COPYING3.  
>  #include "vec.h"
>  #include "langhooks.h"
>  #include "rtlhooks-def.h"
> +#include "emit-rtl.h"
>  
>  #ifdef INSN_SCHEDULING
>  #include "sel-sched-ir.h"
> Index: ira-build.c
> ===================================================================
> --- ira-build.c	(revision 160093)
> +++ ira-build.c	(working copy)
> @@ -39,6 +39,7 @@ along with GCC; see the file COPYING3.  
>  #include "reload.h"
>  #include "sparseset.h"
>  #include "ira-int.h"
> +#include "emit-rtl.h"
>  
>  static ira_copy_t find_allocno_copy (ira_allocno_t, ira_allocno_t, rtx,
>  				     ira_loop_tree_node_t);
> Index: emit-rtl.c
> ===================================================================
> --- emit-rtl.c	(revision 160093)
> +++ emit-rtl.c	(working copy)
> @@ -167,8 +167,6 @@ static GTY ((if_marked ("ggc_marked_p"),
>  static GTY ((if_marked ("ggc_marked_p"), param_is (struct rtx_def)))
>       htab_t const_fixed_htab;
>  
> -#define first_insn (crtl->emit.x_first_insn)
> -#define last_insn (crtl->emit.x_last_insn)
>  #define cur_insn_uid (crtl->emit.x_cur_insn_uid)
>  #define cur_debug_insn_uid (crtl->emit.x_cur_debug_insn_uid)
>  #define last_location (crtl->emit.x_last_location)
> @@ -2317,8 +2315,8 @@ set_new_first_and_last_insn (rtx first, 
>  {
>    rtx insn;
>  
> -  first_insn = first;
> -  last_insn = last;
> +  set_first_insn (first);
> +  set_last_insn (last);
>    cur_insn_uid = 0;
>  
>    if (MIN_NONDEBUG_INSN_UID || MAY_HAVE_DEBUG_INSNS)
> @@ -2926,48 +2924,14 @@ make_safe_from (rtx x, rtx other)
>  
>  /* Emission of insns (adding them to the doubly-linked list).  */
>  
> -/* Return the first insn of the current sequence or current function.  */
> -
> -rtx
> -get_insns (void)
> -{
> -  return first_insn;
> -}
> -
> -/* Specify a new insn as the first in the chain.  */
> -
> -void
> -set_first_insn (rtx insn)
> -{
> -  gcc_assert (!PREV_INSN (insn));
> -  first_insn = insn;
> -}
> -
> -/* Return the last insn emitted in current sequence or current function.  */
> -
> -rtx
> -get_last_insn (void)
> -{
> -  return last_insn;
> -}
> -
> -/* Specify a new insn as the last in the chain.  */
> -
> -void
> -set_last_insn (rtx insn)
> -{
> -  gcc_assert (!NEXT_INSN (insn));
> -  last_insn = insn;
> -}
> -
>  /* Return the last insn emitted, even if it is in a sequence now pushed.  */
>  
>  rtx
>  get_last_insn_anywhere (void)
>  {
>    struct sequence_stack *stack;
> -  if (last_insn)
> -    return last_insn;
> +  if (get_last_insn ())
> +    return get_last_insn ();
>    for (stack = seq_stack; stack; stack = stack->next)
>      if (stack->last != 0)
>        return stack->last;
> @@ -2980,7 +2944,7 @@ get_last_insn_anywhere (void)
>  rtx
>  get_first_nonnote_insn (void)
>  {
> -  rtx insn = first_insn;
> +  rtx insn = get_insns ();
>  
>    if (insn)
>      {
> @@ -3006,7 +2970,7 @@ get_first_nonnote_insn (void)
>  rtx
>  get_last_nonnote_insn (void)
>  {
> -  rtx insn = last_insn;
> +  rtx insn = get_last_insn ();
>  
>    if (insn)
>      {
> @@ -3027,14 +2991,6 @@ get_last_nonnote_insn (void)
>    return insn;
>  }
>  
> -/* Return a number larger than any instruction's uid in this function.  */
> -
> -int
> -get_max_uid (void)
> -{
> -  return cur_insn_uid;
> -}
> -
>  /* Return the number of actual (non-debug) insns emitted in this
>     function.  */
>  
> @@ -3625,7 +3581,7 @@ try_split (rtx pat, rtx trial, int last)
>    /* Return either the first or the last insn, depending on which was
>       requested.  */
>    return last
> -    ? (after ? PREV_INSN (after) : last_insn)
> +    ? (after ? PREV_INSN (after) : get_last_insn ())
>      : NEXT_INSN (before);
>  }
>  
> @@ -3728,16 +3684,16 @@ make_call_insn_raw (rtx pattern)
>  void
>  add_insn (rtx insn)
>  {
> -  PREV_INSN (insn) = last_insn;
> +  PREV_INSN (insn) = get_last_insn();
>    NEXT_INSN (insn) = 0;
>  
> -  if (NULL != last_insn)
> -    NEXT_INSN (last_insn) = insn;
> +  if (NULL != get_last_insn())
> +    NEXT_INSN (get_last_insn ()) = insn;
>  
> -  if (NULL == first_insn)
> -    first_insn = insn;
> +  if (NULL == get_insns ())
> +    set_first_insn (insn);
>  
> -  last_insn = insn;
> +  set_last_insn (insn);
>  }
>  
>  /* Add INSN into the doubly-linked list after insn AFTER.  This and
> @@ -3761,8 +3717,8 @@ add_insn_after (rtx insn, rtx after, bas
>        if (NONJUMP_INSN_P (next) && GET_CODE (PATTERN (next)) == SEQUENCE)
>  	PREV_INSN (XVECEXP (PATTERN (next), 0, 0)) = insn;
>      }
> -  else if (last_insn == after)
> -    last_insn = insn;
> +  else if (get_last_insn () == after)
> +    set_last_insn (insn);
>    else
>      {
>        struct sequence_stack *stack = seq_stack;
> @@ -3826,8 +3782,8 @@ add_insn_before (rtx insn, rtx before, b
>  	  NEXT_INSN (XVECEXP (sequence, 0, XVECLEN (sequence, 0) - 1)) = insn;
>  	}
>      }
> -  else if (first_insn == before)
> -    first_insn = insn;
> +  else if (get_insns () == before)
> +    set_first_insn (insn);
>    else
>      {
>        struct sequence_stack *stack = seq_stack;
> @@ -3898,8 +3854,11 @@ remove_insn (rtx insn)
>  	  NEXT_INSN (XVECEXP (sequence, 0, XVECLEN (sequence, 0) - 1)) = next;
>  	}
>      }
> -  else if (first_insn == insn)
> -    first_insn = next;
> +  else if (get_insns () == insn)
> +    {
> +      PREV_INSN (next) = NULL;
> +      set_first_insn (next);
> +    }
>    else
>      {
>        struct sequence_stack *stack = seq_stack;
> @@ -3920,8 +3879,8 @@ remove_insn (rtx insn)
>        if (NONJUMP_INSN_P (next) && GET_CODE (PATTERN (next)) == SEQUENCE)
>  	PREV_INSN (XVECEXP (PATTERN (next), 0, 0)) = prev;
>      }
> -  else if (last_insn == insn)
> -    last_insn = prev;
> +  else if (get_last_insn () == insn)
> +    set_last_insn (prev);
>    else
>      {
>        struct sequence_stack *stack = seq_stack;
> @@ -3982,10 +3941,10 @@ void
>  delete_insns_since (rtx from)
>  {
>    if (from == 0)
> -    first_insn = 0;
> +    set_first_insn (0);
>    else
>      NEXT_INSN (from) = 0;
> -  last_insn = from;
> +  set_last_insn (from);
>  }
>  
>  /* This function is deprecated, please use sequences instead.
> @@ -4006,10 +3965,10 @@ reorder_insns_nobb (rtx from, rtx to, rt
>      NEXT_INSN (PREV_INSN (from)) = NEXT_INSN (to);
>    if (NEXT_INSN (to))
>      PREV_INSN (NEXT_INSN (to)) = PREV_INSN (from);
> -  if (last_insn == to)
> -    last_insn = PREV_INSN (from);
> -  if (first_insn == from)
> -    first_insn = NEXT_INSN (to);
> +  if (get_last_insn () == to)
> +    set_last_insn (PREV_INSN (from));
> +  if (get_insns () == from)
> +    set_first_insn (NEXT_INSN (to));
>  
>    /* Make the new neighbors point to it and it to them.  */
>    if (NEXT_INSN (after))
> @@ -4018,8 +3977,8 @@ reorder_insns_nobb (rtx from, rtx to, rt
>    NEXT_INSN (to) = NEXT_INSN (after);
>    PREV_INSN (from) = after;
>    NEXT_INSN (after) = from;
> -  if (after == last_insn)
> -    last_insn = to;
> +  if (after == get_last_insn())
> +    set_last_insn (to);
>  }
>  
>  /* Same as function above, but take care to update BB boundaries.  */
> @@ -4344,8 +4303,8 @@ emit_insn_after_1 (rtx first, rtx after,
>    if (after_after)
>      PREV_INSN (after_after) = last;
>  
> -  if (after == last_insn)
> -    last_insn = last;
> +  if (after == get_last_insn())
> +    set_last_insn (last);
>  
>    return last;
>  }
> @@ -4842,7 +4801,7 @@ emit_debug_insn_before (rtx pattern, rtx
>  rtx
>  emit_insn (rtx x)
>  {
> -  rtx last = last_insn;
> +  rtx last = get_last_insn();
>    rtx insn;
>  
>    if (x == NULL_RTX)
> @@ -4888,7 +4847,7 @@ emit_insn (rtx x)
>  rtx
>  emit_debug_insn (rtx x)
>  {
> -  rtx last = last_insn;
> +  rtx last = get_last_insn();
>    rtx insn;
>  
>    if (x == NULL_RTX)
> @@ -5283,13 +5242,13 @@ start_sequence (void)
>      tem = GGC_NEW (struct sequence_stack);
>  
>    tem->next = seq_stack;
> -  tem->first = first_insn;
> -  tem->last = last_insn;
> +  tem->first = get_insns ();
> +  tem->last = get_last_insn ();
>  
>    seq_stack = tem;
>  
> -  first_insn = 0;
> -  last_insn = 0;
> +  set_first_insn (0);
> +  set_last_insn (0);
>  }
>  
>  /* Set up the insn chain starting with FIRST as the current sequence,
> @@ -5305,8 +5264,8 @@ push_to_sequence (rtx first)
>  
>    for (last = first; last && NEXT_INSN (last); last = NEXT_INSN (last));
>  
> -  first_insn = first;
> -  last_insn = last;
> +  set_first_insn (first);
> +  set_last_insn (last);
>  }
>  
>  /* Like push_to_sequence, but take the last insn as an argument to avoid
> @@ -5317,8 +5276,8 @@ push_to_sequence2 (rtx first, rtx last)
>  {
>    start_sequence ();
>  
> -  first_insn = first;
> -  last_insn = last;
> +  set_first_insn (first);
> +  set_last_insn (last);
>  }
>  
>  /* Set up the outer-level insn chain
> @@ -5334,8 +5293,8 @@ push_topmost_sequence (void)
>    for (stack = seq_stack; stack; stack = stack->next)
>      top = stack;
>  
> -  first_insn = top->first;
> -  last_insn = top->last;
> +  set_first_insn (top->first);
> +  set_last_insn (top->last);
>  }
>  
>  /* After emitting to the outer-level insn chain, update the outer-level
> @@ -5349,8 +5308,8 @@ pop_topmost_sequence (void)
>    for (stack = seq_stack; stack; stack = stack->next)
>      top = stack;
>  
> -  top->first = first_insn;
> -  top->last = last_insn;
> +  top->first = get_insns ();
> +  top->last = get_last_insn ();
>  
>    end_sequence ();
>  }
> @@ -5373,8 +5332,8 @@ end_sequence (void)
>  {
>    struct sequence_stack *tem = seq_stack;
>  
> -  first_insn = tem->first;
> -  last_insn = tem->last;
> +  set_first_insn (tem->first);
> +  set_last_insn (tem->last);
>    seq_stack = tem->next;
>  
>    memset (tem, 0, sizeof (*tem));
> @@ -5576,8 +5535,8 @@ copy_insn (rtx insn)
>  void
>  init_emit (void)
>  {
> -  first_insn = NULL;
> -  last_insn = NULL;
> +  set_first_insn (NULL);
> +  set_last_insn (NULL);
>    if (MIN_NONDEBUG_INSN_UID)
>      cur_insn_uid = MIN_NONDEBUG_INSN_UID;
>    else
> Index: emit-rtl.h
> ===================================================================
> --- emit-rtl.h	(revision 160093)
> +++ emit-rtl.h	(working copy)
> @@ -51,4 +51,57 @@ extern rtx replace_equiv_address (rtx, r
>  /* Likewise, but the reference is not required to be valid.  */
>  extern rtx replace_equiv_address_nv (rtx, rtx);
>  
> +extern rtx gen_blockage (void);
> +extern rtvec gen_rtvec (int, ...);
> +extern rtx copy_insn_1 (rtx);
> +extern rtx copy_insn (rtx);
> +extern rtx gen_int_mode (HOST_WIDE_INT, enum machine_mode);
> +extern rtx emit_copy_of_insn_after (rtx, rtx);
> +extern void set_reg_attrs_from_value (rtx, rtx);
> +extern void set_reg_attrs_for_parm (rtx, rtx);
> +extern void set_reg_attrs_for_decl_rtl (tree t, rtx x);
> +extern void adjust_reg_mode (rtx, enum machine_mode);
> +extern int mem_expr_equal_p (const_tree, const_tree);
> +
> +/* Return the first insn of the current sequence or current function.  */
> +
> +static inline rtx
> +get_insns (void)
> +{
> +  return crtl->emit.x_first_insn;
> +}
> +
> +/* Specify a new insn as the first in the chain.  */
> +
> +static inline void
> +set_first_insn (rtx insn)
> +{
> +  gcc_assert (!insn || !PREV_INSN (insn));
> +  crtl->emit.x_first_insn = insn;
> +}
> +
> +/* Return the last insn emitted in current sequence or current function.  */
> +
> +static inline rtx
> +get_last_insn (void)
> +{
> +  return crtl->emit.x_last_insn;
> +}
> +
> +/* Specify a new insn as the last in the chain.  */
> +
> +static inline void
> +set_last_insn (rtx insn)
> +{
> +  gcc_assert (!insn || !NEXT_INSN (insn));
> +  crtl->emit.x_last_insn = insn;
> +}
> +
> +/* Return a number larger than any instruction's uid in this function.  */
> +
> +static inline int
> +get_max_uid (void)
> +{
> +  return crtl->emit.x_cur_insn_uid;
> +}
>  #endif /* GCC_EMIT_RTL_H */
> Index: cfglayout.c
> ===================================================================
> --- cfglayout.c	(revision 160093)
> +++ cfglayout.c	(working copy)
> @@ -39,6 +39,7 @@ along with GCC; see the file COPYING3.  
>  #include "tree-pass.h"
>  #include "df.h"
>  #include "vecprim.h"
> +#include "emit-rtl.h"
>  
>  /* Holds the interesting trailing notes for the function.  */
>  rtx cfg_layout_function_footer;
> Index: rtl.h
> ===================================================================
> --- rtl.h	(revision 160093)
> +++ rtl.h	(working copy)
> @@ -1051,7 +1051,6 @@ rhs_regno (const_rtx x)
>  }
>  
>  
> -
>  /* 1 if RTX is a reg or parallel that is the current function's return
>     value.  */
>  #define REG_FUNCTION_VALUE_P(RTX)					\
> @@ -1551,19 +1550,6 @@ extern int ceil_log2 (unsigned HOST_WIDE
>  extern HOST_WIDE_INT trunc_int_for_mode	(HOST_WIDE_INT, enum machine_mode);
>  extern rtx plus_constant (rtx, HOST_WIDE_INT);
>  
> -/* In emit-rtl.c */
> -extern rtx gen_blockage (void);
> -extern rtvec gen_rtvec (int, ...);
> -extern rtx copy_insn_1 (rtx);
> -extern rtx copy_insn (rtx);
> -extern rtx gen_int_mode (HOST_WIDE_INT, enum machine_mode);
> -extern rtx emit_copy_of_insn_after (rtx, rtx);
> -extern void set_reg_attrs_from_value (rtx, rtx);
> -extern void set_reg_attrs_for_parm (rtx, rtx);
> -extern void set_reg_attrs_for_decl_rtl (tree t, rtx x);
> -extern void adjust_reg_mode (rtx, enum machine_mode);
> -extern int mem_expr_equal_p (const_tree, const_tree);
> -
>  /* In rtl.c */
>  extern rtx rtx_alloc_stat (RTX_CODE MEM_STAT_DECL);
>  #define rtx_alloc(c) rtx_alloc_stat (c MEM_STAT_INFO)
> @@ -1613,9 +1599,7 @@ extern rtx convert_memory_address_addr_s
>  					      addr_space_t);
>  #define convert_memory_address(to_mode,x) \
>  	convert_memory_address_addr_space ((to_mode), (x), ADDR_SPACE_GENERIC)
> -extern rtx get_insns (void);
>  extern const char *get_insn_name (int);
> -extern rtx get_last_insn (void);
>  extern rtx get_last_insn_anywhere (void);
>  extern rtx get_first_nonnote_insn (void);
>  extern rtx get_last_nonnote_insn (void);
> @@ -2216,7 +2200,6 @@ extern void reset_used_flags (rtx);
>  extern void set_used_flags (rtx);
>  extern void reorder_insns (rtx, rtx, rtx);
>  extern void reorder_insns_nobb (rtx, rtx, rtx);
> -extern int get_max_uid (void);
>  extern int get_max_insn_count (void);
>  extern int in_sequence_p (void);
>  extern void force_next_line_note (void);
> @@ -2230,8 +2213,6 @@ extern unsigned int unshare_all_rtl (voi
>  extern void unshare_all_rtl_again (rtx);
>  extern void unshare_all_rtl_in_chain (rtx);
>  extern void verify_rtl_sharing (void);
> -extern void set_first_insn (rtx);
> -extern void set_last_insn (rtx);
>  extern void link_cc0_insns (rtx);
>  extern void add_insn (rtx);
>  extern void add_insn_before (rtx, rtx, struct basic_block_def *);
> Index: reg-stack.c
> ===================================================================
> --- reg-stack.c	(revision 160093)
> +++ reg-stack.c	(working copy)
> @@ -175,6 +175,7 @@
>  #include "target.h"
>  #include "df.h"
>  #include "vecprim.h"
> +#include "emit-rtl.h"
>  
>  #ifdef STACK_REGS
>  
> Index: dce.c
> ===================================================================
> --- dce.c	(revision 160093)
> +++ dce.c	(working copy)
> @@ -35,6 +35,7 @@ along with GCC; see the file COPYING3.  
>  #include "tree-pass.h"
>  #include "dbgcnt.h"
>  #include "tm_p.h"
> +#include "emit-rtl.h"
>  
>  
>  /* -------------------------------------------------------------------------
> 
> 

-- 
Richard Guenther <rguenther@suse.de>
Novell / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex



More information about the Gcc-patches mailing list