tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
* tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK. * config/c4x/c4x.h: Likewise. * stor-layout.c (compute_record_mode): Likewise. (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK. From-SVN: r40200
This commit is contained in:
parent
eaf4e6183e
commit
31a02448c0
@ -1,3 +1,10 @@
|
||||
Sat Mar 3 03:46:47 2001 J"orn Rennecke <amylaar@redhat.com>
|
||||
|
||||
* tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
|
||||
* config/c4x/c4x.h: Likewise.
|
||||
* stor-layout.c (compute_record_mode): Likewise.
|
||||
(layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
|
||||
|
||||
2001-03-02 Zack Weinberg <zackw@stanford.edu>
|
||||
|
||||
* configure.in: Kill tm.h. Include the files in the $tm_file
|
||||
|
@ -370,7 +370,8 @@ extern const char *c4x_rpts_cycles_string, *c4x_cpu_version_string;
|
||||
|
||||
/* If a structure has a floating point field then force structure
|
||||
to have BLKMODE. */
|
||||
#define STRUCT_FORCE_BLK(FIELD) (TREE_CODE (TREE_TYPE (FIELD)) == REAL_TYPE)
|
||||
#define MEMBER_TYPE_FORCES_BLK(FIELD) \
|
||||
(TREE_CODE (TREE_TYPE (FIELD)) == REAL_TYPE)
|
||||
|
||||
/* Number of bits in the high and low parts of a two stage
|
||||
load of an immediate constant. */
|
||||
|
@ -1111,12 +1111,12 @@ compute_record_mode (type)
|
||||
if (simple_cst_equal (TYPE_SIZE (type), DECL_SIZE (field)))
|
||||
mode = DECL_MODE (field);
|
||||
|
||||
#ifdef STRUCT_FORCE_BLK
|
||||
#ifdef MEMBER_TYPE_FORCES_BLK
|
||||
/* With some targets, eg. c4x, it is sub-optimal
|
||||
to access an aligned BLKmode structure as a scalar. */
|
||||
if (mode == VOIDmode && STRUCT_FORCE_BLK (field))
|
||||
if (mode == VOIDmode && MEMBER_TYPE_FORCES_BLK (field))
|
||||
return;
|
||||
#endif /* STRUCT_FORCE_BLK */
|
||||
#endif /* MEMBER_TYPE_FORCES_BLK */
|
||||
}
|
||||
|
||||
/* If we only have one real field; use its mode. This only applies to
|
||||
@ -1450,6 +1450,9 @@ layout_type (type)
|
||||
|
||||
TYPE_MODE (type) = BLKmode;
|
||||
if (TYPE_SIZE (type) != 0
|
||||
#ifdef MEMBER_TYPE_FORCES_BLK
|
||||
&& ! MEMBER_TYPE_FORCES_BLK (type)
|
||||
#endif
|
||||
/* BLKmode elements force BLKmode aggregate;
|
||||
else extract/store fields may lose. */
|
||||
&& (TYPE_MODE (TREE_TYPE (type)) != BLKmode
|
||||
|
@ -1118,9 +1118,9 @@ get from @code{PCC_BITFIELD_TYPE_MATTERS}.
|
||||
Like PCC_BITFIELD_TYPE_MATTERS except that its effect is limited to
|
||||
aligning a bitfield within the structure.
|
||||
|
||||
@findex STRUCT_FORCE_BLK
|
||||
@item STRUCT_FORCE_BLK (@var{field})
|
||||
Return 1 if a structure containing @var{field} should be accessed using
|
||||
@findex MEMBER_TYPE_FORCES_BLK
|
||||
@item MEMBER_TYPE_FORCES_BLK (@var{field})
|
||||
Return 1 if a structure or array containing @var{field} should be accessed using
|
||||
@code{BLKMODE}.
|
||||
|
||||
Normally, this is not needed. See the file @file{c4x.h} for an example
|
||||
|
Loading…
Reference in New Issue
Block a user