From 73a699ae37a7fe98ad0b8c50ac95f5a882fd97da Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Wed, 3 Jan 2018 21:42:42 +0000 Subject: poly_int: GET_MODE_BITSIZE This patch changes GET_MODE_BITSIZE from an unsigned short to a poly_uint16. 2018-01-03 Richard Sandiford Alan Hayward David Sherwood gcc/ * machmode.h (mode_to_bits): Return a poly_uint16 rather than an unsigned short. (GET_MODE_BITSIZE): Return a constant if ONLY_FIXED_SIZE_MODES, or if measurement_type is polynomial. * calls.c (shift_return_value): Treat GET_MODE_BITSIZE as polynomial. * combine.c (make_extraction): Likewise. * dse.c (find_shift_sequence): Likewise. * dwarf2out.c (mem_loc_descriptor): Likewise. * expmed.c (store_integral_bit_field, extract_bit_field_1): Likewise. (extract_bit_field, extract_low_bits): Likewise. * expr.c (convert_move, convert_modes, emit_move_insn_1): Likewise. (optimize_bitfield_assignment_op, expand_assignment): Likewise. (store_expr_with_bounds, store_field, expand_expr_real_1): Likewise. * fold-const.c (optimize_bit_field_compare, merge_ranges): Likewise. * gimple-fold.c (optimize_atomic_compare_exchange_p): Likewise. * reload.c (find_reloads): Likewise. * reload1.c (alter_reg): Likewise. * stor-layout.c (bitwise_mode_for_mode, compute_record_mode): Likewise. * targhooks.c (default_secondary_memory_needed_mode): Likewise. * tree-if-conv.c (predicate_mem_writes): Likewise. * tree-ssa-strlen.c (handle_builtin_memcmp): Likewise. * tree-vect-patterns.c (adjust_bool_pattern): Likewise. * tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise. * valtrack.c (dead_debug_insert_temp): Likewise. * varasm.c (mergeable_constant_section): Likewise. * config/sh/sh.h (LOCAL_ALIGNMENT): Use as_a . gcc/ada/ * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE as polynomial. gcc/c-family/ * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE as polynomial. Co-Authored-By: Alan Hayward Co-Authored-By: David Sherwood From-SVN: r256200 --- gcc/ada/ChangeLog | 7 +++++++ gcc/ada/gcc-interface/misc.c | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'gcc/ada') diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index dd4d515..03f77b6 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -2,6 +2,13 @@ Alan Hayward David Sherwood + * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE + as polynomial. + +2018-01-03 Richard Sandiford + Alan Hayward + David Sherwood + * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_PRECISION as polynomial. diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index e74c392..3b62bb1 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -1301,14 +1301,14 @@ enumerate_modes (void (*f) (const char *, int, int, int, int, int, int, int)) } /* If no predefined C types were found, register the mode itself. */ - int nunits, precision; + int nunits, precision, bitsize; if (!skip_p && GET_MODE_NUNITS (i).is_constant (&nunits) - && GET_MODE_PRECISION (i).is_constant (&precision)) + && GET_MODE_PRECISION (i).is_constant (&precision) + && GET_MODE_BITSIZE (i).is_constant (&bitsize)) f (GET_MODE_NAME (i), digs, complex_p, vector_p ? nunits : 0, float_rep, - precision, GET_MODE_BITSIZE (i), - GET_MODE_ALIGNMENT (i)); + precision, bitsize, GET_MODE_ALIGNMENT (i)); } } -- cgit v1.1