aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.cc
diff options
context:
space:
mode:
authorAlex Coplan <alex.coplan@arm.com>2024-01-11 16:17:37 +0000
committerAlex Coplan <alex.coplan@arm.com>2024-01-23 13:22:11 +0000
commite0374b028a665a2ea8d6eb2b4e5862774e9e85c2 (patch)
tree80016ab92cc7fc2cd355da9c9e2d321523586a58 /gcc/expr.cc
parentd5d43dc399bb0f15084827c59a025189c630afdd (diff)
downloadgcc-e0374b028a665a2ea8d6eb2b4e5862774e9e85c2.zip
gcc-e0374b028a665a2ea8d6eb2b4e5862774e9e85c2.tar.gz
gcc-e0374b028a665a2ea8d6eb2b4e5862774e9e85c2.tar.bz2
rtl-ssa: Run finalize_new_accesses forwards [PR113070]
The next patch in this series exposes an interface for creating new uses in RTL-SSA. The intent is that new user-created uses can consume new user-created defs in the same change group. This is so that we can correctly update uses of memory when inserting a new store pair insn in the aarch64 load/store pair fusion pass (the affected uses need to consume the new store pair insn). As it stands, finalize_new_accesses is called as part of the backwards insn placement loop within change_insns, but if we want new uses to be able to depend on new defs in the same change group, we need finalize_new_accesses to be called on earlier insns first. This is so that when we process temporary uses and turn them into permanent uses, we can follow the last_def link on the temporary def to ensure we end up with a permanent use consuming a permanent def. gcc/ChangeLog: PR target/113070 * rtl-ssa/changes.cc (function_info::change_insns): Split out the call to finalize_new_accesses from the backwards placement loop, run it forwards in a separate loop.
Diffstat (limited to 'gcc/expr.cc')
0 files changed, 0 insertions, 0 deletions