Diff Detail
Event Timeline
llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp | ||
---|---|---|
2076 | Not sure if having a check for 'one use' is better or not. More lit tests will have improvements if it is removed but I was able to generate some cases where it was not beneficial. |
llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp | ||
---|---|---|
2077 | you don't know that there isn't an intervening def of SCC between the def and use point, which is the point of the copy. You could check computeRegisterLiveness for SCC, but I don't know if this is a scalable strategy. I think we'd be better off with some kind of general physreg def scheduler such that PeepholeOpt can deal with the copies |
llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp | ||
---|---|---|
2077 | You'd also have to rely on computeRegisterLiveness only using live-out / backwards liveness. It won't see parent defs if they haven't been selected yet |
Not sure if having a check for 'one use' is better or not. More lit tests will have improvements if it is removed but I was able to generate some cases where it was not beneficial.