attribs.c (handle_vector_size_attribute): Use host_integerp and tree_int_cst; remove warnings.

* attribs.c (handle_vector_size_attribute): Use host_integerp
	and tree_int_cst; remove warnings.
	* caller-save.c (insert_restore): Add cast to get rid of warning.
	(insert_save): Likewise.
	* emit-rtl.c (adjust_address_1, offset_address): Likewise.
	* regmove.c (find_matches): Add temporary var to kill a warning.

From-SVN: r48452
This commit is contained in:
Richard Kenner 2002-01-01 22:22:25 +00:00 committed by Richard Kenner
parent 16b617648e
commit 2cc2d4bbcd
5 changed files with 37 additions and 23 deletions

View File

@ -1,3 +1,12 @@
Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* attribs.c (handle_vector_size_attribute): Use host_integerp
and tree_int_cst; remove warnings.
* caller-save.c (insert_restore): Add cast to get rid of warning.
(insert_save): Likewise.
* emit-rtl.c (adjust_address_1, offset_address): Likewise.
* regmove.c (find_matches): Add temporary var to kill a warning.
2002-01-01 Douglas B Rupp <rupp@gnat.com> 2002-01-01 Douglas B Rupp <rupp@gnat.com>
* config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX, * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,

View File

@ -1,6 +1,6 @@
/* Functions dealing with attribute handling, used by most front ends. /* Functions dealing with attribute handling, used by most front ends.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
Free Software Foundation, Inc. 2002 Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
@ -1142,20 +1142,20 @@ handle_vector_size_attribute (node, name, args, flags, no_add_attrs)
int flags ATTRIBUTE_UNUSED; int flags ATTRIBUTE_UNUSED;
bool *no_add_attrs; bool *no_add_attrs;
{ {
unsigned int vecsize, nunits; unsigned HOST_WIDE_INT vecsize, nunits;
enum machine_mode mode, orig_mode, new_mode; enum machine_mode mode, orig_mode, new_mode;
tree type = *node, new_type; tree type = *node, new_type;
*no_add_attrs = true; *no_add_attrs = true;
if (TREE_CODE (TREE_VALUE (args)) != INTEGER_CST) if (! host_integerp (TREE_VALUE (args), 1))
{ {
warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name)); warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
return NULL_TREE; return NULL_TREE;
} }
/* Get the vector size (in bytes). */ /* Get the vector size (in bytes). */
vecsize = TREE_INT_CST_LOW (TREE_VALUE (args)); vecsize = tree_low_cst (TREE_VALUE (args), 1);
/* We need to provide for vector pointers, vector arrays, and /* We need to provide for vector pointers, vector arrays, and
functions returning vectors. For example: functions returning vectors. For example:
@ -1173,9 +1173,10 @@ handle_vector_size_attribute (node, name, args, flags, no_add_attrs)
/* Get the mode of the type being modified. */ /* Get the mode of the type being modified. */
orig_mode = TYPE_MODE (type); orig_mode = TYPE_MODE (type);
if (TREE_CODE (type) == RECORD_TYPE || if (TREE_CODE (type) == RECORD_TYPE
(GET_MODE_CLASS (orig_mode) != MODE_FLOAT || (GET_MODE_CLASS (orig_mode) != MODE_FLOAT
&& GET_MODE_CLASS (orig_mode) != MODE_INT)) && GET_MODE_CLASS (orig_mode) != MODE_INT)
|| ! host_integerp (TYPE_SIZE_UNIT (type), 1))
{ {
error ("invalid vector type for attribute `%s'", error ("invalid vector type for attribute `%s'",
IDENTIFIER_POINTER (name)); IDENTIFIER_POINTER (name));
@ -1183,7 +1184,7 @@ handle_vector_size_attribute (node, name, args, flags, no_add_attrs)
} }
/* Calculate how many units fit in the vector. */ /* Calculate how many units fit in the vector. */
nunits = vecsize / TREE_INT_CST_LOW (TYPE_SIZE_UNIT (type)); nunits = vecsize / tree_low_cst (TYPE_SIZE_UNIT (type), 1);
/* Find a suitably sized vector. */ /* Find a suitably sized vector. */
new_mode = VOIDmode; new_mode = VOIDmode;
@ -1192,7 +1193,8 @@ handle_vector_size_attribute (node, name, args, flags, no_add_attrs)
: MODE_VECTOR_FLOAT); : MODE_VECTOR_FLOAT);
mode != VOIDmode; mode != VOIDmode;
mode = GET_MODE_WIDER_MODE (mode)) mode = GET_MODE_WIDER_MODE (mode))
if (vecsize == GET_MODE_SIZE (mode) && nunits == GET_MODE_NUNITS (mode)) if (vecsize == GET_MODE_SIZE (mode)
&& nunits == (unsigned HOST_WIDE_INT) GET_MODE_NUNITS (mode))
{ {
new_mode = mode; new_mode = mode;
break; break;

View File

@ -1,6 +1,6 @@
/* Save and restore call-clobbered registers which are live across a call. /* Save and restore call-clobbered registers which are live across a call.
Copyright (C) 1989, 1992, 1994, 1995, 1997, 1998, Copyright (C) 1989, 1992, 1994, 1995, 1997, 1998,
1999, 2000, 2001 Free Software Foundation, Inc. 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
@ -675,7 +675,7 @@ insert_restore (chain, before_p, regno, maxrestore, save_mode)
mem = regno_save_mem [regno][numregs]; mem = regno_save_mem [regno][numregs];
if (save_mode [regno] != VOIDmode if (save_mode [regno] != VOIDmode
&& save_mode [regno] != GET_MODE (mem) && save_mode [regno] != GET_MODE (mem)
&& numregs == HARD_REGNO_NREGS (regno, save_mode [regno])) && numregs == (unsigned int) HARD_REGNO_NREGS (regno, save_mode [regno]))
mem = adjust_address (mem, save_mode[regno], 0); mem = adjust_address (mem, save_mode[regno], 0);
pat = gen_rtx_SET (VOIDmode, pat = gen_rtx_SET (VOIDmode,
gen_rtx_REG (GET_MODE (mem), gen_rtx_REG (GET_MODE (mem),
@ -691,13 +691,12 @@ insert_restore (chain, before_p, regno, maxrestore, save_mode)
n_regs_saved--; n_regs_saved--;
} }
/* Tell our callers how many extra registers we saved/restored */ /* Tell our callers how many extra registers we saved/restored */
return numregs - 1; return numregs - 1;
} }
/* Like insert_restore above, but save registers instead. */ /* Like insert_restore above, but save registers instead. */
static int static int
insert_save (chain, before_p, regno, to_save, save_mode) insert_save (chain, before_p, regno, to_save, save_mode)
struct insn_chain *chain; struct insn_chain *chain;
@ -752,7 +751,7 @@ insert_save (chain, before_p, regno, to_save, save_mode)
mem = regno_save_mem [regno][numregs]; mem = regno_save_mem [regno][numregs];
if (save_mode [regno] != VOIDmode if (save_mode [regno] != VOIDmode
&& save_mode [regno] != GET_MODE (mem) && save_mode [regno] != GET_MODE (mem)
&& numregs == HARD_REGNO_NREGS (regno, save_mode [regno])) && numregs == (unsigned int) HARD_REGNO_NREGS (regno, save_mode [regno]))
mem = adjust_address (mem, save_mode[regno], 0); mem = adjust_address (mem, save_mode[regno], 0);
pat = gen_rtx_SET (VOIDmode, mem, pat = gen_rtx_SET (VOIDmode, mem,
gen_rtx_REG (GET_MODE (mem), gen_rtx_REG (GET_MODE (mem),

View File

@ -1,6 +1,6 @@
/* Emit RTL for the GNU C-Compiler expander. /* Emit RTL for the GNU C-Compiler expander.
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001 Free Software Foundation, Inc. 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
@ -1996,7 +1996,8 @@ adjust_address_1 (memref, mode, offset, validate, adjust)
lowest-order set bit in OFFSET, but don't change the alignment if OFFSET lowest-order set bit in OFFSET, but don't change the alignment if OFFSET
if zero. */ if zero. */
if (offset != 0) if (offset != 0)
memalign = MIN (memalign, (offset & -offset) * BITS_PER_UNIT); memalign = MIN (memalign,
(unsigned int) (offset & -offset) * BITS_PER_UNIT);
/* We can compute the size in a number of ways. */ /* We can compute the size in a number of ways. */
if (GET_MODE (new) != BLKmode) if (GET_MODE (new) != BLKmode)
@ -2045,9 +2046,10 @@ offset_address (memref, offset, pow2)
/* Update the alignment to reflect the offset. Reset the offset, which /* Update the alignment to reflect the offset. Reset the offset, which
we don't know. */ we don't know. */
MEM_ATTRS (new) = get_mem_attrs (MEM_ALIAS_SET (memref), MEM_EXPR (memref), MEM_ATTRS (new)
0, 0, MIN (MEM_ALIGN (memref), = get_mem_attrs (MEM_ALIAS_SET (memref), MEM_EXPR (memref), 0, 0,
pow2 * BITS_PER_UNIT), MIN (MEM_ALIGN (memref),
(unsigned int) pow2 * BITS_PER_UNIT),
GET_MODE (new)); GET_MODE (new));
return new; return new;
} }

View File

@ -1,6 +1,6 @@
/* Move registers around to reduce number of move instructions needed. /* Move registers around to reduce number of move instructions needed.
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001 Free Software Foundation, Inc. 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
@ -1581,7 +1581,9 @@ find_matches (insn, matchp)
case '5': case '6': case '7': case '8': case '9': case '5': case '6': case '7': case '8': case '9':
{ {
char *end; char *end;
unsigned long match = strtoul (p - 1, &end, 10); unsigned long match_ul = strtoul (p - 1, &end, 10);
int match = match_ul;
p = end; p = end;
if (match < op_no && likely_spilled[match]) if (match < op_no && likely_spilled[match])