aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
authorDylan McKay <me@dylanmckay.io>2018-11-05 05:49:04 +0000
committerDylan McKay <me@dylanmckay.io>2018-11-05 05:49:04 +0000
commit4c5a5c8db6a9bcfafbb8798e9129e125d1f98155 (patch)
treeec0d22df944094b641fda5d87b5288205d09a236 /clang/lib/Lex/ModuleMap.cpp
parent1e255e7a7b3752ef7f786506e695f0f7b58e2339 (diff)
downloadllvm-4c5a5c8db6a9bcfafbb8798e9129e125d1f98155.zip
llvm-4c5a5c8db6a9bcfafbb8798e9129e125d1f98155.tar.gz
llvm-4c5a5c8db6a9bcfafbb8798e9129e125d1f98155.tar.bz2
[AVR] Fix a backend bug that left extraneous operands after expansion
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
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions