Currently, we don't block-convert new-style procs (e.g. those with proc-scoped channels and proc instances). This means that procs that are instantiated multiple times become uniquified blocks, which makes RTL less readable and much larger.
Current best alternative workaround (limit 100 words)
Continue using old-style procs and accept the big, less readable RTL.
Your view of the "best case XLS enhancement" (limit 100 words)
Block conversion converts new-style procs. Proc instantiations become block instantiations, so a multiply-instantiated proc only codegens one block implementation that is instantiated multiple times.
What's hard to do? (limit 100 words)
Currently, we don't block-convert new-style procs (e.g. those with proc-scoped channels and proc instances). This means that procs that are instantiated multiple times become uniquified blocks, which makes RTL less readable and much larger.
Current best alternative workaround (limit 100 words)
Continue using old-style procs and accept the big, less readable RTL.
Your view of the "best case XLS enhancement" (limit 100 words)
Block conversion converts new-style procs. Proc instantiations become block instantiations, so a multiply-instantiated proc only codegens one block implementation that is instantiated multiple times.