[llvm] 248a67f - [Statepoint] Turn assert into check in foldPatchpoint.
Denis Antrushin via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 28 06:01:52 PDT 2020
Author: Denis Antrushin
Date: 2020-08-28T20:00:23+07:00
New Revision: 248a67f1445d716cd18a588db35328d1f5b501c8
URL: https://github.com/llvm/llvm-project/commit/248a67f1445d716cd18a588db35328d1f5b501c8
DIFF: https://github.com/llvm/llvm-project/commit/248a67f1445d716cd18a588db35328d1f5b501c8.diff
LOG: [Statepoint] Turn assert into check in foldPatchpoint.
Original D81646 had check for tied regs in foldPatchpoint().
Due to unfortunate miscommunication with review comments and
adressing some comments post commit, it turned into assertion.
We had an offline talk and agreed that with current implementation
this path is possible, so I'm changing it back to check.
Note that this is workaround until ussues described in PR46917 are
resolved.
Added:
Modified:
llvm/lib/CodeGen/TargetInstrInfo.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/TargetInstrInfo.cpp b/llvm/lib/CodeGen/TargetInstrInfo.cpp
index c71bf7c74808..fe9feb5f116b 100644
--- a/llvm/lib/CodeGen/TargetInstrInfo.cpp
+++ b/llvm/lib/CodeGen/TargetInstrInfo.cpp
@@ -499,14 +499,14 @@ static MachineInstr *foldPatchpoint(MachineFunction &MF, MachineInstr &MI,
// Return false if any operands requested for folding are not foldable (not
// part of the stackmap's live values).
for (unsigned Op : Ops) {
- // Caller is expected to avoid passing in tied operands
- assert(!MI.getOperand(Op).isTied());
if (Op < NumDefs) {
assert(DefToFoldIdx == MI.getNumOperands() && "Folding multiple defs");
DefToFoldIdx = Op;
} else if (Op < StartIdx) {
return nullptr;
}
+ if (MI.getOperand(Op).isTied())
+ return nullptr;
}
MachineInstr *NewMI =
More information about the llvm-commits
mailing list