[PATCH] D93423: [GlobalISel] Use slot indexes to speed up huge block compile time

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 16 16:11:13 PST 2020


aemerson added a comment.

In D93423#2459024 <https://reviews.llvm.org/D93423#2459024>, @aditya_nandakumar wrote:

> In D93423#2459018 <https://reviews.llvm.org/D93423#2459018>, @aemerson wrote:
>
>> In D93423#2459004 <https://reviews.llvm.org/D93423#2459004>, @aditya_nandakumar wrote:
>>
>>> If slot indexes are preserved and used in other passes that use CSE, do you think the compile time impact is amortized/minimized?
>>
>> It's possible it would help a bit. I think the localizer may also benefit from this. I don't see it making a big difference either way though in most code.
>
> In our out of tree backend, CSE is used and preserved for 6 passes in total. I suspect if slot indexes are also preserved, the overhead might not be too much. Hence I was curious if you actually collected some numbers. If only legalizer is being looked at for compile time impact, we're not really evaluating the compile time savings to be had in other passes (assuming amortized cost of slot index) right?



In D93423#2459024 <https://reviews.llvm.org/D93423#2459024>, @aditya_nandakumar wrote:

> In D93423#2459018 <https://reviews.llvm.org/D93423#2459018>, @aemerson wrote:
>
>> In D93423#2459004 <https://reviews.llvm.org/D93423#2459004>, @aditya_nandakumar wrote:
>>
>>> If slot indexes are preserved and used in other passes that use CSE, do you think the compile time impact is amortized/minimized?
>>
>> It's possible it would help a bit. I think the localizer may also benefit from this. I don't see it making a big difference either way though in most code.
>
> In our out of tree backend, CSE is used and preserved for 6 passes in total. I suspect if slot indexes are also preserved, the overhead might not be too much. Hence I was curious if you actually collected some numbers. If only legalizer is being looked at for compile time impact, we're not really evaluating the compile time savings to be had in other passes (assuming amortized cost of slot index) right?



In D93423#2459024 <https://reviews.llvm.org/D93423#2459024>, @aditya_nandakumar wrote:

> In D93423#2459018 <https://reviews.llvm.org/D93423#2459018>, @aemerson wrote:
>
>> In D93423#2459004 <https://reviews.llvm.org/D93423#2459004>, @aditya_nandakumar wrote:
>>
>>> If slot indexes are preserved and used in other passes that use CSE, do you think the compile time impact is amortized/minimized?
>>
>> It's possible it would help a bit. I think the localizer may also benefit from this. I don't see it making a big difference either way though in most code.
>
> In our out of tree backend, CSE is used and preserved for 6 passes in total. I suspect if slot indexes are also preserved, the overhead might not be too much. Hence I was curious if you actually collected some numbers. If only legalizer is being looked at for compile time impact, we're not really evaluating the compile time savings to be had in other passes (assuming amortized cost of slot index) right?

Fair point. It might be quite difficult to ensure every pass preserves it but I'll see what I can do.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93423/new/

https://reviews.llvm.org/D93423



More information about the llvm-commits mailing list