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];
 };
 

Reply via email to