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.<br>
<br><div class="gmail_quote">On Mon, Sep 10, 2012 at 12:28 PM, Manman Ren <span dir="ltr"><<a href="mailto:mren@apple.com" target="_blank">mren@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
TableGen: reduce the size of ContextDecision tables in X86GenDisassemblerTables<br>
by adding an encoder for instructionIDs. The main motivation is that in 83% of<br>
the cases, the value is zero, so we should be able to use a 16-bit index<br>
into the encoder and the encoder will translate the index into the actual<br>
32-bit value.<br>
<br>
Later on, we may combine the modrm_type with instructionIDs to fit into a single<br>
16-bit number.<br>
<br>
The size of libLTO in a Release build is reduced by 200k. The downside is one<br>
more memory access to the encoder when decoding the instruction ID.<br>
<br>
Thanks for reviewing the patch! Comments are greatly appreciated.<br>
<span class="HOEnZb"><font color="#888888"><br>
Manman<br>
<br>
</font></span><br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>~Craig<br>