aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl-ssa/changes.cc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2020-12-17 00:15:07 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2020-12-17 00:15:07 +0000
commiteb74135dd35213f800f434df92b2835ce49f8ea6 (patch)
tree7b9bc5b0bd2a9e257ed765d0fa8a057877c5b0f4 /gcc/rtl-ssa/changes.cc
parent6059a3dd084d157759309357e5a52f8a8cc504c1 (diff)
downloadgcc-eb74135dd35213f800f434df92b2835ce49f8ea6.zip
gcc-eb74135dd35213f800f434df92b2835ce49f8ea6.tar.gz
gcc-eb74135dd35213f800f434df92b2835ce49f8ea6.tar.bz2
recog: Add a way of temporarily undoing changes
In some cases, it can be convenient to roll back the changes that have been made by validate_change to see how things looked before, then reroll the changes. For example, this makes it possible to defer calculating the cost of an instruction until we know that the result is actually needed. It can also make dumps easier to read. This patch adds a couple of helper functions for doing that. gcc/ * recog.h (temporarily_undo_changes, redo_changes): Declare. * recog.c (temporarily_undone_changes): New variable. (validate_change_1, confirm_change_group): Check that it's zero. (cancel_changes): Likewise. (swap_change, temporarily_undo_changes): New functions. (redo_changes): Likewise.
Diffstat (limited to 'gcc/rtl-ssa/changes.cc')
0 files changed, 0 insertions, 0 deletions