Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lldb / source / Plugins / Process / Utility / NativeRegisterContextDBReg_x86.h
blob4ca288d9dff76ccddfd84b2fc369cb46daf35357
1 //===-- NativeRegisterContextDBReg_x86.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_NativeRegisterContextDBReg_x86_h
10 #define lldb_NativeRegisterContextDBReg_x86_h
12 #include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
14 namespace lldb_private {
16 class NativeRegisterContextDBReg_x86
17 : public virtual NativeRegisterContextRegisterInfo {
18 public:
19 // NB: This constructor is here only because gcc<=6.5 requires a virtual base
20 // class initializer on abstract class (even though it is never used). It can
21 // be deleted once we move to gcc>=7.0.
22 NativeRegisterContextDBReg_x86(NativeThreadProtocol &thread)
23 : NativeRegisterContextRegisterInfo(thread, nullptr) {}
25 Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override;
27 Status GetWatchpointHitIndex(uint32_t &wp_index,
28 lldb::addr_t trap_addr) override;
30 Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override;
32 bool ClearHardwareWatchpoint(uint32_t wp_index) override;
34 Status ClearWatchpointHit(uint32_t wp_index) override;
36 Status ClearAllHardwareWatchpoints() override;
38 Status SetHardwareWatchpointWithIndex(lldb::addr_t addr, size_t size,
39 uint32_t watch_flags,
40 uint32_t wp_index);
42 uint32_t SetHardwareWatchpoint(lldb::addr_t addr, size_t size,
43 uint32_t watch_flags) override;
45 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override;
47 uint32_t NumSupportedHardwareWatchpoints() override;
49 virtual const RegisterInfo *GetDR(int num) const;
52 } // namespace lldb_private
54 #endif // #ifndef lldb_NativeRegisterContextDBReg_x86_h