rtl-ssa: Fix handling of deleted insns
RTL-SSA queues up some invasive changes for later. But sometimes the insns involved in those changes can be deleted by later optimisations, making the queued change unnecessary. This patch checks for that case. gcc/ * rtl-ssa/changes.cc (function_info::perform_pending_updates): Check whether an insn has been replaced by a note.
This commit is contained in:
parent
50313dcdf3
commit
c97b167e35
1 changed files with 4 additions and 1 deletions
|
@ -983,7 +983,10 @@ function_info::perform_pending_updates ()
|
|||
for (insn_info *insn : m_queued_insn_updates)
|
||||
{
|
||||
rtx_insn *rtl = insn->rtl ();
|
||||
if (JUMP_P (rtl))
|
||||
if (NOTE_P (rtl))
|
||||
// The insn was later optimized away, typically to a NOTE_INSN_DELETED.
|
||||
;
|
||||
else if (JUMP_P (rtl))
|
||||
{
|
||||
if (INSN_CODE (rtl) == NOOP_MOVE_INSN_CODE)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue