[llvm] [memprof] Add YAML read/write support to llvm-profdata (PR #118915)
Teresa Johnson via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 6 08:19:10 PST 2024
================
@@ -723,6 +723,35 @@ loadInput(const WeightedFile &Input, SymbolRemapper *Remapper,
return;
}
+ using ::llvm::memprof::YAMLMemProfReader;
+ if (YAMLMemProfReader::hasFormat(Input.Filename)) {
+ auto ReaderOrErr = YAMLMemProfReader::create(Input.Filename);
+ if (!ReaderOrErr) {
+ exitWithError(ReaderOrErr.takeError(), Input.Filename);
+ }
+ std::unique_ptr<YAMLMemProfReader> Reader = std::move(ReaderOrErr.get());
+ // Check if the profile types can be merged, e.g. clang frontend profiles
+ // should not be merged with memprof profiles.
+ if (Error E = WC->Writer.mergeProfileKind(Reader->getProfileKind())) {
+ consumeError(std::move(E));
+ WC->Errors.emplace_back(
+ make_error<StringError>(
+ "Cannot merge MemProf profile with Clang generated profile.",
----------------
teresajohnson wrote:
Do we know for sure that this is a Clang generated profile? Couldn't it be an LLVM IR PGO profile? Or something else?
https://github.com/llvm/llvm-project/pull/118915
More information about the llvm-commits
mailing list