Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lldb / source / Plugins / Process / Utility / RegisterInfoAndSetInterface.h
blob7e569dc9ba7844fcb85893100f7ea9b6dcea2fb6
1 //===-- RegisterInfoAndSetInterface.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_REGISTERINFOANDSETINTERFACE_H
10 #define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERINFOANDSETINTERFACE_H
12 #include "RegisterInfoInterface.h"
14 #include "lldb/Utility/ArchSpec.h"
15 #include "lldb/lldb-private-types.h"
16 #include <vector>
18 namespace lldb_private {
20 class RegisterInfoAndSetInterface : public RegisterInfoInterface {
21 public:
22 RegisterInfoAndSetInterface(const lldb_private::ArchSpec &target_arch)
23 : RegisterInfoInterface(target_arch) {}
25 virtual size_t GetFPRSize() const = 0;
27 virtual const lldb_private::RegisterSet *
28 GetRegisterSet(size_t reg_set) const = 0;
30 virtual size_t GetRegisterSetCount() const = 0;
32 virtual size_t GetRegisterSetFromRegisterIndex(uint32_t reg_index) const = 0;
34 } // namespace lldb_private
36 #endif