You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In avr-rust bug #112, we encountered a backend bug caused by invalid expansion of a FRMIDX instruction into a MOVWRdRr instruction. The backend would leave an extraneous operand from the original FRMIDX that was not consistent with the definition of MOVWRdRr.
This would trigger an assertion:
Assertion failed: ((isImpReg || Op.isRegMask() || MCID->isVariadic() ||
OpNo < MCID->getNumOperands() || isMetaDataOp) &&
"Trying to add an operand to a machine instr that is already done!"),
function addOperand, file llvm/lib/CodeGen/MachineInstr.cpp
Extended Description
In avr-rust bug #112, we encountered a backend bug caused by invalid expansion of a FRMIDX instruction into a MOVWRdRr instruction. The backend would leave an extraneous operand from the original FRMIDX that was not consistent with the definition of MOVWRdRr.
This would trigger an assertion:
More informatiob about that bug can be found at: avr-rust/rust-legacy-fork#112
We should write unit tests that cover the expansion of FRMIDX nodes into MOVWRdRr instructions.
The text was updated successfully, but these errors were encountered: