[PATCH] D14825: [ThinLTO] Add MODULE_CODE_METADATA_VALUES record

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 19 09:09:18 PST 2015


tejohnson created this revision.
tejohnson added reviewers: dexonsmith, joker.eph.
tejohnson added subscribers: llvm-commits, davidxl.
Herald added a subscriber: joker.eph.

This is split out from the ThinLTO metadata mapping patch
http://reviews.llvm.org/D14752.

To avoid needing to parse the module level metadata during function
importing, a new module-level record is added which holds the
number of module-level metadata values. This is required because
metadata value ids are assigned implicitly during parsing, and the
function-level metadata ids start after the module-level metadata ids.

I made a change to this version of the code compared to D14752
in order to add more consistent and thorough assertion checking of the
new record value. We now unconditionally use the record value to
initialize the MDValueList size, and handle it the same in parseMetadata
for all module level metadata cases (lazy loading or not).

http://reviews.llvm.org/D14825

Files:
  include/llvm/Bitcode/LLVMBitCodes.h
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/Bitcode/Writer/ValueEnumerator.h
  tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14825.40662.patch
Type: text/x-patch
Size: 8496 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151119/c5b33dc3/attachment.bin>


More information about the llvm-commits mailing list