This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [040/nnn] poly_int: get_inner_reference & co.
- From: Jeff Law <law at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org, richard dot sandiford at linaro dot org
- Date: Wed, 6 Dec 2017 10:25:59 -0700
- Subject: Re: [040/nnn] poly_int: get_inner_reference & co.
- Authentication-results: sourceware.org; auth=none
- References: <871sltvm7r.fsf@linaro.org> <873769okb1.fsf@linaro.org>
On 10/23/2017 11:17 AM, Richard Sandiford wrote:
> This patch makes get_inner_reference and ptr_difference_const return the
> bit size and bit position as poly_int64s rather than HOST_WIDE_INTS.
> The non-mechanical changes were handled by previous patches.
>
>
> 2017-10-23 Richard Sandiford <richard.sandiford@linaro.org>
> Alan Hayward <alan.hayward@arm.com>
> David Sherwood <david.sherwood@arm.com>
>
> gcc/
> * tree.h (get_inner_reference): Return the bitsize and bitpos
> as poly_int64_pods rather than HOST_WIDE_INT.
> * fold-const.h (ptr_difference_const): Return the pointer difference
> as a poly_int64_pod rather than a HOST_WIDE_INT.
> * expr.c (get_inner_reference): Return the bitsize and bitpos
> as poly_int64_pods rather than HOST_WIDE_INT.
> (expand_expr_addr_expr_1, expand_expr_real_1): Track polynomial
> offsets and sizes.
> * fold-const.c (make_bit_field_ref): Take the bitpos as a poly_int64
> rather than a HOST_WIDE_INT. Update call to get_inner_reference.
> (optimize_bit_field_compare): Update call to get_inner_reference.
> (decode_field_reference): Likewise.
> (fold_unary_loc): Track polynomial offsets and sizes.
> (split_address_to_core_and_offset): Return the bitpos as a
> poly_int64_pod rather than a HOST_WIDE_INT.
> (ptr_difference_const): Likewise for the pointer difference.
> * asan.c (instrument_derefs): Track polynomial offsets and sizes.
> * config/mips/mips.c (r10k_safe_mem_expr_p): Likewise.
> * dbxout.c (dbxout_expand_expr): Likewise.
> * dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref)
> (loc_list_from_tree_1, fortran_common): Likewise.
> * gimple-laddress.c (pass_laddress::execute): Likewise.
> * gimplify.c (gimplify_scan_omp_clauses): Likewise.
> * simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
> * tree-affine.c (tree_to_aff_combination): Likewise.
> (get_inner_reference_aff): Likewise.
> * tree-data-ref.c (split_constant_offset_1): Likewise.
> (dr_analyze_innermost): Likewise.
> * tree-scalar-evolution.c (interpret_rhs_expr): Likewise.
> * tree-sra.c (ipa_sra_check_caller): Likewise.
> * tree-ssa-math-opts.c (find_bswap_or_nop_load): Likewise.
> * tree-vect-data-refs.c (vect_check_gather_scatter): Likewise.
> * ubsan.c (maybe_instrument_pointer_overflow): Likewise.
> (instrument_bool_enum_load, instrument_object_size): Likewise.
> * gimple-ssa-strength-reduction.c (slsr_process_ref): Update call
> to get_inner_reference.
> * hsa-gen.c (gen_hsa_addr): Likewise.
> * sanopt.c (maybe_optimize_ubsan_ptr_ifn): Likewise.
> * tsan.c (instrument_expr): Likewise.
> * match.pd: Update call to ptr_difference_const.
>
> gcc/ada/
> * gcc-interface/trans.c (Attribute_to_gnu): Track polynomial
> offsets and sizes.
> * gcc-interface/utils2.c (build_unary_op): Likewise.
>
> gcc/cp/
> * constexpr.c (check_automatic_or_tls): Track polynomial
> offsets and sizes.
>
OK.
jeff