[PATCH] D146002: [BOLT][NFC] Simplify preprocessProfile
Rafael Auler via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 14 12:11:33 PDT 2023
rafauler added inline comments.
================
Comment at: bolt/lib/Profile/DataAggregator.cpp:522
- auto prepareToParse = [&](StringRef Name, PerfProcessInfo &Process) {
- std::string Error;
- outs() << "PERF2BOLT: waiting for perf " << Name
- << " collection to finish...\n";
- sys::ProcessInfo PI = sys::Wait(Process.PI, std::nullopt, &Error);
-
- if (!Error.empty()) {
- errs() << "PERF-ERROR: " << PerfPath << ": " << Error << "\n";
- deleteTempFiles();
- exit(1);
- }
-
- if (PI.ReturnCode != 0) {
- ErrorOr<std::unique_ptr<MemoryBuffer>> ErrorMB =
- MemoryBuffer::getFileOrSTDIN(Process.StderrPath.data());
- StringRef ErrBuf = (*ErrorMB)->getBuffer();
-
- errs() << "PERF-ERROR: return code " << PI.ReturnCode << "\n";
- errs() << ErrBuf;
- deleteTempFiles();
- exit(1);
- }
-
- ErrorOr<std::unique_ptr<MemoryBuffer>> MB =
- MemoryBuffer::getFileOrSTDIN(Process.StdoutPath.data());
- if (std::error_code EC = MB.getError()) {
- errs() << "Cannot open " << Process.StdoutPath.data() << ": "
- << EC.message() << "\n";
- deleteTempFiles();
- exit(1);
- }
+ auto Close = make_scope_exit([this] { deleteTempFiles(); });
+ auto ErrorCallback = [](int ReturnCode, StringRef ErrBuf) {
----------------
I don't think this will be called, because we're calling "exit(1)" directly
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146002/new/
https://reviews.llvm.org/D146002
More information about the llvm-commits
mailing list