r255914 - in /trunk/gcc: ChangeLog ada/ChangeLo...

rsandifo@gcc.gnu.org rsandifo@gcc.gnu.org
Thu Dec 21 06:57:00 GMT 2017


Author: rsandifo
Date: Thu Dec 21 06:57:41 2017
New Revision: 255914

URL: https://gcc.gnu.org/viewcvs?rev=255914&root=gcc&view=rev
Log:
poly_int: get_inner_reference & co.

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-12-21  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.
	* gimple-ssa-store-merging.c (find_bswap_or_nop_load): 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-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.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/ada/ChangeLog
    trunk/gcc/ada/gcc-interface/trans.c
    trunk/gcc/ada/gcc-interface/utils2.c
    trunk/gcc/asan.c
    trunk/gcc/config/mips/mips.c
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/constexpr.c
    trunk/gcc/dbxout.c
    trunk/gcc/dwarf2out.c
    trunk/gcc/expr.c
    trunk/gcc/fold-const.c
    trunk/gcc/fold-const.h
    trunk/gcc/gimple-laddress.c
    trunk/gcc/gimple-ssa-store-merging.c
    trunk/gcc/gimple-ssa-strength-reduction.c
    trunk/gcc/gimplify.c
    trunk/gcc/hsa-gen.c
    trunk/gcc/match.pd
    trunk/gcc/sanopt.c
    trunk/gcc/simplify-rtx.c
    trunk/gcc/tree-affine.c
    trunk/gcc/tree-data-ref.c
    trunk/gcc/tree-scalar-evolution.c
    trunk/gcc/tree-sra.c
    trunk/gcc/tree-vect-data-refs.c
    trunk/gcc/tree.h
    trunk/gcc/tsan.c
    trunk/gcc/ubsan.c



More information about the Gcc-cvs mailing list