diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/ProfileData/InstrProf.cpp | 12 | ||||
-rw-r--r-- | llvm/lib/ProfileData/InstrProfReader.cpp | 13 | ||||
-rw-r--r-- | llvm/lib/ProfileData/SampleProf.cpp | 8 | ||||
-rw-r--r-- | llvm/lib/ProfileData/SampleProfReader.cpp | 20 |
4 files changed, 11 insertions, 42 deletions
diff --git a/llvm/lib/ProfileData/InstrProf.cpp b/llvm/lib/ProfileData/InstrProf.cpp index 762f00b48b6..92a3c251f6e 100644 --- a/llvm/lib/ProfileData/InstrProf.cpp +++ b/llvm/lib/ProfileData/InstrProf.cpp @@ -32,22 +32,20 @@ class InstrProfErrorCategoryType : public std::error_category { return "Success"; case instrprof_error::eof: return "End of File"; - case instrprof_error::unrecognized_format: - return "Unrecognized instrumentation profile encoding format"; case instrprof_error::bad_magic: - return "Invalid instrumentation profile data (bad magic)"; + return "Invalid profile data (bad magic)"; case instrprof_error::bad_header: - return "Invalid instrumentation profile data (file header is corrupt)"; + return "Invalid profile data (file header is corrupt)"; case instrprof_error::unsupported_version: - return "Unsupported instrumentation profile format version"; + return "Unsupported profiling format version"; case instrprof_error::unsupported_hash_type: - return "Unsupported instrumentation profile hash type"; + return "Unsupported profiling hash"; case instrprof_error::too_large: return "Too much profile data"; case instrprof_error::truncated: return "Truncated profile data"; case instrprof_error::malformed: - return "Malformed instrumentation profile data"; + return "Malformed profile data"; case instrprof_error::unknown_function: return "No profile data available for function"; case instrprof_error::hash_mismatch: diff --git a/llvm/lib/ProfileData/InstrProfReader.cpp b/llvm/lib/ProfileData/InstrProfReader.cpp index 6f201243736..bf10b448e4c 100644 --- a/llvm/lib/ProfileData/InstrProfReader.cpp +++ b/llvm/lib/ProfileData/InstrProfReader.cpp @@ -54,10 +54,8 @@ InstrProfReader::create(std::unique_ptr<MemoryBuffer> Buffer) { Result.reset(new RawInstrProfReader64(std::move(Buffer))); else if (RawInstrProfReader32::hasFormat(*Buffer)) Result.reset(new RawInstrProfReader32(std::move(Buffer))); - else if (TextInstrProfReader::hasFormat(*Buffer)) - Result.reset(new TextInstrProfReader(std::move(Buffer))); else - return instrprof_error::unrecognized_format; + Result.reset(new TextInstrProfReader(std::move(Buffer))); // Initialize the reader and return the result. if (std::error_code EC = initializeReader(*Result)) @@ -99,15 +97,6 @@ void InstrProfIterator::Increment() { *this = InstrProfIterator(); } -bool TextInstrProfReader::hasFormat(const MemoryBuffer &Buffer) { - // Verify that this really looks like plain ASCII text by checking a - // 'reasonable' number of characters (up to profile magic size). - size_t count = std::min(Buffer.getBufferSize(), sizeof(uint64_t)); - StringRef buffer = Buffer.getBufferStart(); - return count == 0 || std::all_of(buffer.begin(), buffer.begin() + count, - [](char c) { return ::isprint(c) || ::isspace(c); }); -} - std::error_code TextInstrProfReader::readNextRecord(InstrProfRecord &Record) { // Skip empty lines and comments. while (!Line.is_at_end() && (Line->empty() || Line->startswith("#"))) diff --git a/llvm/lib/ProfileData/SampleProf.cpp b/llvm/lib/ProfileData/SampleProf.cpp index 856923e164b..b5d3b2d2e55 100644 --- a/llvm/lib/ProfileData/SampleProf.cpp +++ b/llvm/lib/ProfileData/SampleProf.cpp @@ -28,17 +28,17 @@ class SampleProfErrorCategoryType : public std::error_category { case sampleprof_error::success: return "Success"; case sampleprof_error::bad_magic: - return "Invalid sample profile data (bad magic)"; + return "Invalid file format (bad magic)"; case sampleprof_error::unsupported_version: - return "Unsupported sample profile format version"; + return "Unsupported format version"; case sampleprof_error::too_large: return "Too much profile data"; case sampleprof_error::truncated: return "Truncated profile data"; case sampleprof_error::malformed: - return "Malformed sample profile data"; + return "Malformed profile data"; case sampleprof_error::unrecognized_format: - return "Unrecognized sample profile encoding format"; + return "Unrecognized profile encoding format"; case sampleprof_error::unsupported_writing_format: return "Profile encoding format unsupported for writing operations"; case sampleprof_error::truncated_name_table: diff --git a/llvm/lib/ProfileData/SampleProfReader.cpp b/llvm/lib/ProfileData/SampleProfReader.cpp index 0bed4f09f1f..a5d00083b53 100644 --- a/llvm/lib/ProfileData/SampleProfReader.cpp +++ b/llvm/lib/ProfileData/SampleProfReader.cpp @@ -222,22 +222,6 @@ std::error_code SampleProfileReaderText::read() { return sampleprof_error::success; } -bool SampleProfileReaderText::hasFormat(const MemoryBuffer &Buffer) { - bool result = false; - - // Check that the first non-comment line is a valid function header. - line_iterator LineIt(Buffer, /*SkipBlanks=*/true, '#'); - if (!LineIt.is_at_eof()) { - if ((*LineIt)[0] != ' ') { - uint64_t NumSamples, NumHeadSamples; - StringRef FName; - result = ParseHead(*LineIt, FName, NumSamples, NumHeadSamples); - } - } - - return result; -} - template <typename T> ErrorOr<T> SampleProfileReaderBinary::readNumber() { unsigned NumBytesRead = 0; std::error_code EC; @@ -701,10 +685,8 @@ SampleProfileReader::create(StringRef Filename, LLVMContext &C) { Reader.reset(new SampleProfileReaderBinary(std::move(Buffer), C)); else if (SampleProfileReaderGCC::hasFormat(*Buffer)) Reader.reset(new SampleProfileReaderGCC(std::move(Buffer), C)); - else if (SampleProfileReaderText::hasFormat(*Buffer)) - Reader.reset(new SampleProfileReaderText(std::move(Buffer), C)); else - return sampleprof_error::unrecognized_format; + Reader.reset(new SampleProfileReaderText(std::move(Buffer), C)); if (std::error_code EC = Reader->readHeader()) return EC; |