pack fields in cgraph_simd_clone_arg and struct function
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.
This commit is contained in:
parent
abb748aaf3
commit
d21db05b6f
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user