[llvm-commits] [PATCH] TableGen: reduce the size of ContextDecision tables in X86GenDisassemblerTables
Manman Ren
mren at apple.com
Mon Sep 10 19:12:55 PDT 2012
Yes, I noticed that the max value is 43459 after I spent the effort to add an encoder :(
But we can potentially combine the modrm_type with instructionIDs to fit into a single 16-bit number, thus saving 8-bit for each entry.
Let me know whether that is worth a try.
I will look into how to uniquely the ModRM decision table if possible. Do you have specific suggestion on how to?
Thanks,
Manman
On Sep 10, 2012, at 7:09 PM, Craig Topper <craig.topper at gmail.com> wrote:
> Far as I can tell there's no reason you can't just change the existing index to 16-bits. The largest index is 43459. I'd rather to see effort spent uniquifying the ModRM decision table which will provide a much larger bang.
>
> On Mon, Sep 10, 2012 at 12:28 PM, Manman Ren <mren at apple.com> wrote:
>
> TableGen: reduce the size of ContextDecision tables in X86GenDisassemblerTables
> by adding an encoder for instructionIDs. The main motivation is that in 83% of
> the cases, the value is zero, so we should be able to use a 16-bit index
> into the encoder and the encoder will translate the index into the actual
> 32-bit value.
>
> Later on, we may combine the modrm_type with instructionIDs to fit into a single
> 16-bit number.
>
> The size of libLTO in a Release build is reduced by 200k. The downside is one
> more memory access to the encoder when decoding the instruction ID.
>
> Thanks for reviewing the patch! Comments are greatly appreciated.
>
> Manman
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
>
>
> --
> ~Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120910/a11c1f1d/attachment.html>
More information about the llvm-commits
mailing list