diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 1998-03-12 12:32:24 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 1998-03-12 12:32:24 +0000 |
commit | 8625fab57c81a961ed9b8cbfdffeced61149ef4a (patch) | |
tree | 438650a4cc809d9297f14c90877716871289189e /gcc | |
parent | 27d7e05d4a13e44c45aae7a71078de30a613bc4f (diff) | |
download | gcc-8625fab57c81a961ed9b8cbfdffeced61149ef4a.zip gcc-8625fab57c81a961ed9b8cbfdffeced61149ef4a.tar.gz gcc-8625fab57c81a961ed9b8cbfdffeced61149ef4a.tar.bz2 |
Warning fixes, resulting in the addition of a new target macro:
* tm.texi (DEFAULT_RTX_COSTS): Document new macro.
* arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
* cse.c (rtx_cost): Provide a default case in an enumeration
switch, and call DEFAULT_RTX_COSTS if it's defined.
Co-Authored-By: Nick Clifton <nickc@cygnus.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r18513
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 5 | ||||
-rw-r--r-- | gcc/cse.c | 6 | ||||
-rw-r--r-- | gcc/tm.texi | 15 |
4 files changed, 34 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 853a15c..9b08cfc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + Richard Earnshaw <rearnsha@arm.com> + Nick Clifton <nickc@cygnus.com> + + * tm.texi (DEFAULT_RTX_COSTS): Document new macro. + + * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS. + + * cse.c (rtx_cost): Provide a default case in an enumeration + switch, and call DEFAULT_RTX_COSTS if it's defined. + Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de> * basic-block.h (compute_preds_succs): Change return type in diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 59d3ac3..7c28c64 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for Acorn RISC Machine. - Copyright (C) 1991, 93, 94, 95, 96, 1997 Free Software Foundation, Inc. + Copyright (C) 1991, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc. Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl) and Martin Simmons (@harleqn.co.uk). More major hacks by Richard Earnshaw (rwe11@cl.cam.ac.uk) @@ -1620,8 +1620,7 @@ extern struct rtx_def *legitimize_pic_address (); ((X) == frame_pointer_rtx || (X) == stack_pointer_rtx \ || (X) == arg_pointer_rtx) -#define RTX_COSTS(X,CODE,OUTER_CODE) \ - default: \ +#define DEFAULT_RTX_COSTS(X,CODE,OUTER_CODE) \ return arm_rtx_costs (X, CODE, OUTER_CODE); /* Moves to and from memory are quite expensive */ @@ -751,6 +751,12 @@ rtx_cost (x, outer_code) RTX_COSTS (x, code, outer_code); #endif CONST_COSTS (x, code, outer_code); + + default: +#ifdef DEFAULT_RTX_COSTS + DEFAULT_RTX_COSTS(x, code, outer_code); +#endif + break; } /* Sum the costs of the sub-rtx's, plus cost of this operation, diff --git a/gcc/tm.texi b/gcc/tm.texi index e0e31fd..00311bf 100644 --- a/gcc/tm.texi +++ b/gcc/tm.texi @@ -4436,6 +4436,21 @@ instructions. @var{outer_code} is the code of the expression in which This macro is optional; do not define it if the default cost assumptions are adequate for the target machine. +@findex DEFAULT_RTX_COSTS +@item DEFAULT_RTX_COSTS (@var{x}, @var{code}, @var{outer_code}) +This macro, if defined, is called for any case not handled by the +@code{RTX_COSTS} or @code{CONST_COSTS} macros. This eliminates the need +to put case labels into the macro, but the code, or any functions it +calls, must assume that the RTL in @var{x} could be of any type that has +not already been handled. The arguments are the same as for +@code{RTX_COSTS}, and the macro should execute a return statement giving +the cost of any RTL expressions that it can handle. The default cost +calculation is used for any RTL for which this macro does not return a +value. + +This macro is optional; do not define it if the default cost assumptions +are adequate for the target machine. + @findex ADDRESS_COST @item ADDRESS_COST (@var{address}) An expression giving the cost of an addressing mode that contains |