The size of struct gimple increases by 8 bytes with the change in size of location_t from 32- to 64-bit; adjust the WORD markings in the comments accordingly. It seems that most of the WORD markings were off by one already, probably not having been updated after a previous reduction in the size of a gimple, so they have become retroactively correct again, and only a couple needed adjustment actually.
Also move the 32-bit num_ops member of struct gimple to the end; since there is now 4 bytes of padding after it, this may enable reuse of the tail padding for some derived structures. gcc/ChangeLog: * gimple.h (struct gimple): Update word marking comments to reflect the new size of location_t. Move the 32-bit int field to the end. (struct gphi): Likewise. --- gcc/gimple.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gcc/gimple.h b/gcc/gimple.h index 4a6e0e97d1e..6929c792dc5 100644 --- a/gcc/gimple.h +++ b/gcc/gimple.h @@ -268,9 +268,6 @@ struct GTY((desc ("gimple_statement_structure (&%h)"), tag ("GSS_BASE"), Locus information for debug info. */ location_t location; - /* Number of operands in this tuple. */ - unsigned num_ops; - /* [ WORD 3 ] Basic block holding this statement. */ basic_block bb; @@ -283,8 +280,12 @@ struct GTY((desc ("gimple_statement_structure (&%h)"), tag ("GSS_BASE"), and the prev pointer being the last. */ gimple *next; gimple *GTY((skip)) prev; -}; + /* [WORD 6] + Number of operands in this tuple. */ + unsigned num_ops; + /* (4 bytes trailing padding) */ +}; /* Base structure for tuples with operands. */ @@ -479,7 +480,7 @@ struct GTY((tag("GSS_PHI"))) /* [ WORD 8 ] */ tree result; - /* [ WORD 9 ] */ + /* [ WORD 9-14 ] */ struct phi_arg_d GTY ((length ("%h.nargs"))) args[1]; };