Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a unit test for frame index expansion #38902

Open
dylanmckay opened this issue Nov 5, 2018 · 0 comments
Open

Add a unit test for frame index expansion #38902

dylanmckay opened this issue Nov 5, 2018 · 0 comments
Labels
backend:AVR bugzilla Issues migrated from bugzilla

Comments

@dylanmckay
Copy link
Member

Bugzilla Link 39554
Version trunk
OS Linux

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:

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

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.

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:AVR bugzilla Issues migrated from bugzilla
Projects
None yet
Development

No branches or pull requests

1 participant