Shrink the asm matcher tables.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 3 Mar 2012 19:13:26 +0000 (19:13 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 3 Mar 2012 19:13:26 +0000 (19:13 +0000)
commita4c5ecfb1bc0101c1b42a4d81bb427482b52cecf
tree0ac57e2ca82a9ae305d353d1f8dc68b37ea23497
parent02ee75393fc38a35e900e078b58f069735da153a
Shrink the asm matcher tables.

- Shrink the opcode field to 16 bits.
- Shrink the AsmVariantID field to 8 bits.
- Store the mnemonic string in a string table, store a 16 bit index.
- Store a pascal-style length byte in the string instead of a null terminator,
  so we can avoid calling strlen on every entry we visit during mnemonic search.

Shrinks X86AsmParser.o from 434k to 201k on x86_64 and eliminates relocs from the table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151984 91177308-0d34-0410-b5e6-96231b3b80d8
utils/TableGen/AsmMatcherEmitter.cpp