Author: Fangrui Song Date: 2022-12-16T19:30:47Z New Revision: daa6305cf7ece2a85aa37e6a880ea64333360499
URL: https://github.com/llvm/llvm-project/commit/daa6305cf7ece2a85aa37e6a880ea64333360499 DIFF: https://github.com/llvm/llvm-project/commit/daa6305cf7ece2a85aa37e6a880ea64333360499.diff LOG: [trace] Migrate uses of operator<<(raw_ostream &OS, const Optional<T> &O) to std::optional Added: Modified: lldb/include/lldb/Interpreter/CommandInterpreter.h lldb/source/Interpreter/CommandInterpreter.cpp lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.cpp lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.h lldb/source/Plugins/Process/Linux/IntelPTSingleBufferTrace.cpp lldb/source/Plugins/Process/Linux/IntelPTSingleBufferTrace.h lldb/source/Plugins/Process/Linux/Perf.cpp lldb/source/Plugins/Process/Linux/Perf.h Removed: ################################################################################ diff --git a/lldb/include/lldb/Interpreter/CommandInterpreter.h b/lldb/include/lldb/Interpreter/CommandInterpreter.h index 82f46469df61f..fecfbf5077da8 100644 --- a/lldb/include/lldb/Interpreter/CommandInterpreter.h +++ b/lldb/include/lldb/Interpreter/CommandInterpreter.h @@ -627,7 +627,7 @@ class CommandInterpreter : public Broadcaster, /// \return \b true if the session transcript was successfully written to /// disk, \b false otherwise. bool SaveTranscript(CommandReturnObject &result, - llvm::Optional<std::string> output_file = std::nullopt); + std::optional<std::string> output_file = std::nullopt); FileSpec GetCurrentSourceDir(); diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp index 180ff9cb9ed5c..4aee2e48a13c4 100644 --- a/lldb/source/Interpreter/CommandInterpreter.cpp +++ b/lldb/source/Interpreter/CommandInterpreter.cpp @@ -3191,7 +3191,7 @@ bool CommandInterpreter::IOHandlerInterrupt(IOHandler &io_handler) { } bool CommandInterpreter::SaveTranscript( - CommandReturnObject &result, llvm::Optional<std::string> output_file) { + CommandReturnObject &result, std::optional<std::string> output_file) { if (output_file == std::nullopt || output_file->empty()) { std::string now = llvm::to_string(std::chrono::system_clock::now()); std::replace(now.begin(), now.end(), ' ', '_'); diff --git a/lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp b/lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp index 66ef90fa96a90..f0e4d0e071142 100644 --- a/lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp +++ b/lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp @@ -65,8 +65,8 @@ Error IntelPTCollector::TraceStop(const TraceStopRequest &request) { /// \return /// some file descriptor in /sys/fs/ associated with the cgroup of the given /// pid, or \a std::nullopt if the pid is not part of a cgroup. -static Optional<int> GetCGroupFileDescriptor(lldb::pid_t pid) { - static Optional<int> fd; +static std::optional<int> GetCGroupFileDescriptor(lldb::pid_t pid) { + static std::optional<int> fd; if (fd) return fd; @@ -119,7 +119,7 @@ Error IntelPTCollector::TraceStart(const TraceIntelPTStartRequest &request) { effective_request.enable_tsc = true; // We try to use cgroup filtering whenever possible - Optional<int> cgroup_fd; + std::optional<int> cgroup_fd; if (!request.disable_cgroup_filtering.value_or(false)) cgroup_fd = GetCGroupFileDescriptor(m_process.GetID()); diff --git a/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.cpp b/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.cpp index 0453de25faf4a..cc7f91f3e1dd4 100644 --- a/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.cpp +++ b/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.cpp @@ -35,7 +35,7 @@ static Error IncludePerfEventParanoidMessageInError(Error &&error) { Expected<std::unique_ptr<IntelPTMultiCoreTrace>> IntelPTMultiCoreTrace::StartOnAllCores(const TraceIntelPTStartRequest &request, NativeProcessProtocol &process, - Optional<int> cgroup_fd) { + std::optional<int> cgroup_fd) { Expected<ArrayRef<cpu_id_t>> cpu_ids = GetAvailableLogicalCoreIDs(); if (!cpu_ids) return cpu_ids.takeError(); diff --git a/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.h b/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.h index b5b420335b438..1f042c63f134a 100644 --- a/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.h +++ b/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.h @@ -43,7 +43,7 @@ class IntelPTMultiCoreTrace : public IntelPTProcessTrace { static llvm::Expected<std::unique_ptr<IntelPTMultiCoreTrace>> StartOnAllCores(const TraceIntelPTStartRequest &request, NativeProcessProtocol &process, - llvm::Optional<int> cgroup_fd = std::nullopt); + std::optional<int> cgroup_fd = std::nullopt); /// Execute the provided callback on each core that is being traced. /// diff --git a/lldb/source/Plugins/Process/Linux/IntelPTSingleBufferTrace.cpp b/lldb/source/Plugins/Process/Linux/IntelPTSingleBufferTrace.cpp index 36ee0260d3d20..f64f29f81f0a1 100644 --- a/lldb/source/Plugins/Process/Linux/IntelPTSingleBufferTrace.cpp +++ b/lldb/source/Plugins/Process/Linux/IntelPTSingleBufferTrace.cpp @@ -228,9 +228,11 @@ Expected<std::vector<uint8_t>> IntelPTSingleBufferTrace::GetIptTrace() { return m_perf_event.GetReadOnlyAuxBuffer(); } -Expected<IntelPTSingleBufferTrace> IntelPTSingleBufferTrace::Start( - const TraceIntelPTStartRequest &request, Optional<lldb::tid_t> tid, - Optional<cpu_id_t> cpu_id, bool disabled, Optional<int> cgroup_fd) { +Expected<IntelPTSingleBufferTrace> +IntelPTSingleBufferTrace::Start(const TraceIntelPTStartRequest &request, + std::optional<lldb::tid_t> tid, + std::optional<cpu_id_t> cpu_id, bool disabled, + std::optional<int> cgroup_fd) { #ifndef PERF_ATTR_SIZE_VER5 return createStringError(inconvertibleErrorCode(), "Intel PT Linux perf event not supported"); diff --git a/lldb/source/Plugins/Process/Linux/IntelPTSingleBufferTrace.h b/lldb/source/Plugins/Process/Linux/IntelPTSingleBufferTrace.h index a61e35b08c345..9427e1ea196bf 100644 --- a/lldb/source/Plugins/Process/Linux/IntelPTSingleBufferTrace.h +++ b/lldb/source/Plugins/Process/Linux/IntelPTSingleBufferTrace.h @@ -50,10 +50,9 @@ class IntelPTSingleBufferTrace { /// A \a IntelPTSingleBufferTrace instance if tracing was successful, or /// an \a llvm::Error otherwise. static llvm::Expected<IntelPTSingleBufferTrace> - Start(const TraceIntelPTStartRequest &request, - llvm::Optional<lldb::tid_t> tid, - llvm::Optional<lldb::cpu_id_t> cpu_id = std::nullopt, - bool disabled = false, llvm::Optional<int> cgroup_fd = std::nullopt); + Start(const TraceIntelPTStartRequest &request, std::optional<lldb::tid_t> tid, + std::optional<lldb::cpu_id_t> cpu_id = std::nullopt, + bool disabled = false, std::optional<int> cgroup_fd = std::nullopt); /// \return /// The bytes requested by a jLLDBTraceGetBinaryData packet that was routed diff --git a/lldb/source/Plugins/Process/Linux/Perf.cpp b/lldb/source/Plugins/Process/Linux/Perf.cpp index a3095c8c103bb..0179455a68d4c 100644 --- a/lldb/source/Plugins/Process/Linux/Perf.cpp +++ b/lldb/source/Plugins/Process/Linux/Perf.cpp @@ -76,9 +76,9 @@ void resource_handle::FileDescriptorDeleter::operator()(long *ptr) { } llvm::Expected<PerfEvent> PerfEvent::Init(perf_event_attr &attr, - Optional<lldb::pid_t> pid, - Optional<lldb::cpu_id_t> cpu, - Optional<long> group_fd, + std::optional<lldb::pid_t> pid, + std::optional<lldb::cpu_id_t> cpu, + std::optional<long> group_fd, unsigned long flags) { errno = 0; long fd = syscall(SYS_perf_event_open, &attr, pid.value_or(-1), @@ -92,8 +92,8 @@ llvm::Expected<PerfEvent> PerfEvent::Init(perf_event_attr &attr, } llvm::Expected<PerfEvent> PerfEvent::Init(perf_event_attr &attr, - Optional<lldb::pid_t> pid, - Optional<lldb::cpu_id_t> cpu) { + std::optional<lldb::pid_t> pid, + std::optional<lldb::cpu_id_t> cpu) { return Init(attr, pid, cpu, -1, 0); } @@ -362,7 +362,7 @@ lldb_private::process_linux::CreateContextSwitchTracePerfEvent( LLDB_LOG(log, "Will create context switch trace buffer of size {0}", data_buffer_size); - Optional<long> group_fd; + std::optional<long> group_fd; if (parent_perf_event) group_fd = parent_perf_event->GetFd(); diff --git a/lldb/source/Plugins/Process/Linux/Perf.h b/lldb/source/Plugins/Process/Linux/Perf.h index fb3fd244664f8..3f326212cdec6 100644 --- a/lldb/source/Plugins/Process/Linux/Perf.h +++ b/lldb/source/Plugins/Process/Linux/Perf.h @@ -107,9 +107,9 @@ class PerfEvent { /// If the perf_event_open syscall was successful, a minimal \a PerfEvent /// instance, or an \a llvm::Error otherwise. static llvm::Expected<PerfEvent> Init(perf_event_attr &attr, - llvm::Optional<lldb::pid_t> pid, - llvm::Optional<lldb::cpu_id_t> cpu, - llvm::Optional<long> group_fd, + std::optional<lldb::pid_t> pid, + std::optional<lldb::cpu_id_t> cpu, + std::optional<long> group_fd, unsigned long flags); /// Create a new performance monitoring event via the perf_event_open syscall @@ -125,8 +125,8 @@ class PerfEvent { /// The process or thread to be monitored by the event. If \b None, then /// all threads and processes are monitored. static llvm::Expected<PerfEvent> - Init(perf_event_attr &attr, llvm::Optional<lldb::pid_t> pid, - llvm::Optional<lldb::cpu_id_t> core = std::nullopt); + Init(perf_event_attr &attr, std::optional<lldb::pid_t> pid, + std::optional<lldb::cpu_id_t> core = std::nullopt); /// Mmap the metadata page and the data and aux buffers of the perf event and /// expose them through \a PerfEvent::GetMetadataPage() , \a _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits