Commit ab34041d by Richard Sandiford Committed by Richard Sandiford

2007-xx-xx Richard Sandiford <rsandifo@nildram.co.uk>

	    Richard Guenther <rguenther@suse.de>

gcc/
	* df.h (df_mw_hardreg): Turn df_ref_type and df_ref_flags
	into bitfields.
	(df_ref): Likewise.  Put regno with other integer fields.

From-SVN: r126971
parent 6f5c1520
2007-07-27 Richard Sandiford <rsandifo@nildram.co.uk>
* df.h (df_mw_hardreg): Turn df_ref_type and df_ref_flags
into bitfields.
(df_ref): Likewise. Put regno with other integer fields.
2007-07-27 Richard Sandiford <rsandifo@nildram.co.uk>
* df.h (df_mw_hardreg): Remove "loc" field.
* df-scan.c (df_ref_record): Don't set it. Remove redundant
local variable.
......
......@@ -311,8 +311,12 @@ struct dataflow
struct df_mw_hardreg
{
rtx mw_reg; /* The multiword hardreg. */
enum df_ref_type type; /* Used to see if the ref is read or write. */
enum df_ref_flags flags; /* Various flags. */
/* These two bitfields are intentially oversized, in the hope that
accesses to 16-bit fields will usually be quicker. */
ENUM_BITFIELD(df_ref_type) type : 16;
/* Used to see if the ref is read or write. */
ENUM_BITFIELD(df_ref_flags) flags : 16;
/* Various flags. */
unsigned int start_regno; /* First word of the multi word subreg. */
unsigned int end_regno; /* Last word of the multi word subreg. */
unsigned int mw_order; /* Same as df_ref.ref_order. */
......@@ -341,7 +345,6 @@ struct df_insn_info
struct df_ref
{
rtx reg; /* The register referenced. */
unsigned int regno; /* The register number referenced. */
basic_block bb; /* Basic block containing the instruction. */
/* Insn containing ref. This will be null if this is an artificial
......@@ -356,8 +359,13 @@ struct df_ref
used to totally order the refs in an insn. */
unsigned int ref_order;
enum df_ref_type type; /* Type of ref. */
enum df_ref_flags flags; /* Various flags. */
unsigned int regno; /* The register number referenced. */
/* These two bitfields are intentially oversized, in the hope that
accesses to 16-bit fields will usually be quicker. */
ENUM_BITFIELD(df_ref_type) type : 16;
/* Type of ref. */
ENUM_BITFIELD(df_ref_flags) flags : 16;
/* Various flags. */
/* For each regno, there are three chains of refs, one for the uses,
the eq_uses and the defs. These chains go thru the refs
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment