]> git.ipfire.org Git - thirdparty/gcc.git/commit
Make SRA re-construct orginal memory accesses when easy
authorjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Jun 2019 16:31:20 +0000 (16:31 +0000)
committerjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Jun 2019 16:31:20 +0000 (16:31 +0000)
commit9c2f5af54e7f29cfd78a3d8111381257b64969c9
tree4c37321fcafb5e38a43aea877ba8703f2d1540a7
parent9eb6db53fb072e20b1d54b16d8c1c77638c934e5
Make SRA re-construct orginal memory accesses when easy

2019-06-06  Martin Jambor  <mjambor@suse.cz>

* tree-sra.c (struct access): New field grp_same_access_path.
(dump_access): Dump it.
(build_reconstructed_reference): New function.
(build_ref_for_model): Use it if possible.
(path_comparable_for_same_access): New function.
(same_access_path_p): Likewise.
(sort_and_splice_var_accesses): Set the new flag.
(analyze_access_subtree): Likewise.
(propagate_subaccesses_across_link): Propagate zero value of the new
flag down the access tree.

testsuite/
* gcc.dg/tree-ssa/alias-access-path-1.c: Remove -fno-tree-sra option.
* gcc.dg/tree-ssa/ssa-dse-26.c: Disable FRE.
* testsuite/gnat.dg/opt39.adb: Adjust scan dump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272012 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/alias-access-path-1.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-26.c
gcc/testsuite/gnat.dg/opt39.adb
gcc/tree-sra.c