summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AVR/rust-avr-bug-112.ll
Commit message (Collapse)AuthorAgeFilesLines
* [AVR] Fix a backend bug that left extraneous operands after expansionDylan McKay2018-11-051-0/+48
This patch fixes a bug in the AVR FRMIDX expansion logic. The expansion would leave a leftover operand from the original FRMIDX, but now attached to a MOVWRdRr instruction. The MOVWRdRr instruction did not expect this operand and so LLVM rejected the machine instruction. 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 Tim fixed this so that now the FRMIDX is expanded correctly into a well-formed MOVWRdRr. Patch by Tim Neumann llvm-svn: 346117
OpenPOWER on IntegriCloud