Who uses blocklen_32 in ENTER_SUBBLOCK

Hi,

https://llvm.org/docs/BitCodeFormat.html#enter-subblock-encoding

“The blocklen value is a 32-bit aligned value that specifies the size of the subblock in 32-bit words. This value allows the reader to skip over the entire block in one jump.”

In the code base, the parsing function of BitstreamCursor::EnterSubBlock has an optional argument to return blocklen. The code at BitcodeAnalyzer is the only one that uses this argument. But it simply prints its value. I did not find any code that uses the value to skip reading bitcode files.

Does anyone know if any clients use blocklen?

I am interested in this because Bitcode Writer cannot flush memory because it needs to backfill until the end of a block. At the very-top level, there is such a block: MODULE_BLOCK. So the entire bitcode contents cannot be flushed.

Thank you,

nvm. ValueSymbolTable uses this blocklen a lot.