From: Eric Botcazou <ebotcazou@adacore.com>
To: gcc-patches@gcc.gnu.org
Subject: [patch 5/6] scalar-storage-order merge: rest
Date: Tue, 06 Oct 2015 11:06:00 -0000 [thread overview]
Message-ID: <62790516.22XKWQBXdJ@polaris> (raw)
In-Reply-To: <1475877.YmvvkeqT8x@polaris>
This is the rest of the implementation.
* asan.c (instrument_derefs): Adjust call to get_inner_reference.
* builtins.c (get_object_alignment_2): Likewise.
* cfgexpand.c (expand_debug_expr): Adjust call to get_inner_reference
and get_ref_base_and_extent.
* dbxout.c (dbxout_expand_expr): Likewise.
* dwarf2out.c (add_var_loc_to_decl): Likewise.
(loc_list_for_address_of_addr_expr_of_indirect_ref): Likewise.
(loc_list_from_tree): Likewise.
(fortran_common): Likewise.
* gimple-fold.c (gimple_fold_builtin_memory_op): Adjust calls to
get_ref_base_and_extent.
(get_base_constructor): Likewise.
(fold_const_aggregate_ref_1): Likewise.
* gimple-laddress.c (pass_laddress::execute): Adjust call to
get_inner_reference.
* gimple-ssa-strength-reduction.c (slsr_process_ref): Adjust call to
get_inner_reference and bail out on reverse storage order.
* ifcvt.c (noce_emit_move_insn): Adjust calls to store_bit_field.
* ipa-cp.c (ipa_get_jf_ancestor_result): Adjust call to
build_ref_for_offset.
* ipa-polymorphic-call.c (set_by_invariant): Adjust call to
get_ref_base_and_extent.
(ipa_polymorphic_call_context): Likewise.
(extr_type_from_vtbl_ptr_store): Likewise.
(check_stmt_for_type_change): Likewise.
(get_dynamic_type): Likewise.
* ipa-prop.c (ipa_load_from_parm_agg_1): Adjust call to
get_ref_base_and_extent.
(compute_complex_assign_jump_func): Likewise.
(get_ancestor_addr_info): Likewise.
(compute_known_type_jump_func): Likewise.
(determine_known_aggregate_parts): Likewise.
(ipa_get_adjustment_candidate): Likewise.
(ipa_modify_call_arguments): Set REF_REVERSE_STORAGE_ORDER on
MEM_REF.
* ipa-prop.h (ipa_parm_adjustment): Add REVERSE field.
(build_ref_for_offset): Adjust prototype.
* simplify-rtx.c (delegitimize_mem_from_attrs): Adjust call to
get_inner_reference.
* tree-affine.c (tree_to_aff_combination): Adjust call to
get_inner_reference.
(get_inner_reference_aff): Likewise.
* tree-data-ref.c (split_constant_offset_1): Likewise.
(dr_analyze_innermost): Likewise. Bail out if reverse storage order.
* tree-scalar-evolution.c (interpret_rhs_expr): Adjust call to
get_inner_reference.
* tree-sra.c (struct access): Add REVERSE and move WRITE around.
(dump_access): Print new fields.
(create_access): Adjust call to get_ref_base_and_extent and set the
REVERSE flag according to the result.
(completely_scalarize_record): Set the REVERSE flag.
(scalarize_elem): Add REVERSE parameter.
(build_access_from_expr_1): Preserve storage order barriers.
(build_accesses_from_assign): Likewise.
(build_ref_for_offset): Add REVERSE parameter and set the
REF_REVERSE_STORAGE_ORDER flag accordingly.
(build_ref_for_model): Adjust call to build_ref_for_offset and clear
the REF_REVERSE_STORAGE_ORDER flag if there are components.
(analyze_access_subtree): Likewise.
(create_artificial_child_access): Set the REVERSE flag.
(get_access_for_expr): Adjust call to get_ref_base_and_extent.
(turn_representatives_into_adjustments): Propagate REVERSE flag.
(ipa_sra_check_caller): Adjust call to get_inner_reference.
* tree-ssa-alias.c (ao_ref_base): Adjust call to
get_ref_base_and_extent.
(aliasing_component_refs_p): Likewise.
(stmt_kills_ref_p_1): Likewise.
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <MEM_REF>: New.
Return true if reverse storage order.
<BIT_FIELD_REF>: Likewise.
<COMPONENT_REF>: Likewise.
<ARRAY_REF>: Likewise.
<ARRAY_RANGE_REF>: Likewise.
(split_address_cost): Likewise. Bail out if reverse storage order.
* tree-ssa-math-opts.c (find_bswap_or_nop_load): Adjust call to
get_inner_reference. Bail out if reverse storage order.
(bswap_replace): Adjust call to get_inner_reference.
* tree-ssa-pre.c (create_component_ref_by_pieces_1) <MEM_REF>: Set
the REF_REVERSE_STORAGE_ORDER flag.
<BIT_FIELD_REF>: Likewise.
* tree-ssa-sccvn.c (vn_reference_eq): Return false on storage order
barriers.
(copy_reference_ops_from_ref) <MEM_REF>: Set REVERSE field according
to the REF_REVERSE_STORAGE_ORDER flag.
<BIT_FIELD_REF>: Likewise.
<VIEW_CONVERT_EXPR>: Set it for storage order barriers.
(contains_storage_order_barrier_p): New predicate.
(vn_reference_lookup_3): Adjust calls to get_ref_base_and_extent.
Punt on storage order barriers if necessary.
* tree-ssa-sccvn.h (struct vn_reference_op_struct): Add REVERSE.
* tree-ssa-structalias.c (get_constraint_for_component_ref): Adjust
call to get_ref_base_and_extent.
(do_structure_copy): Likewise.
* tree-vect-data-refs.c (vect_check_gather): Adjust call to
get_inner_reference.
(vect_analyze_data_refs): Likewise. Bail out if reverse storage
order.
* tsan.c (instrument_expr): Adjust call to get_inner_reference.
* ubsan.c (instrument_bool_enum_load): Likewise.
(instrument_object_size): Likewise.
* var-tracking.c (track_expr_p): Adjust call to
get_ref_base_and_extent
* config/arm/arm.c (arm_assemble_integer): Adjust call to
assemble_real
* config/arm/arm.md (consttable_4): Likewise.
(consttable_8): Likewise.
(consttable_16): Likewise.
* config/mips/mips.md (consttable_float): Likewise.
* config/s390/s390.c (s390_output_pool_entry): Likewise.
* config/sh/sh.md (consttable_sf): Likewise.
(consttable_df): Likewise.
asan.c | 6 +-
builtins.c | 6 +-
cfgexpand.c | 12 +++--
dbxout.c | 6 +-
dwarf2out.c | 21 +++++-----
gimple-fold.c | 13 ++++--
gimple-laddress.c | 4 -
gimple-ssa-strength-reduction.c | 6 +-
ifcvt.c | 4 -
ipa-cp.c | 2
ipa-polymorphic-call.c | 23 +++++++----
ipa-prop.c | 30 ++++++++++----
ipa-prop.h | 6 ++
simplify-rtx.c | 7 +--
tree-affine.c | 10 ++--
tree-data-ref.c | 20 ++++++---
tree-scalar-evolution.c | 7 +--
tree-sra.c | 83 +++++++++++++++++++++++---------------
tree-ssa-alias.c | 18 +++++---
tree-ssa-dce.c | 4 +
tree-ssa-loop-ivopts.c | 27 +++++++++----
tree-ssa-math-opts.c | 10 ++--
tree-ssa-pre.c | 5 +-
tree-ssa-sccvn.c | 61 +++++++++++++++++++++++++----
tree-ssa-sccvn.h | 1
tree-ssa-structalias.c | 10 +++-
tree-vect-data-refs.c | 21 +++++++---
tsan.c | 6 +-
ubsan.c | 8 +--
var-tracking.c | 3 -
config/arm/arm.c | 2
config/arm/arm.md | 6 +-
config/mips/mips.md | 2
config/s390/s390.c | 2
config/sh/sh.md | 4 -
35 files changed, 304 insertions(+), 152 deletions(-)
--
Eric Botcazou
next prev parent reply other threads:[~2015-10-06 11:06 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-06 10:57 [patch 0/6] scalar-storage-order merge (2) Eric Botcazou
2015-10-06 11:01 ` [patch 1/6] scalar-storage-order merge: Ada front-end Eric Botcazou
2015-10-12 22:23 ` Jeff Law
2015-10-06 11:02 ` [patch 2/6] scalar-storage-order merge: C front-end Eric Botcazou
2015-10-13 11:32 ` Jeff Law
2015-10-19 8:50 ` Eric Botcazou
2015-10-28 16:48 ` Joseph Myers
2015-10-28 17:32 ` Jeff Law
2015-10-28 22:34 ` Eric Botcazou
2015-10-28 23:36 ` Mike Stump
2015-10-29 0:23 ` Joseph Myers
2015-10-30 8:59 ` Eric Botcazou
2015-10-30 14:50 ` Mike Stump
2015-10-06 11:03 ` [patch 3/6] scalar-storage-order merge: C++ front-end Eric Botcazou
2015-10-12 22:27 ` Jeff Law
2015-10-06 11:05 ` [patch 4/6] scalar-storage-order merge: bulk Eric Botcazou
2015-10-13 16:07 ` Jeff Law
2015-10-20 16:35 ` Eric Botcazou
2015-10-06 11:06 ` Eric Botcazou [this message]
2015-10-06 11:09 ` [patch 5/6] scalar-storage-order merge: rest Eric Botcazou
2015-10-13 16:44 ` Jeff Law
2015-10-06 11:08 ` [patch 6/6] scalar-storage-order merge: testsuite Eric Botcazou
2015-10-12 22:26 ` Jeff Law
2015-10-09 11:33 ` [patch 0/6] scalar-storage-order merge (2) Bernd Schmidt
2015-10-13 17:33 ` Eric Botcazou
2015-10-14 15:25 ` Trevor Saunders
2015-10-14 15:33 ` Jeff Law
2015-11-08 18:30 ` Eric Botcazou
-- strict thread matches above, loose matches on Subject: below --
2015-06-16 8:46 [patch 0/6] scalar-storage-order merge Eric Botcazou
2015-06-16 9:53 ` [patch 5/6] scalar-storage-order merge: rest Eric Botcazou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=62790516.22XKWQBXdJ@polaris \
--to=ebotcazou@adacore.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).