[PATCH] D94308: [MachineSink] SinkIntoLoop: analyse stores and aliases in between
Sjoerd Meijer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 17 01:13:46 PST 2021
SjoerdMeijer added a comment.
Friendly ping. Are we happy with this?
I appreciate that test `X86/loop-sink.mir` is a bit large which I added in the latest revisions, but this has been reduced from a llvm-suite miscompilation and I couldn't reduce it further within a reasonable amount of time. I thought one larger tests wouldn't be bad, actually saw some benefits.
The alternative is that I remove it. The added check is a corner case for X86, and it's an existing check that I am reusing so it is check that is covered. Just for completeness it's this check that I refactored into `HasInstrSideEffects`:
// If the instruction to move defines a dead physical register which is live
// when leaving the basic block, don't move it because it could turn into a
// "zombie" define of that preg. E.g., EFLAGS. (<rdar://problem/8030636>)
static bool HasInstrSideEffects(MachineInstr &MI, MachineBasicBlock *SinkTo) {
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D94308/new/
https://reviews.llvm.org/D94308
More information about the llvm-commits
mailing list