diff options
author | Chris Lattner <sabre@nondot.org> | 2007-05-05 00:17:00 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-05-05 00:17:00 +0000 |
commit | e17b658c792abd4a1552144b8a8808e44970da76 (patch) | |
tree | 796c80d7cf624353e3088981d7c97df3383a33b6 /include/llvm/Bitcode/BitCodes.h | |
parent | a8e9562906cf70a3e89baaf5fe6e2f4f5cf83c11 (diff) | |
download | llvm-e17b658c792abd4a1552144b8a8808e44970da76.tar.gz llvm-e17b658c792abd4a1552144b8a8808e44970da76.tar.bz2 llvm-e17b658c792abd4a1552144b8a8808e44970da76.tar.xz |
Implement support for globally associating abbrevs with block IDs, which
relieves us from having to emit the abbrevs into each instance of the block.
This shrinks kc.bit from 3368K to 3333K, but will be a more significant win
once instructions are abbreviated.
The VST went from:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.29508e+07b/1.61885e+06B/404713W
Average Size: 5522.73b/690.342B/172.585W
% of file: 48.0645
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 7035/3
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 100
to:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.26713e+07b/1.58391e+06B/395978W
Average Size: 5403.53b/675.442B/168.86W
% of file: 47.5198
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 100
because we didn't emit the same 3 abbrevs 2345 times :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36767 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Bitcode/BitCodes.h')
-rw-r--r-- | include/llvm/Bitcode/BitCodes.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/llvm/Bitcode/BitCodes.h b/include/llvm/Bitcode/BitCodes.h index d9a5874966..2cf8b7b723 100644 --- a/include/llvm/Bitcode/BitCodes.h +++ b/include/llvm/Bitcode/BitCodes.h @@ -66,8 +66,9 @@ namespace bitc { /// BlockInfoCodes - The blockinfo block contains metadata about user-defined /// blocks. enum BlockInfoCodes { - BLOCKINFO_CODE_SETBID = 1, // SETBID: [blockid#] - BLOCKINFO_CODE_ABBREV = 2 // ABBREV: [standard abbrev encoding] + BLOCKINFO_CODE_SETBID = 1 // SETBID: [blockid#] + // DEFINE_ABBREV has magic semantics here, applying to the current SETBID'd + // block, instead of the BlockInfo block. // BLOCKNAME: give string name to block, if desired. }; |