mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-12 11:50:46 +08:00
rtl-ssa: Add entry point to allow re-parenting uses
This is needed by the upcoming aarch64 load pair pass, as it can re-order stores (when alias analysis determines this is safe) and thus change which mem def a given use consumes (in the RTL-SSA view, there is no alias disambiguation of memory). gcc/ChangeLog: * rtl-ssa/accesses.cc (function_info::reparent_use): New. * rtl-ssa/functions.h (function_info): Declare new member function reparent_use.
This commit is contained in:
parent
c95aab23c1
commit
ba230aa1b8
@ -1239,6 +1239,14 @@ function_info::add_use (use_info *use)
|
||||
insert_use_before (use, neighbor->value ());
|
||||
}
|
||||
|
||||
void
|
||||
function_info::reparent_use (use_info *use, set_info *new_def)
|
||||
{
|
||||
remove_use (use);
|
||||
use->set_def (new_def);
|
||||
add_use (use);
|
||||
}
|
||||
|
||||
// If USE has a known definition, remove USE from that definition's list
|
||||
// of uses. Also remove if it from the associated splay tree, if any.
|
||||
void
|
||||
|
@ -159,6 +159,9 @@ public:
|
||||
// Like change_insns, but for a single change CHANGE.
|
||||
void change_insn (insn_change &change);
|
||||
|
||||
// Given a use USE, re-parent it to get its def from NEW_DEF.
|
||||
void reparent_use (use_info *use, set_info *new_def);
|
||||
|
||||
// If the changes that have been made to instructions require updates
|
||||
// to the CFG, perform those updates now. Return true if something changed.
|
||||
// If it did:
|
||||
|
Loading…
Reference in New Issue
Block a user