[PATCH] D123394: [CodeGen] Late cleanup of redundant address/immediate definitions.
Jonas Paulsson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 18 14:20:08 PST 2022
jonpa added a comment.
In D123394#3938078 <https://reviews.llvm.org/D123394#3938078>, @kparzysz wrote:
> In Hexagon we try to find a pre-existing register that we can reuse:
> https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp#L286-L333
That's done after regalloc in eliminateFrameIndex - interesting. My thoughts on this have been that it is more efficient to scan the entire function once rather than for each single frame index elimination. That should be possible if the used register is the same for consecutive FI operands, which I think it should typically be. It would be interesting to see what would happen if you removed that code and instead enabled this pass.
The other thing is that the bulk of the instructions being cleaned up seems to be loads of immediates which result from rematerialization rather than FIs.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D123394/new/
https://reviews.llvm.org/D123394
More information about the llvm-commits
mailing list