Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lldb / source / Plugins / Process / Utility / NativeRegisterContextRegisterInfo.h
blob0e96841fd9091dc9adeacad3083ca7f2a0a26710
1 //===-- NativeRegisterContextRegisterInfo.h ---------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
9 #ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTREGISTERINFO_H
10 #define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTREGISTERINFO_H
12 #include <memory>
14 #include "RegisterInfoInterface.h"
15 #include "lldb/Host/common/NativeRegisterContext.h"
17 namespace lldb_private {
18 class NativeRegisterContextRegisterInfo : public NativeRegisterContext {
19 public:
20 ///
21 /// Construct a NativeRegisterContextRegisterInfo, taking ownership
22 /// of the register_info_interface pointer.
23 ///
24 NativeRegisterContextRegisterInfo(
25 NativeThreadProtocol &thread,
26 RegisterInfoInterface *register_info_interface);
28 uint32_t GetRegisterCount() const override;
30 uint32_t GetUserRegisterCount() const override;
32 const RegisterInfo *GetRegisterInfoAtIndex(uint32_t reg_index) const override;
34 const RegisterInfoInterface &GetRegisterInfoInterface() const;
36 protected:
37 std::unique_ptr<RegisterInfoInterface> m_register_info_interface_up;
40 #endif