pack fields in cgraph_simd_clone_arg and struct function
Commit Message
As pointed out by pahole.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
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 | 6 +++---
gcc/function.h | 14 +++++++-------
2 files changed, 10 insertions(+), 10 deletions(-)
@@ -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. */
@@ -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. */