[34/77] Add a SCALAR_INT_TYPE_MODE macro
authorRichard Sandiford <richard.sandiford@linaro.org>
Wed, 30 Aug 2017 11:13:13 +0000 (11:13 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 30 Aug 2017 11:13:13 +0000 (11:13 +0000)
commit7a504f3390ecfe3457d37b9d716262a14d5d1938
treeb82ca3c1c102db705f30f93ae7aedc8c75c391c2
parente72b0ef4b787599b87cd16b0d929d5d75c6da6bc
[34/77] Add a SCALAR_INT_TYPE_MODE macro

This patch adds a SCALAR_INT_TYPE_MODE macro that asserts
that the type has a scalar integer mode and returns it as
a scalar_int_mode.

2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
    Alan Hayward  <alan.hayward@arm.com>
    David Sherwood  <david.sherwood@arm.com>

gcc/
* tree.h (SCALAR_INT_TYPE_MODE): New macro.
* builtins.c (expand_builtin_signbit): Use it.
* cfgexpand.c (expand_debug_expr): Likewise.
* dojump.c (do_jump): Likewise.
(do_compare_and_jump): Likewise.
* dwarf2cfi.c (expand_builtin_init_dwarf_reg_sizes): Likewise.
* expmed.c (make_tree): Likewise.
* expr.c (expand_expr_real_2): Likewise.
(expand_expr_real_1): Likewise.
(try_casesi): Likewise.
* fold-const-call.c (fold_const_call_ss): Likewise.
* fold-const.c (unextend): Likewise.
(extract_muldiv_1): Likewise.
(fold_single_bit_test): Likewise.
(native_encode_int): Likewise.
(native_encode_string): Likewise.
(native_interpret_int): Likewise.
* gimple-fold.c (gimple_fold_builtin_memset): Likewise.
* internal-fn.c (expand_addsub_overflow): Likewise.
(expand_neg_overflow): Likewise.
(expand_mul_overflow): Likewise.
(expand_arith_overflow): Likewise.
* match.pd: Likewise.
* stor-layout.c (layout_type): Likewise.
* tree-cfg.c (verify_gimple_assign_ternary): Likewise.
* tree-ssa-math-opts.c (convert_mult_to_widen): Likewise.
* tree-ssanames.c (get_range_info): Likewise.
* tree-switch-conversion.c (array_value_type) Likewise.
* tree-vect-patterns.c (vect_recog_rotate_pattern): Likewise.
(vect_recog_divmod_pattern): Likewise.
(vect_recog_mixed_size_cond_pattern): Likewise.
* tree-vrp.c (extract_range_basic): Likewise.
(simplify_float_conversion_using_ranges): Likewise.
* tree.c (int_fits_type_p): Likewise.
* ubsan.c (instrument_bool_enum_load): Likewise.
* varasm.c (mergeable_string_section): Likewise.
(narrowing_initializer_constant_valid_p): Likewise.
(output_constant): Likewise.

gcc/cp/
* cvt.c (cp_convert_to_pointer): Use SCALAR_INT_TYPE_MODE.

gcc/fortran/
* target-memory.c (size_integer): Use SCALAR_INT_TYPE_MODE.
(size_logical): Likewise.

gcc/objc/
* objc-encoding.c (encode_type): Use SCALAR_INT_TYPE_MODE.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r251486
29 files changed:
gcc/ChangeLog
gcc/builtins.c
gcc/cfgexpand.c
gcc/cp/ChangeLog
gcc/cp/cvt.c
gcc/dojump.c
gcc/dwarf2cfi.c
gcc/expmed.c
gcc/expr.c
gcc/fold-const-call.c
gcc/fold-const.c
gcc/fortran/ChangeLog
gcc/fortran/target-memory.c
gcc/gimple-fold.c
gcc/internal-fn.c
gcc/match.pd
gcc/objc/ChangeLog
gcc/objc/objc-encoding.c
gcc/stor-layout.c
gcc/tree-cfg.c
gcc/tree-ssa-math-opts.c
gcc/tree-ssanames.c
gcc/tree-switch-conversion.c
gcc/tree-vect-patterns.c
gcc/tree-vrp.c
gcc/tree.c
gcc/tree.h
gcc/ubsan.c
gcc/varasm.c