mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-01 15:17:25 +00:00
InstrProf: Add unit tests for the profile reader and writer
This required some minor API to be added to these types to avoid needing temp files. Also, I've used initializer lists in the tests, as MSVC 2013 claims to support them. I'll redo this without them if the bots complain. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229455 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -95,6 +95,9 @@ public:
|
||||
/// Factory method to create an appropriately typed reader for the given
|
||||
/// instrprof file.
|
||||
static ErrorOr<std::unique_ptr<InstrProfReader>> create(std::string Path);
|
||||
|
||||
static ErrorOr<std::unique_ptr<InstrProfReader>>
|
||||
create(std::unique_ptr<MemoryBuffer> Buffer);
|
||||
};
|
||||
|
||||
/// Reader for the simple text based instrprof format.
|
||||
@@ -294,6 +297,9 @@ public:
|
||||
/// Factory method to create an indexed reader.
|
||||
static ErrorOr<std::unique_ptr<IndexedInstrProfReader>>
|
||||
create(std::string Path);
|
||||
|
||||
static ErrorOr<std::unique_ptr<IndexedInstrProfReader>>
|
||||
create(std::unique_ptr<MemoryBuffer> Buffer);
|
||||
};
|
||||
|
||||
} // end namespace llvm
|
||||
|
||||
@@ -41,8 +41,12 @@ public:
|
||||
std::error_code addFunctionCounts(StringRef FunctionName,
|
||||
uint64_t FunctionHash,
|
||||
ArrayRef<uint64_t> Counters);
|
||||
/// Ensure that all data is written to disk.
|
||||
/// Write the profile to \c OS
|
||||
void write(raw_fd_ostream &OS);
|
||||
/// Write the profile, returning the raw data. For testing.
|
||||
std::string writeString();
|
||||
private:
|
||||
std::pair<uint64_t, uint64_t> writeImpl(raw_ostream &OS);
|
||||
};
|
||||
|
||||
} // end namespace llvm
|
||||
|
||||
Reference in New Issue
Block a user