pack fields in cgraph_simd_clone_arg and struct function
authorRichard Biener <rguenther@suse.de>
Tue, 18 Jan 2022 11:15:36 +0000 (12:15 +0100)
committerRichard Biener <rguenther@suse.de>
Tue, 18 Jan 2022 11:19:49 +0000 (12:19 +0100)
As pointed out by pahole.

2022-01-18  Richard Biener  <rguenther@suse.de>

* cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
avoid padding.
* function.h (struct function): Likewise.

gcc/cgraph.h
gcc/function.h

index a265107..43fc94e 100644 (file)
@@ -764,14 +764,14 @@ struct GTY(()) cgraph_simd_clone_arg {
      variable), uniform, or vector.  */
   enum cgraph_simd_clone_arg_type arg_type;
 
+  /* Variable alignment if available, otherwise 0.  */
+  unsigned int alignment;
+
   /* For arg_type SIMD_CLONE_ARG_TYPE_LINEAR_*CONSTANT_STEP this is
      the constant linear step, if arg_type is
      SIMD_CLONE_ARG_TYPE_LINEAR_*VARIABLE_STEP, this is index of
      the uniform argument holding the step, otherwise 0.  */
   HOST_WIDE_INT linear_step;
-
-  /* Variable alignment if available, otherwise 0.  */
-  unsigned int alignment;
 };
 
 /* Specific data for a SIMD function clone.  */
index fb60979..0986137 100644 (file)
@@ -270,13 +270,6 @@ struct GTY(()) function {
   /* Value histograms attached to particular statements.  */
   htab_t GTY((skip)) value_histograms;
 
-  /* Different from normal TODO_flags which are handled right at the
-     beginning or the end of one pass execution, the pending_TODOs
-     are passed down in the pipeline until one of its consumers can
-     perform the requested action.  Consumers should then clear the
-     flags for the actions that they have taken.  */
-  unsigned int pending_TODOs;
-
   /* For function.cc.  */
 
   /* Points to the FUNCTION_DECL of this function.  */
@@ -338,6 +331,13 @@ struct GTY(()) function {
   unsigned int curr_properties;
   unsigned int last_verified;
 
+  /* Different from normal TODO_flags which are handled right at the
+     beginning or the end of one pass execution, the pending_TODOs
+     are passed down in the pipeline until one of its consumers can
+     perform the requested action.  Consumers should then clear the
+     flags for the actions that they have taken.  */
+  unsigned int pending_TODOs;
+
   /* Non-null if the function does something that would prevent it from
      being copied; this applies to both versioning and inlining.  Set to
      a string describing the reason for failure.  */