[llvm] [Profile] Add a more descriptive message to the bad_header error (PR #211281)
Hubert Tong via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 12 19:33:44 PDT 2026
================
@@ -650,7 +659,25 @@ Error RawInstrProfReader<IntPtrT>::readHeader(
auto *Start = reinterpret_cast<const char *>(&Header);
if (Start + ValueDataOffset > DataBuffer->getBufferEnd())
- return error(instrprof_error::bad_header);
+ return error(
+ instrprof_error::header_size_mismatch,
+ ("Profile file size (" + Twine(DataBuffer->getBufferSize()) +
+ " bytes) smaller than expected (at least " + Twine(ValueDataOffset) +
+ " bytes = " +
+ Twine(BinaryIdSize) + "(BinaryIdSize) + " +
+ Twine(DataSize) + "(DataSize) + " +
+ Twine(CountersSize) + "(CountersSize) + " +
+ Twine(NumBitmapBytes) + "(NumBitmapBytes) + " +
+ Twine(UniformCountersSectionSize) + "(UniformCountersSectionSize) + " +
+ Twine(NamesSize) + "(NamesSize) + " +
+ Twine(VTableSectionSize) + "(VTableSectionSize) + " +
+ Twine(VTableNameSize) + "(VTableNameSize) + " +
+ Twine(DataOffset - BinaryIdSize + PaddingBytesBeforeCounters +
+ PaddingBytesAfterCounters + PaddingBytesAfterBitmapBytes +
+ PaddingBytesAfterUniformCounters + PaddingBytesAfterNames +
+ PaddingBytesAfterVTableProfData + PaddingBytesAfterVTableNames) +
+ "(Padding))")
----------------
hubert-reinterpretcast wrote:
This is misleading. Instead of accounting for the size of the file header separately, this includes it as "padding".
https://github.com/llvm/llvm-project/pull/211281
More information about the llvm-commits
mailing list