Ejemplo n.º 1
0
/* Duplicate the INSN_LIST elements of COPY and prepend them to OLD.  */
rtx_insn_list *
concat_INSN_LIST (rtx_insn_list *copy, rtx_insn_list *old)
{
  rtx_insn_list *new_rtx = old;
  for (; copy ; copy = copy->next ())
    {
      new_rtx = alloc_INSN_LIST (copy->insn (), new_rtx);
      PUT_REG_NOTE_KIND (new_rtx, REG_NOTE_KIND (copy));
    }
  return new_rtx;
}
Ejemplo n.º 2
0
/* This call is used in place of a gen_rtx_EXPR_LIST. If there is a cached
   node available, we'll use it, otherwise a call to gen_rtx_EXPR_LIST
   is made.  */
rtx_expr_list *
alloc_EXPR_LIST (int kind, rtx val, rtx next)
{
  rtx_expr_list *r;

  if (unused_expr_list)
    {
      r = as_a <rtx_expr_list *> (unused_expr_list);
      unused_expr_list = XEXP (r, 1);
      XEXP (r, 0) = val;
      XEXP (r, 1) = next;
      PUT_REG_NOTE_KIND (r, kind);
    }
  else
    r = gen_rtx_EXPR_LIST ((machine_mode) kind, val, next);

  return r;
}
Ejemplo n.º 3
0
/* This call is used in place of a gen_rtx_EXPR_LIST. If there is a cached
   node available, we'll use it, otherwise a call to gen_rtx_EXPR_LIST
   is made.  */
rtx
alloc_EXPR_LIST (int kind, rtx val, rtx next)
{
    rtx r;

    if (unused_expr_list)
    {
        r = unused_expr_list;
        unused_expr_list = XEXP (r, 1);
        XEXP (r, 0) = val;
        XEXP (r, 1) = next;
        PUT_REG_NOTE_KIND (r, kind);
    }
    else
        r = gen_rtx_EXPR_LIST (kind, val, next);

    return r;
}
Ejemplo n.º 4
0
/* This call is used in place of a gen_rtx_INSN_LIST. If there is a cached
   node available, we'll use it, otherwise a call to gen_rtx_INSN_LIST
   is made.  */
rtx
alloc_INSN_LIST (rtx val, rtx next)
{
  rtx r;

  if (unused_insn_list)
    {
      r = unused_insn_list;
      unused_insn_list = XEXP (r, 1);
      XEXP (r, 0) = val;
      XEXP (r, 1) = next;
      PUT_REG_NOTE_KIND (r, VOIDmode);
    }
  else
    r = gen_rtx_INSN_LIST (VOIDmode, val, next);

  return r;
}
Ejemplo n.º 5
0
/* This call is used in place of a gen_rtx_INSN_LIST. If there is a cached
   node available, we'll use it, otherwise a call to gen_rtx_INSN_LIST
   is made.  */
rtx_insn_list *
alloc_INSN_LIST (rtx val, rtx next)
{
  rtx_insn_list *r;

  if (unused_insn_list)
    {
      r = as_a <rtx_insn_list *> (unused_insn_list);
      unused_insn_list = r->next ();
      XEXP (r, 0) = val;
      XEXP (r, 1) = next;
      PUT_REG_NOTE_KIND (r, VOIDmode);

      gcc_assert (GET_CODE (r) == INSN_LIST);
    }
  else
    r = gen_rtx_INSN_LIST (VOIDmode, val, next);

  return r;
}