On 07/13/2017 02:51 AM, Richard Sandiford wrote:
> This patch adds asserting as_a <scalar_int_mode> conversions
> to contexts in which the input is known to be a scalar integer mode.
> 
> In expand_divmod, op1 is always a scalar_int_mode if
> op1_is_constant (but might not be otherwise).
> 
> In expand_binop, the patch reverses a < comparison in order to
> avoid splitting a long line.
> 
> gcc/
> 2017-07-13  Richard Sandiford  <richard.sandif...@linaro.org>
>           Alan Hayward  <alan.hayw...@arm.com>
>           David Sherwood  <david.sherw...@arm.com>
> 
>       * cfgexpand.c (convert_debug_memory_address): Use
>       as_a <scalar_int_mode>.
>       * combine.c (expand_compound_operation): Likewise.
>       (make_extraction): Likewise.
>       (change_zero_ext): Likewise.
>       (simplify_comparison): Likewise.
>       * cse.c (cse_insn): Likewise.
>       * dwarf2out.c (minmax_loc_descriptor): Likewise.
>       (mem_loc_descriptor): Likewise.
>       (loc_descriptor): Likewise.
>       * expmed.c (synth_mult): Likewise.
>       (emit_store_flag_1): Likewise.
>       (expand_divmod): Likewise.  Use HWI_COMPUTABLE_MODE_P instead
>       of a comparison with size.
>       * expr.c (expand_assignment): Use as_a <scalar_int_mode>.
>       (reduce_to_bit_field_precision): Likewise.
>       * function.c (expand_function_end): Likewise.
>       * internal-fn.c (expand_arith_overflow_result_store): Likewise.
>       * loop-doloop.c (doloop_modify): Likewise.
>       * optabs.c (expand_binop): Likewise.
>       (expand_unop): Likewise.
>       (expand_copysign_absneg): Likewise.
>       (prepare_cmp_insn): Likewise.
>       (maybe_legitimize_operand): Likewise.
>       * recog.c (const_scalar_int_operand): Likewise.
>       * rtlanal.c (get_address_mode): Likewise.
>       * simplify-rtx.c (simplify_unary_operation_1): Likewise.
>       (simplify_cond_clz_ctz): Likewise.
>       * tree-nested.c (get_nl_goto_field): Likewise.
>       * tree.c (build_vector_type_for_mode): Likewise.
>       * var-tracking.c (use_narrower_mode): Likewise.
> 
> gcc/c-family/
> 2017-07-13  Richard Sandiford  <richard.sandif...@linaro.org>
>           Alan Hayward  <alan.hayw...@arm.com>
>           David Sherwood  <david.sherw...@arm.com>
> 
>       * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
> 
> gcc/lto/
> 2017-07-13  Richard Sandiford  <richard.sandif...@linaro.org>
>           Alan Hayward  <alan.hayw...@arm.com>
>           David Sherwood  <david.sherw...@arm.com>
> 
>       * lto-lang.c (lto_type_for_mode): Use as_a <scalar_int_mode>.
FWIW, I'm moving into more of a spot checking mode for these patches.
The transformations themselves are fairly mechanical once you've
determined the invariants.  I trust your judgment on verifying the
invariants :-)

OK.

jeff

Reply via email to