[PATCH] D92104: [RegisterScavenging] Fix assert in scavengeRegisterBackwards
Craig Blackmore via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 11 09:33:23 PST 2020
craigblackmore updated this revision to Diff 311257.
craigblackmore added a comment.
I have updated the patch so that `Scavenged free register:` will not be printed if no register is found.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92104/new/
https://reviews.llvm.org/D92104
Files:
llvm/lib/CodeGen/RegisterScavenging.cpp
Index: llvm/lib/CodeGen/RegisterScavenging.cpp
===================================================================
--- llvm/lib/CodeGen/RegisterScavenging.cpp
+++ llvm/lib/CodeGen/RegisterScavenging.cpp
@@ -573,9 +573,8 @@
RestoreAfter);
MCPhysReg Reg = P.first;
MachineBasicBlock::iterator SpillBefore = P.second;
- assert(Reg != 0 && "No register left to scavenge!");
// Found an available register?
- if (SpillBefore == MBB.end()) {
+ if (Reg != 0 && SpillBefore == MBB.end()) {
LLVM_DEBUG(dbgs() << "Scavenged free register: " << printReg(Reg, TRI)
<< '\n');
return Reg;
@@ -584,6 +583,8 @@
if (!AllowSpill)
return 0;
+ assert(Reg != 0 && "No register left to scavenge!");
+
MachineBasicBlock::iterator ReloadAfter =
RestoreAfter ? std::next(MBBI) : MBBI;
MachineBasicBlock::iterator ReloadBefore = std::next(ReloadAfter);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92104.311257.patch
Type: text/x-patch
Size: 916 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201211/4702c5ab/attachment.bin>
More information about the llvm-commits
mailing list