* langhooks.c: Fix formatting.
* langhooks.h: Likewise.
* lcm.c: Likewise.
* libgcc2.c: Likewise.
* lists.c: Likewise.
* local-alloc.c: Likewise.
* loop.c: Likewise.
* loop.h: Likewise.
From-SVN: r54070
-2002-05-30 Marc Espie <espie@openbsd.org>
- * config.gcc (sparc64-*-openbsd*): New.
- * config/sparc/openbsd1-64.h: New.
- * config/sparc/openbsd64.h: New.
+2002-05-30 Kazu Hirata <kazu@cs.umass.edu>
+
+ * langhooks.c: Fix formatting.
+ * langhooks.h: Likewise.
+ * lcm.c: Likewise.
+ * libgcc2.c: Likewise.
+ * lists.c: Likewise.
+ * local-alloc.c: Likewise.
+ * loop.c: Likewise.
+ * loop.h: Likewise.
+
+2002-05-30 Marc Espie <espie@openbsd.org>
+
+ * config.gcc (sparc64-*-openbsd*): New.
+ * config/sparc/openbsd1-64.h: New.
+ * config/sparc/openbsd64.h: New.
2002-05-30 Jeff Law <law@redhat.com>
VAR_DECLs for variables with static storage duration need a real
DECL_ASSEMBLER_NAME. */
if (TREE_CODE (decl) == FUNCTION_DECL
- || (TREE_CODE (decl) == VAR_DECL
- && (TREE_STATIC (decl)
- || DECL_EXTERNAL (decl)
+ || (TREE_CODE (decl) == VAR_DECL
+ && (TREE_STATIC (decl)
+ || DECL_EXTERNAL (decl)
|| TREE_PUBLIC (decl))))
/* By default, assume the name to use in assembly code is the
same as that used in the source language. (That's correct
return value;
}
-/* lang_hooks.tree_dump.dump_tree: Dump language-specific parts of tree
- nodes. Returns non-zero if it does not want the usual dumping of the
+/* lang_hooks.tree_dump.dump_tree: Dump language-specific parts of tree
+ nodes. Returns non-zero if it does not want the usual dumping of the
second argument. */
int
return 0;
}
-/* lang_hooks.tree_dump.type_qual: Determine type qualifiers in a
+/* lang_hooks.tree_dump.type_qual: Determine type qualifiers in a
language-specific way. */
int
{
return TYPE_QUALS (t);
}
-
struct lang_hooks_for_tree_dump
{
- /* Dump language-specific parts of tree nodes. Returns non-zero if it
+ /* Dump language-specific parts of tree nodes. Returns non-zero if it
does not want the usual dumping of the second argument. */
int (*dump_tree) PARAMS ((void *, tree));
/* Return a new type (with the indicated CODE), doing whatever
language-specific processing is required. */
tree (*make_type) PARAMS ((enum tree_code));
-
+
/* Given MODE and UNSIGNEDP, return a suitable type-tree with that
mode. */
tree (*type_for_mode) PARAMS ((enum machine_mode, int));
struct lang_hooks_for_functions function;
struct lang_hooks_for_tree_inlining tree_inlining;
-
+
struct lang_hooks_for_tree_dump tree_dump;
struct lang_hooks_for_decls decls;
qlen--;
if (qout >= qend)
- qout = worklist;
+ qout = worklist;
if (bb->aux == EXIT_BLOCK_PTR)
/* Do not clear the aux field for blocks which are predecessors of
e->src->aux = e;
qlen++;
if (qin >= qend)
- qin = worklist;
+ qin = worklist;
}
}
if (pred == ENTRY_BLOCK_PTR)
sbitmap_copy (earliest[x], antin[succ->index]);
else
- {
+ {
if (succ == EXIT_BLOCK_PTR)
sbitmap_zero (earliest[x]);
else
bb->aux = NULL;
qlen--;
if (qout >= qend)
- qout = worklist;
+ qout = worklist;
/* Compute the intersection of LATERIN for each incoming edge to B. */
sbitmap_ones (laterin[bb->index]);
qlen--;
if (qout >= qend)
- qout = worklist;
+ qout = worklist;
/* If one of the predecessor blocks is the ENTRY block, then the
intersection of avouts is the null set. We can identify such blocks
qlen++;
if (qin >= qend)
- qin = worklist;
+ qin = worklist;
}
}
{
ptr = head->seginfo;
while (ptr->next != NULL)
- ptr = ptr->next;
+ ptr = ptr->next;
ptr->next = info;
}
}
/* Create the list of segments within each basic block.
If NORMAL_MODE is defined, allow for two extra
- blocks split from the entry and exit block. */
+ blocks split from the entry and exit block. */
#ifdef NORMAL_MODE
entry_exit_extra = 2;
#endif
Wtype
__negvsi2 (Wtype a)
{
- Wtype w;
+ Wtype w;
- w = -a;
+ w = -a;
if (a >= 0 ? w > 0 : w < 0)
abort ();
DWtype
__negvdi2 (DWtype a)
{
- DWtype w;
+ DWtype w;
- w = -a;
+ w = -a;
if (a >= 0 ? w > 0 : w < 0)
abort ();
- return w;
+ return w;
}
#endif
\f
Wtype
__absvsi2 (Wtype a)
{
- Wtype w = a;
+ Wtype w = a;
- if (a < 0)
+ if (a < 0)
#ifdef L_negvsi2
- w = __negvsi2 (a);
+ w = __negvsi2 (a);
#else
- w = -a;
+ w = -a;
- if (w < 0)
- abort ();
+ if (w < 0)
+ abort ();
#endif
return w;
DWtype
__absvdi2 (DWtype a)
{
- DWtype w = a;
+ DWtype w = a;
- if (a < 0)
+ if (a < 0)
#ifdef L_negvsi2
- w = __negvsi2 (a);
+ w = __negvsi2 (a);
#else
- w = -a;
+ w = -a;
- if (w < 0)
- abort ();
+ if (w < 0)
+ abort ();
#endif
- return w;
+ return w;
}
#endif
\f
DWtype
__mulvdi3 (DWtype u, DWtype v)
{
- DWtype w;
+ DWtype w;
w = u * v;
/* length of extra data in bytes. */
__write_long ((4 + 8 + 8) + (4 + 8 + 8), da_file, 4);
- /* overall statistics. */
+ /* overall statistics. */
/* number of counters. */
- __write_long (n_counters_p, da_file, 4);
+ __write_long (n_counters_p, da_file, 4);
/* sum of counters. */
- __write_gcov_type (sum_counters_p, da_file, 8);
+ __write_gcov_type (sum_counters_p, da_file, 8);
/* maximal counter. */
- __write_gcov_type (max_counter_p, da_file, 8);
+ __write_gcov_type (max_counter_p, da_file, 8);
- /* per-object statistics. */
+ /* per-object statistics. */
/* number of counters. */
- __write_long (ptr->ncounts, da_file, 4);
+ __write_long (ptr->ncounts, da_file, 4);
/* sum of counters. */
- __write_gcov_type (sum_counters_o, da_file, 8);
+ __write_gcov_type (sum_counters_o, da_file, 8);
/* maximal counter. */
- __write_gcov_type (max_counter_o, da_file, 8);
+ __write_gcov_type (max_counter_o, da_file, 8);
/* write execution counts for each function. */
if (blocks->zero_word)
return;
-
+
/* Initialize destructor and per-thread data. */
if (!bb_head)
atexit (__bb_exit_func);
/* Called before fork or exec - write out profile information gathered so
far and reset it to zero. This avoids duplication or loss of the
profile information gathered so far. */
-void
+void
__bb_fork_func (void)
{
struct bb *ptr;
}
/* 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
+ node available, we'll use it, otherwise a call to gen_rtx_INSN_LIST
is made. */
rtx
alloc_INSN_LIST (val, next)
}
/* 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
+ node available, we'll use it, otherwise a call to gen_rtx_EXPR_LIST
is made. */
rtx
alloc_EXPR_LIST (kind, val, next)
unused_insn_list = NULL;
}
-void
+void
init_EXPR_INSN_LIST_cache ()
{
ggc_add_root (&unused_expr_list, 1, 1, zap_lists);
}
/* This function will free up an entire list of EXPR_LIST nodes. */
-void
+void
free_EXPR_LIST_list (listp)
rtx *listp;
{
}
/* This function will free up an entire list of INSN_LIST nodes. */
-void
+void
free_INSN_LIST_list (listp)
rtx *listp;
{
}
/* This function will free up an individual EXPR_LIST node. */
-void
+void
free_EXPR_LIST_node (ptr)
rtx ptr;
{
}
/* This function will free up an individual INSN_LIST node. */
-void
+void
free_INSN_LIST_node (ptr)
rtx ptr;
{
REG_N_REFS (regno) = 0;
REG_FREQ (regno) = 0;
delete_insn (equiv_insn);
-
+
reg_equiv[regno].init_insns
= XEXP (reg_equiv[regno].init_insns, 1);
}
{
int j;
if (clear_regnos > 8)
- {
+ {
FOR_EACH_BB (bb)
{
AND_COMPL_REG_SET (bb->global_live_at_start, &cleared_regs);
}
}
else
- EXECUTE_IF_SET_IN_REG_SET (&cleared_regs, 0, j,
- {
+ EXECUTE_IF_SET_IN_REG_SET (&cleared_regs, 0, j,
+ {
FOR_EACH_BB (bb)
{
CLEAR_REGNO_REG_SET (bb->global_live_at_start, j);
unconditional jump, otherwise the code at the top of the
loop might never be executed. Unconditional jumps are
followed by a barrier then the loop_end. */
- && ! (GET_CODE (p) == JUMP_INSN && JUMP_LABEL (p) == loop->top
+ && ! (GET_CODE (p) == JUMP_INSN && JUMP_LABEL (p) == loop->top
&& NEXT_INSN (NEXT_INSN (p)) == loop_end
&& any_uncondjump_p (p)))
maybe_never = 1;
/* In case our parameter was constant, remove extra zero from the
expression. */
if (XEXP (exp, 0) == const0_rtx)
- *x = XEXP (exp, 1);
+ *x = XEXP (exp, 1);
else if (XEXP (exp, 1) == const0_rtx)
- *x = XEXP (exp, 0);
+ *x = XEXP (exp, 0);
}
return addval;
/* Start with test for not first so that INSN == REFERENCE yields not
first. */
if (q == insn || ! p)
- return 0;
+ return 0;
if (p == reference || ! q)
- return 1;
+ return 1;
/* Either of P or Q might be a NOTE. Notes have the same LUID as the
previous insn, hence the <= comparison below does not work if
if (LOOP_INFO (loop)->has_call)
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
if (TEST_HARD_REG_BIT (regs_invalidated_by_call, i)
- && rtx_varies_p (gen_rtx_REG (Pmode, i), /*for_alias=*/1))
- {
- regs->array[i].may_not_optimize = 1;
- regs->array[i].set_in_loop = 1;
- }
+ && rtx_varies_p (gen_rtx_REG (Pmode, i), /*for_alias=*/1))
+ {
+ regs->array[i].may_not_optimize = 1;
+ regs->array[i].set_in_loop = 1;
+ }
#ifdef AVOID_CCMODE_COPIES
/* Don't try to move insns which set CC registers if we should not
fprintf (file, " Giv%d: insn %d, benefit %d, ",
i, INSN_UID (v->insn), v->benefit);
if (v->giv_type == DEST_ADDR)
- print_simple_rtl (file, v->mem);
+ print_simple_rtl (file, v->mem);
else
- print_simple_rtl (file, single_set (v->insn));
+ print_simple_rtl (file, single_set (v->insn));
fputc ('\n', file);
}
}
if (v->giv_type == DEST_REG)
fprintf (file, "Giv %d: insn %d",
- REGNO (v->dest_reg), INSN_UID (v->insn));
+ REGNO (v->dest_reg), INSN_UID (v->insn));
else
fprintf (file, "Dest address: insn %d",
INSN_UID (v->insn));
struct iv
{
enum iv_mode type;
- union
+ union
{
struct iv_class *class;
struct induction *info;
rtx get_condition_for_loop PARAMS ((const struct loop *, rtx));
void loop_iv_add_mult_hoist PARAMS ((const struct loop *, rtx, rtx, rtx, rtx));
void loop_iv_add_mult_sink PARAMS ((const struct loop *, rtx, rtx, rtx, rtx));
-void loop_iv_add_mult_emit_before PARAMS ((const struct loop *, rtx,
+void loop_iv_add_mult_emit_before PARAMS ((const struct loop *, rtx,
rtx, rtx, rtx,
basic_block, rtx));
rtx express_from PARAMS ((struct induction *, struct induction *));
int loop_insn_first_p PARAMS ((rtx, rtx));
typedef rtx (*loop_insn_callback) PARAMS ((struct loop *, rtx, int, int));
void for_each_insn_in_loop PARAMS ((struct loop *, loop_insn_callback));
-rtx loop_insn_emit_before PARAMS((const struct loop *, basic_block,
+rtx loop_insn_emit_before PARAMS((const struct loop *, basic_block,
rtx, rtx));
rtx loop_insn_sink PARAMS((const struct loop *, rtx));
rtx loop_insn_hoist PARAMS((const struct loop *, rtx));