+2001-10-10 Kazu Hirata <kazu@hxi.com>
+
+ * calls.c: Fix formatting.
+ * c-decl.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * combine.c: Likewise.
+ * cppfiles.c: Likewise.
+ * cpplib.c: Likewise.
+ * cppmacro.c: Likewise.
+ * crtstuff.c: Likewise.
+ * cse.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * expmed.c: Likewise.
+ * expr.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * gcse.c: Likewise.
+ * genattrtab.c: Likewise.
+ * ggc-page.c: Likewise.
+ * integrate.c: Likewise.
+ * libgcc2.c: Likewise.
+ * loop.c: Likewise.
+ * optabs.c: Likewise.
+ * profile.c: Likewise.
+ * protoize.c: Likewise.
+ * real.c: Likewise.
+ * recog.c: Likewise.
+ * reload1.c: Likewise.
+ * reload.c: Likewise.
+ * reorg.c: Likewise.
+ * resource.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * sdbout.c: Likewise.
+ * stmt.c: Likewise.
+ * toplev.c: Likewise.
+ * varasm.c: Likewise.
+
2001-10-10 Janis Johnson <janis187@us.ibm.com>, Alexandre Oliva <aoliva@redhat.com>
* langhooks.c: Include rtl.h, insn-config.h and integrate.h.
/* C-specific option variables. */
/* Nonzero means allow type mismatches in conditional expressions;
- just make their values `void'. */
+ just make their values `void'. */
int flag_cond_mismatch;
int was_incomplete = (DECL_SIZE (decl) == 0);
const char *asmspec = 0;
- /* If a name was specified, get the string. */
+ /* If a name was specified, get the string. */
if (asmspec_tree)
asmspec = TREE_STRING_POINTER (asmspec_tree);
}
/* If declaration already marked, we have a duplicate name.
- Complain, and don't use this decl twice. */
+ Complain, and don't use this decl twice. */
if (found && DECL_WEAK (found))
{
error_with_decl (found, "multiple parameters named `%s'");
We restore `inhibit_defer_pop' to that value.
CALL_FUSAGE is either empty or an EXPR_LIST of USE expressions that
- denote registers used by the called function. */
+ denote registers used by the called function. */
static void
emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
/* If this function requires a variable-sized argument list, don't
try to make a cse'able block for this call. We may be able to
do this eventually, but it is too complicated to keep track of
- what insns go in the cse'able block and which don't. */
+ what insns go in the cse'able block and which don't. */
flags &= ~(ECF_CONST | ECF_PURE);
must_preallocate = 1;
if (reg != 0 && partial == 0)
/* Being passed entirely in a register. We shouldn't be called in
- this case. */
+ this case. */
abort ();
/* If this arg needs special alignment, don't load the registers
newpos1 = NEXT_INSN (newpos1);
last = src1->end;
- /* Emit the jump insn. */
+ /* Emit the jump insn. */
label = block_label (redirect_to);
emit_jump_insn_after (gen_jump (label), src1->end);
JUMP_LABEL (src1->end) = label;
return changed_overall;
}
\f
-/* Delete all unreachable basic blocks. */
+/* Delete all unreachable basic blocks. */
static bool
delete_unreachable_blocks ()
binop:
/* For most binary operations, just propagate into the operation and
- change the mode if we have an operation of that mode. */
+ change the mode if we have an operation of that mode. */
op0 = gen_lowpart_for_combine (op_mode,
force_to_mode (XEXP (x, 0), mode, mask,
return 0;
}
-/* Create a dependency, or issue an error message as appropriate. */
+/* Create a dependency, or issue an error message as appropriate. */
static void
handle_missing_header (pfile, fname, angle_brackets)
cpp_reader *pfile;
}
else
{
- /* Issue -pedantic warnings for extensions. */
+ /* Issue -pedantic warnings for extensions. */
if (CPP_PEDANTIC (pfile)
&& ! pfile->state.skipping
&& dir->origin == EXTENSION)
struct cpp_macro
{
cpp_hashnode **params; /* Parameters, if any. */
- cpp_token *expansion; /* First token of replacement list. */
+ cpp_token *expansion; /* First token of replacement list. */
unsigned int line; /* Starting line number. */
unsigned int count; /* Number of tokens in expansion. */
unsigned short paramc; /* Number of parameters. */
struct macro_arg
{
const cpp_token **first; /* First token in unexpanded argument. */
- const cpp_token **expanded; /* Macro-expanded argument. */
+ const cpp_token **expanded; /* Macro-expanded argument. */
const cpp_token *stringified; /* Stringified argument. */
unsigned int count; /* # of tokens in argument. */
unsigned int expanded_count; /* # of tokens in expanded argument. */
/* A routine to invoke all of the global constructors upon entry to the
program. We put this into the .init section (for systems that have
such a thing) so that we can properly perform the construction of
- file-scope static-storage C++ objects within shared libraries. */
+ file-scope static-storage C++ objects within shared libraries. */
static void
__do_global_ctors_aux (void) /* prologue goes in .init section */
The first jump optimization pass may leave a real insn as the last
insn in the function. We must not skip that insn or we may end
- up deleting code that is not really dead. */
+ up deleting code that is not really dead. */
insn = get_last_insn ();
if (! INSN_P (insn))
insn = prev_real_insn (insn);
}
dw_fde_node;
-/* Maximum size (in bytes) of an artificially generated label. */
+/* Maximum size (in bytes) of an artificially generated label. */
#define MAX_ARTIFICIAL_LABEL_BYTES 30
/* The size of the target's pointer type. */
build_abbrev_table (die);
- /* Initialize the beginning DIE offset - and calculate sizes/offsets. */
+ /* Initialize the beginning DIE offset - and calculate sizes/offsets. */
next_die_offset = DWARF_COMPILE_UNIT_HEADER_SIZE;
calc_die_sizes (die);
}
/* Given a pointer to an arbitrary ..._TYPE tree node, return true if it is
- an enumerated type. */
+ an enumerated type. */
static inline int
type_is_enum (type)
/* Return a tree node with data type TYPE, describing the value of X.
Usually this is an RTL_EXPR, if there is no obvious better choice.
X may be an expression, however we only support those expressions
- generated by loop.c. */
+ generated by loop.c. */
tree
make_tree (type, x)
If the field describes a variable-sized object, *PMODE is set to
VOIDmode and *PBITSIZE is set to -1. An access cannot be made in
- this case, but the address of the object can be found. */
+ this case, but the address of the object can be found. */
tree
get_inner_reference (exp, pbitsize, pbitpos, poffset, pmode,
/* Compute the operands as RTX.
Note whether OP0 is the actual lvalue or a copy of it:
I believe it is a copy iff it is a register or subreg
- and insns were generated in computing it. */
+ and insns were generated in computing it. */
temp = get_last_insn ();
op0 = expand_expr (incremented, NULL_RTX, VOIDmode, EXPAND_MEMORY_USE_RW);
else
quo_est = BASE - 1;
- /* Refine quo_est so it's usually correct, and at most one high. */
+ /* Refine quo_est so it's usually correct, and at most one high. */
tmp = work - quo_est * den[den_hi_sig];
if (tmp < BASE
&& (den[den_hi_sig - 1] * quo_est
if (!const_p)
{
/* If this is not a constant, we can only do something if bit positions,
- sizes, and signedness are the same. */
+ sizes, and signedness are the same. */
rinner = get_inner_reference (rhs, &rbitsize, &rbitpos, &offset, &rmode,
&runsignedp, &rvolatilep, &alignment);
/* If this slot is below the current TEMP_SLOT_LEVEL, then it
needs to be preserved. This can happen if a temporary in
the RTL_EXPR was addressed; preserve_temp_slots will move
- the temporary into a higher level. */
+ the temporary into a higher level. */
if (temp_slot_level <= p->level)
p->in_use = 0;
else
if (promoted_mode != nominal_mode)
{
- /* Conversion is required. */
+ /* Conversion is required. */
rtx tempreg = gen_reg_rtx (GET_MODE (entry_parm));
emit_move_insn (tempreg, validize_mem (entry_parm));
Look at the linked list starting at reg_set_table[regx]
For each setting of regx in the linked list, which is not in
this block
- Set the bit in `kill' corresponding to that insn. */
+ Set the bit in `kill' corresponding to that insn. */
for (bb = 0; bb < n_basic_blocks; bb++)
for (cuid = 0; cuid < max_cuid; cuid++)
if (TEST_BIT (rd_gen[bb], cuid))
However, on the x86 some of the movXX patterns actually
contain clobbers of scratch regs. This may cause the
insn created by validate_change to not match any pattern
- and thus cause validate_change to fail. */
+ and thus cause validate_change to fail. */
if (validate_change (insn, &SET_SRC (set),
expr->reaching_reg, 0))
{
in the attribute (or `alternative_name') to speed up subsequent
`find_attr' calls and eliminate most `strcmp' calls.
- Return the new expression, if any. */
+ Return the new expression, if any. */
static rtx
check_attr_test (exp, is_const, lineno)
/* Look at the value for this insn code in the specified attribute.
We normally can replace this comparison with the condition that
- would give this insn the values being tested for. */
+ would give this insn the values being tested for. */
if (XSTR (exp, 0) != alternative_name
&& (attr = find_attr (XSTR (exp, 0), 0)) != NULL)
for (av = attr->first_value; av; av = av->next)
1: GC statistics only.
2: Page-entry allocations/deallocations as well.
3: Object allocations as well.
- 4: Object marks as well. */
+ 4: Object marks as well. */
#define GGC_DEBUG_LEVEL (0)
\f
#ifndef HOST_BITS_PER_PTR
/* The function returns an object in a register and we use the return
value. Set up our target for remapping. */
- /* Machine mode function was declared to return. */
+ /* Machine mode function was declared to return. */
enum machine_mode departing_mode = TYPE_MODE (type);
/* (Possibly wider) machine mode it actually computes
(for the sake of callers that fail to declare it right).
unsigned long current = (unsigned long) &save_errno & -NBPC;
/* Ignore errno being set. memctl sets errno to EINVAL whenever the
- address is seen as 'negative'. That is the case with the stack. */
+ address is seen as 'negative'. That is the case with the stack. */
save_errno=errno;
if (lowest > current)
/* For each giv for which we still don't know whether or not it is
replaceable, check to see if it is replaceable because its final value
- can be calculated. */
+ can be calculated. */
static void
loop_givs_check (loop)
/* This code used to disable creating GIVs with mult_val == 1 and
add_val == 0. However, this leads to lost optimizations when
it comes time to combine a set of related DEST_ADDR GIVs, since
- this one would not be seen. */
+ this one would not be seen. */
if (general_induction_var (loop, XEXP (x, 0), &src_reg, &add_val,
&mult_val, &ext_val, 1, &benefit,
/* For certain integer operations, we need not actually extend
the narrow operands, as long as we will truncate
- the results to the same narrowness. */
+ the results to the same narrowness. */
if ((binoptab == ior_optab || binoptab == and_optab
|| binoptab == xor_optab
#define BB_INFO(b) ((struct bb_info *) (b)->aux)
/* Keep all basic block indexes nonnegative in the gcov output. Index 0
- is used for entry block, last block exit block. */
+ is used for entry block, last block exit block. */
#define GCOV_INDEX_TO_BB(i) ((i) == 0 ? ENTRY_BLOCK_PTR \
: (((i) == n_basic_blocks + 1) \
? EXIT_BLOCK_PTR : BASIC_BLOCK ((i)-1)))
code being converted contains its own definition of a function which
could have been supplied by libc.a. In such cases, we should avoid
issuing the normal warning, and defer to the definition given in the
- user's own code. */
+ user's own code. */
for (dd_p = head; dd_p; dd_p = dd_p->next_for_func)
if (dd_p->is_func_def && !dd_p->is_static)
/* Now write out full prototypes for all of the things that had been
implicitly declared in this file (but only those for which we were
actually able to find unique matching definitions). Avoid duplicates
- by marking things that we write out as we go. */
+ by marking things that we write out as we go. */
{
int some_decls_added = 0;
point arithmetic tester, modified for this purpose, can be found on
usc.edu: /pub/C-numanal/ieeetest.zoo. Other tests, and libraries of
XFmode and TFmode transcendental functions, can be obtained by ftp from
-netlib.att.com: netlib/cephes. */
+netlib.att.com: netlib/cephes. */
\f
/* Type of computer arithmetic.
Only one of DEC, IBM, IEEE, C4X, or UNK should get defined.
These optional macros may be defined in tm.h. In real.h, they
default to WORDS_BIG_ENDIAN, etc., so there is no need to define
them for any normal host or target machine on which the floats
- and the integers have the same endian-ness. */
+ and the integers have the same endian-ness. */
/* The following converts gcc macros into the ones used by this file. */
\f
/* Copy 32-bit numbers obtained from array containing 16-bit numbers,
swapping ends if required, into output array of longs. The
- result is normally passed to fprintf by the ASM_OUTPUT_ macros. */
+ result is normally passed to fprintf by the ASM_OUTPUT_ macros. */
static void
endian (e, x, mode)
}
-/* REAL_VALUE_FROM_UNSIGNED_INT macro. */
+/* REAL_VALUE_FROM_UNSIGNED_INT macro. */
void
ereal_from_uint (d, i, j, mode)
}
/* Compare X and Y. Return 1 if X > Y, 0 if X == Y, -1 if X < Y,
- or -2 if either is a NaN. */
+ or -2 if either is a NaN. */
int
ereal_cmp (x, y)
Data types having standard 15-bit exponents are not affected by
this, but SFmode and DFmode are affected. For example, ediv with
rndprc = 24 will not round correctly to 24-bit precision if the
- result is denormal. */
+ result is denormal. */
static int rlast = -1;
static int rw = 0;
*(c+(NE-1)) &= ~0x8000;
}
-/* Multiply e-types A and B, return e-type product C. */
+/* Multiply e-types A and B, return e-type product C. */
static void
emul (a, b, c)
}
}
-/* Return the number of changes so far in the current group. */
+/* Return the number of changes so far in the current group. */
int
num_validated_changes ()
When we find a pseudo always equivalent to a constant,
we replace it by the constant. We must be sure, however,
that we don't try to replace it in the insn in which it
- is being set. */
+ is being set. */
register int regno = REGNO (recog_data.operand[i]);
if (reg_equiv_constant[regno] != 0
&& (set == 0 || &SET_DEST (set) != recog_data.operand_loc[i]))
/* Nonzero if indirect addressing is supported when the innermost MEM is
of the form (MEM (SYMBOL_REF sym)). It is assumed that the level to
- which these are valid is the same as spill_indirect_levels, above. */
+ which these are valid is the same as spill_indirect_levels, above. */
char indirect_symref_ok;
/* Nonzero if an address (plus (reg frame_pointer) (reg ...)) is valid. */
/* Round size of stack frame to stack_alignment_needed. This must be done
here because the stack size may be a part of the offset computation
for register elimination, and there might have been new stack slots
- created in the last iteration of this loop. */
+ created in the last iteration of this loop. */
if (cfun->stack_alignment_needed)
assign_stack_local (BLKmode, 0, cfun->stack_alignment_needed);
if (adjust != 0 || GET_MODE (x) != GET_MODE (regno_reg_rtx[i]))
x = adjust_address_nv (x, GET_MODE (regno_reg_rtx[i]), adjust);
- /* Save the stack slot for later. */
+ /* Save the stack slot for later. */
reg_equiv_memory_loc[i] = x;
}
}
whole instead of this little section as well as the backend issues. */
case PLUS:
/* If this is the sum of an eliminable register and a constant, rework
- the sum. */
+ the sum. */
if (GET_CODE (XEXP (x, 0)) == REG
&& REGNO (XEXP (x, 0)) < FIRST_PSEUDO_REGISTER
&& CONSTANT_P (XEXP (x, 1)))
/* If it is no cheaper to copy from OLDEQUIV into the
reload register than it would be to move from memory,
don't use it. Likewise, if we need a secondary register
- or memory. */
+ or memory. */
if (oldequiv != 0
&& ((REGNO_REG_CLASS (regno) != rl->class
based on the condition code of the previous insn.
The HP-PA can conditionally nullify insns, providing a similar
- effect to the ARM, differing mostly in which insn is "in charge". */
+ effect to the ARM, differing mostly in which insn is "in charge". */
#include "config.h"
#include "system.h"
tmp++;
/* Remove the unconditional jump from consideration for delay slot
- filling and unthread it. */
+ filling and unthread it. */
if (*tmp == trial)
*tmp = 0;
{
break;
/* See if we have a resource problem before we try to
- split. */
+ split. */
if (GET_CODE (pat) != SEQUENCE
&& ! insn_references_resource_p (trial, &set, 1)
&& ! insn_sets_resource_p (trial, &set, 1)
SETs CC0 even though this is not totally correct. The reason for this is
that we require a SET of CC0 to immediately precede the reference to CC0.
So if some other insn sets CC0 as a side-effect, we know it cannot affect
- our computation and thus may be placed in a delay slot. */
+ our computation and thus may be placed in a delay slot. */
void
mark_set_resources (x, res, in_dest, mark_type)
while (SCHED_GROUP_P (temp))
temp = PREV_INSN (temp);
- /* Update source block boundaries. */
+ /* Update source block boundaries. */
b1 = BLOCK_FOR_INSN (temp);
if (temp == b1->head && insn == b1->end)
{
/* Update life analysis for the subroutine. Do single block regions
first so that we can verify that live_at_start didn't change. Then
- do all other blocks. */
+ do all other blocks. */
/* ??? There is an outside possibility that update_life_info, or more
to the point propagate_block, could get called with non-zero flags
more than once for one basic block. This would be kinda bad if it
#endif
/* Return the sdb tag identifier string for TYPE
- if TYPE has already been defined; otherwise return a null pointer. */
+ if TYPE has already been defined; otherwise return a null pointer. */
#define KNOWN_TYPE_TAG(type) TYPE_SYMTAB_POINTER (type)
/* Label has still not appeared. If we are exiting a block with
a stack level to restore, that started before the fixup,
mark this stack level as needing restoration
- when the fixup is later finalized. */
+ when the fixup is later finalized. */
&& thisblock != 0
/* Note: if THISBLOCK == 0 and we have a label that hasn't appeared, it
means the label is undefined. That's erroneous, but possible. */
/* Find the smallest integer mode large enough to hold the
entire structure and use that mode instead of BLKmode
- on the USE insn for the return register. */
+ on the USE insn for the return register. */
for (tmpmode = GET_CLASS_NARROWEST_MODE (MODE_INT);
tmpmode != VOIDmode;
tmpmode = GET_MODE_WIDER_MODE (tmpmode))
leave the current scope.
If CLEANUP is nonzero and DECL is zero, we record a cleanup
- that is not associated with any particular variable. */
+ that is not associated with any particular variable. */
int
expand_decl_cleanup (decl, cleanup)
int warn_uninitialized;
-/* Nonzero means warn about all declarations which shadow others. */
+/* Nonzero means warn about all declarations which shadow others. */
int warn_shadow;
}
/* If this variable is to be treated as volatile, show its
- tree node has side effects. */
+ tree node has side effects. */
if ((flag_volatile_global && TREE_CODE (decl) == VAR_DECL
&& TREE_PUBLIC (decl))
|| ((flag_volatile_static && TREE_CODE (decl) == VAR_DECL
const char *section = ".dtors";
char buf[16];
- /* ??? This only works reliably with the GNU linker. */
+ /* ??? This only works reliably with the GNU linker. */
if (priority != DEFAULT_INIT_PRIORITY)
{
sprintf (buf, ".dtors.%.5u",
const char *section = ".ctors";
char buf[16];
- /* ??? This only works reliably with the GNU linker. */
+ /* ??? This only works reliably with the GNU linker. */
if (priority != DEFAULT_INIT_PRIORITY)
{
sprintf (buf, ".ctors.%.5u",