From: zack Date: Thu, 10 Apr 2003 05:24:26 +0000 (+0000) Subject: 2003-04-09 Dan Nicolaescu X-Git-Tag: upstream/4.9.2~80410 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d8b9732d7479e3ae2862af1e6521003c46fc4824;p=platform%2Fupstream%2Flinaro-gcc.git 2003-04-09 Dan Nicolaescu Zack Weinberg * regrename.c (struct du_chain): Use a bitfield for reg_class. * cse.c (struct qty_table_elem, struct table_elt, struct set): Use bitfields for fields holding enum rtx_code or enum machine_mode values. Add comments explaining size choices. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65419 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dcf7e58..8110f48 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2003-04-09 Dan Nicolaescu + Zack Weinberg + + * regrename.c (struct du_chain): Use a bitfield for reg_class. + * cse.c (struct qty_table_elem, struct table_elt, struct set): + Use bitfields for fields holding enum rtx_code or + enum machine_mode values. Add comments explaining size choices. + 2003-04-09 Alexandre Oliva * config/fp-bit.c (unpack_d): Handle pair of doubles with @@ -107,9 +115,9 @@ 2003-04-08 Aldy Hernandez - * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types - regardless of architecture. - (spe_init_builtins): Change V2SI and V2SF types to opaque types. + * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types + regardless of architecture. + (spe_init_builtins): Change V2SI and V2SF types to opaque types. 2003-04-08 J"orn Rennecke @@ -137,11 +145,11 @@ Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka * doc/sourcebuild.texi: Likewise. 2003-04-07 Christian Ehrhardt - Richard Henderson + Richard Henderson - PR c/9516 - * expr.c (safe_from_p): Rearrange to avoid deep recursion in - favour of looping and tail recursion for TREE_LIST and binops. + PR c/9516 + * expr.c (safe_from_p): Rearrange to avoid deep recursion in + favour of looping and tail recursion for TREE_LIST and binops. 2003-04-08 Zdenek Dvorak @@ -156,9 +164,9 @@ Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka 2003-04-07 Richard Henderson - PR opt/8634 - * function.c (purge_addressof_1): Don't try arithmetics for - unchanging memories. + PR opt/8634 + * function.c (purge_addressof_1): Don't try arithmetics for + unchanging memories. 2003-04-07 Janis Johnson @@ -177,13 +185,13 @@ Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka 2003-04-07 Aldy Hernandez - * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all - V2SI_type_node to opaque_V2SI_type_node. Rename all - V2SF_type_node to opaque_V2SF_type_node. - (rs6000_init_builtins): Define opaque_V2SI_type_node and - opaque_V2SF_type_node. - (is_ev64_opaque_type): The types opaque_V2SI_type_node and - opaque_V2SF_type_node are opaque types. + * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all + V2SI_type_node to opaque_V2SI_type_node. Rename all + V2SF_type_node to opaque_V2SF_type_node. + (rs6000_init_builtins): Define opaque_V2SI_type_node and + opaque_V2SF_type_node. + (is_ev64_opaque_type): The types opaque_V2SI_type_node and + opaque_V2SF_type_node are opaque types. 2003-04-07 J"orn Rennecke @@ -238,27 +246,27 @@ Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka 2003-04-07 Aldy Hernandez - * doc/invoke.texi (RS/6000 and PowerPC Options): Document - -mfloat-gprs. + * doc/invoke.texi (RS/6000 and PowerPC Options): Document + -mfloat-gprs. - * config/rs6000/rs6000.c: Delete rs6000_fprs. - Declare rs6000_float_gprs. - Declare rs6000_float_gprs_string. - (rs6000_parse_float_gprs_option): New. - (rs6000_override_options): Genericize rs6000_parse_* calls to use - rs6000_parse_yes_no_option. - Change check for cpu=8540, to use TARGET_E500. - (rs6000_parse_isel_option): Delete. - (rs6000_parse_spe_option): Delete. - (rs6000_parse_vrsave_option): Delete. + * config/rs6000/rs6000.c: Delete rs6000_fprs. + Declare rs6000_float_gprs. + Declare rs6000_float_gprs_string. + (rs6000_parse_float_gprs_option): New. + (rs6000_override_options): Genericize rs6000_parse_* calls to use + rs6000_parse_yes_no_option. + Change check for cpu=8540, to use TARGET_E500. + (rs6000_parse_isel_option): Delete. + (rs6000_parse_spe_option): Delete. + (rs6000_parse_vrsave_option): Delete. - * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs. - Define rs6000_float_gprs_string. - (TARGET_OPTIONS): Add rs6000_float_gprs option. + * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs. + Define rs6000_float_gprs_string. + (TARGET_OPTIONS): Add rs6000_float_gprs option. - * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs. + * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs. - * config/rs6000/eabispe.h: Set rs6000_float_gprs. + * config/rs6000/eabispe.h: Set rs6000_float_gprs. Mon Apr 7 14:36:24 CEST 2003 Jan Hubicka diff --git a/gcc/cse.c b/gcc/cse.c index 4109b58..a90f0d8 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -251,8 +251,10 @@ struct qty_table_elem rtx comparison_const; int comparison_qty; unsigned int first_reg, last_reg; - enum machine_mode mode; - enum rtx_code comparison_code; + /* The sizes of these fields should match the sizes of the + code and mode fields of struct rtx_def (see rtl.h). */ + ENUM_BITFIELD(rtx_code) comparison_code : 16; + ENUM_BITFIELD(machine_mode) mode : 8; }; /* The table of all qtys, indexed by qty number. */ @@ -462,7 +464,9 @@ struct table_elt struct table_elt *related_value; int cost; int regcost; - enum machine_mode mode; + /* The size of this field should match the size + of the mode field of struct rtx_def (see rtl.h). */ + ENUM_BITFIELD(machine_mode) mode : 8; char in_memory; char is_const; char flag; @@ -4712,8 +4716,10 @@ struct set /* Nonzero if the SET_SRC contains something whose value cannot be predicted and understood. */ char src_volatile; - /* Original machine mode, in case it becomes a CONST_INT. */ - enum machine_mode mode; + /* Original machine mode, in case it becomes a CONST_INT. + The size of this field should match the size of the mode + field of struct rtx_def (see rtl.h). */ + ENUM_BITFIELD(machine_mode) mode : 8; /* A constant equivalent for SET_SRC, if any. */ rtx src_const; /* Original SET_SRC value used for libcall notes. */ diff --git a/gcc/regrename.c b/gcc/regrename.c index 027e2f4..9357409 100644 --- a/gcc/regrename.c +++ b/gcc/regrename.c @@ -51,7 +51,7 @@ struct du_chain rtx insn; rtx *loc; - enum reg_class class; + ENUM_BITFIELD(reg_class) class : 16; unsigned int need_caller_save_reg:1; unsigned int earlyclobber:1; };