Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/CodeGen/MachineCopyPropagation.cpp | ||
---|---|---|
605 | This should bail as before rather than assert, the result class might not support the index |
llvm/lib/CodeGen/MachineCopyPropagation.cpp | ||
---|---|---|
605 | Can you explain how that scenario could arise? I'm unable to picture it, and I didn't hit any cases of it in the test suite. |
llvm/lib/CodeGen/MachineCopyPropagation.cpp | ||
---|---|---|
598–602 | What does "subregister of the COPY" mean? Is it subregister of the source or the destination operand? | |
601 | MCP ever works with physical registers. | |
605 | I suppose it could be in the case of cross-class copy: $a = COPY $b use $sub_a Here, $sub_a is a sub-register of $a and its index is sub_a_idx. | |
639–643 | Should be in the else branch of the if below. |
llvm/lib/CodeGen/MachineCopyPropagation.cpp | ||
---|---|---|
605 | I don't know, but the API says it can fail and you can skip it as before. | |
605 | I was also thinking of the cross bank case (but the API says it can fail, so it should be handled, or the unreachable needs to be moved into getSubRegIndex). I'd kind of expect the rest of allocation to try to avoid the cases where this would happen, but I assume a handcrafted MIR test could break this |
MCP ever works with physical registers.