[llvm-commits] [PATCH] TableGen: reduce the size of ContextDecision tables in X86GenDisassemblerTables

Manman Ren mren at apple.com
Mon Sep 10 12:28:51 PDT 2012


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: X86Dis2.patch
Type: application/octet-stream
Size: 11645 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120910/40f920b8/attachment.obj>


More information about the llvm-commits mailing list