On 10/18/21 3:41 PM, Aldy Hernandez wrote:
I've been experimenting with reducing the total number of threading passes, and I'd like to see if there's consensus/stomach for altering the pipeline. Note, that the goal is to remove forward threader clients, not the other way around. So, we should prefer to remove a VRP threader instance over a *.thread one immediately before VRP. After some playing, it looks like if we enable fully-resolving mode in the *.thread passes immediately preceeding VRP, we can remove the VRP threading passes altogether, thus removing 2 threading passes (and forward threading passes at that!).
It occurs to me that we could also remove the threading before VRP passes, and enable a fully-resolving backward threader after VRP. I haven't played with this scenario, but it should be just as good. That being said, I don't know the intricacies of why we had both pre and post VRP threading passes, and if one is ideally better than the other.
Aldy