[llvm] [MachineInstr] add insert method for variadic instructions (PR #67699)

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 27 15:44:06 PDT 2023


================
@@ -2475,3 +2475,24 @@ MachineInstr::getFirst5RegLLTs() const {
       Reg2, getRegInfo()->getType(Reg2), Reg3, getRegInfo()->getType(Reg3),
       Reg4, getRegInfo()->getType(Reg4));
 }
+
+void MachineInstr::insert(mop_iterator It, ArrayRef<MachineOperand> Ops) {
+  assert(isVariadic() && "can only modify variadic instructions");
+  assert(It->getParent() == this && "iterator points to operand of other inst");
----------------
MatzeB wrote:

I think I was thinking of something like this to make sure operands don't belong to some other instruction yet:
```
  for (MachineOperand* MOP : Ops) { assert(MOP->getParen() == nullptr); }
```
(which is a slightly different check from the iterator one you had there; sorry for confusion)

https://github.com/llvm/llvm-project/pull/67699


More information about the llvm-commits mailing list