2019-08-05 Richard Sandiford <richard.sandiford@arm.com>
+ * tree-core.h (tree_function_decl): Make function_code an
+ independent field. Group the remaining bitfields into bytes
+ and move decl_type so that it contines to be at a byte boundary.
+ Leave 12 bits for future expansion.
+
+2019-08-05 Richard Sandiford <richard.sandiford@arm.com>
+
* gimple-fold.c (gimple_fold_mask_load_store_mem_ref)
(gimple_fold_mask_load, gimple_fold_mask_store): New functions.
(gimple_fold_call): Use them to fold IFN_MASK_LOAD and
tree vindex;
/* In a FUNCTION_DECL for which DECL_BUILT_IN holds, this is
- DECL_FUNCTION_CODE. Otherwise unused.
- ??? The bitfield needs to be able to hold all target function
- codes as well. */
- ENUM_BITFIELD(built_in_function) function_code : 12;
- ENUM_BITFIELD(built_in_class) built_in_class : 2;
+ DECL_FUNCTION_CODE. Otherwise unused. */
+ enum built_in_function function_code;
+ ENUM_BITFIELD(built_in_class) built_in_class : 2;
unsigned static_ctor_flag : 1;
unsigned static_dtor_flag : 1;
-
unsigned uninlinable : 1;
unsigned possibly_inlined : 1;
unsigned novops_flag : 1;
unsigned returns_twice_flag : 1;
+
unsigned malloc_flag : 1;
unsigned declared_inline_flag : 1;
unsigned no_inline_warning_flag : 1;
-
unsigned no_instrument_function_entry_exit : 1;
-
- /* Align the bitfield to boundary of a byte. */
- ENUM_BITFIELD(function_decl_type) decl_type: 2;
-
unsigned no_limit_stack : 1;
unsigned disregard_inline_limits : 1;
unsigned pure_flag : 1;
unsigned looping_const_or_pure_flag : 1;
+
+ /* Align the bitfield to boundary of a byte. */
+ ENUM_BITFIELD(function_decl_type) decl_type: 2;
unsigned has_debug_args_flag : 1;
unsigned versioned_function : 1;
- /* 0 bits left. */
+ /* 12 bits left for future expansion. */
};
struct GTY(()) tree_translation_unit_decl {