This transformation could've triggered a verifier assert if RegA and RegB
were of different reg classes. Fix this by constraining as the comment
for replaceRegWith suggests.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
LGTM, but clean test up before committing.
llvm/test/CodeGen/AArch64/statepoint-twoaddr.mir | ||
---|---|---|
38 | Please remove redundant constant arguments. Just in case, format of statepoint MI is as follows: /// <id>, <num patch bytes>, <num call arguments>, <call target>, /// [call arguments...], /// <StackMaps::ConstantOp>, <calling convention>, /// <StackMaps::ConstantOp>, <statepoint flags>, /// <StackMaps::ConstantOp>, <num deopt args>, [deopt args...], /// <StackMaps::ConstantOp>, <num gc pointers>, [gc pointers...], /// <StackMaps::ConstantOp>, <num gc allocas>, [gc allocas...] /// <num entries in gc map>, <base/derived indices...> Where StackMaps::ConstantOp is literal '2' above. |
Please remove redundant constant arguments.
You don't need 47 constant deopt arg in this test. I would guess you don't need those undef call arguments(or even _any_ of them?).
At a glance only %0 is essential for the test.
Just in case, format of statepoint MI is as follows:
Where StackMaps::ConstantOp is literal '2' above.