If an instruction is sunk into a loop then any kill flags on
operands declared outside the loop must be cleared as these
will be live for all loop iterations.
Fixes #46827
Paths
| Differential D126754
[MachineSink] Clear kill flags on operands outside loop ClosedPublic Authored by critson on May 31 2022, 11:10 PM.
Details Summary If an instruction is sunk into a loop then any kill flags on Fixes #46827
Diff Detail
Event Timeline
critson marked an inline comment as done. Comment Actions
Comment Actions
Yes, I'll do this.
This revision is now accepted and ready to land.Jun 16 2022, 2:09 PM
This revision was landed with ongoing or failed builds.Jun 23 2022, 10:03 PM Closed by commit rG874fbe2cbbe6: [MachineSink] Clear kill flags on operands outside loop (authored by critson). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 439618 llvm/lib/CodeGen/MachineSink.cpp
llvm/test/CodeGen/SystemZ/machinelicm-sunk-kill-flags.mir
|
Change this to MO.readsReg() As we don't need to deal with things like undef uses or internal bundle reads.