forked from OSchip/llvm-project
4c5a5c8db6
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 |
||
---|---|---|
.. | ||
AsmParser | ||
Disassembler | ||
InstPrinter | ||
MCTargetDesc | ||
TargetInfo | ||
AVR.h | ||
AVR.td | ||
AVRAsmPrinter.cpp | ||
AVRCallingConv.td | ||
AVRDevices.td | ||
AVRExpandPseudoInsts.cpp | ||
AVRFrameLowering.cpp | ||
AVRFrameLowering.h | ||
AVRISelDAGToDAG.cpp | ||
AVRISelLowering.cpp | ||
AVRISelLowering.h | ||
AVRInstrFormats.td | ||
AVRInstrInfo.cpp | ||
AVRInstrInfo.h | ||
AVRInstrInfo.td | ||
AVRMCInstLower.cpp | ||
AVRMCInstLower.h | ||
AVRMachineFunctionInfo.h | ||
AVRRegisterInfo.cpp | ||
AVRRegisterInfo.h | ||
AVRRegisterInfo.td | ||
AVRRelaxMemOperations.cpp | ||
AVRSelectionDAGInfo.h | ||
AVRSubtarget.cpp | ||
AVRSubtarget.h | ||
AVRTargetMachine.cpp | ||
AVRTargetMachine.h | ||
AVRTargetObjectFile.cpp | ||
AVRTargetObjectFile.h | ||
CMakeLists.txt | ||
LLVMBuild.txt | ||
README.md | ||
TODO.md |