We should be using MQPR, and if we don't we can get COPYs and PHIs created for QPR. These get folded into instructions, failing verification checks.
Details
Diff Detail
Event Timeline
llvm/test/CodeGen/Thumb2/mve-crash-qpr.ll | ||
---|---|---|
10 ↗ | (On Diff #215083) | I don't think these check lines are really adding any value, this is a complex test file so we'd expect the generated code to change as we improve the MVE code generation. Could we instead test this by stopping as soon as possible after instruction selection, and checking that the vregs are all MQPR class in the MIR? That would also allow the IR to be greatly reduced. |
Sorry for the delay. This test case was originally dependant upon masked stores. I've redone it without that and simplified it a little.
llvm/test/CodeGen/Thumb2/mve-crash-qpr.ll | ||
---|---|---|
10 ↗ | (On Diff #215083) | I'm not a huge fan of weird tests. I'd prefer it if they were all pretty boring, just simple enough to be autogenerated. They are easy to update if they do change, and you can see if they are smaller or the same. They act as useful codegen checks, to see when changes do have an effect on codegen. Perhaps this test isn't the best example of that though. I've tried to cut it down and removed most of the check lines. Hopefully its simple enough now. |