Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lldb / source / Plugins / Process / Utility / RegisterInfos_x86_64_with_base_shared.h
blob5e4406c1fa275a3a3033fa85be38b45740a872da
1 //===-- RegisterInfos_x86_64_with_base_shared.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 #include "Plugins/Process/Utility/lldb-x86-register-enums.h"
10 #include <stdint.h>
12 #ifndef lldb_RegisterInfos_x86_64_with_base_shared_h
13 #define lldb_RegisterInfos_x86_64_with_base_shared_h
15 #include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
17 namespace lldb_private {
19 struct RegisterInfos_x86_64_with_base_shared {
20 static uint32_t g_contained_eax[];
21 static uint32_t g_contained_ebx[];
22 static uint32_t g_contained_ecx[];
23 static uint32_t g_contained_edx[];
24 static uint32_t g_contained_edi[];
25 static uint32_t g_contained_esi[];
26 static uint32_t g_contained_ebp[];
27 static uint32_t g_contained_esp[];
29 static uint32_t g_invalidate_eax[];
30 static uint32_t g_invalidate_ebx[];
31 static uint32_t g_invalidate_ecx[];
32 static uint32_t g_invalidate_edx[];
33 static uint32_t g_invalidate_edi[];
34 static uint32_t g_invalidate_esi[];
35 static uint32_t g_invalidate_ebp[];
36 static uint32_t g_invalidate_esp[];
38 static uint32_t g_contained_rax[];
39 static uint32_t g_contained_rbx[];
40 static uint32_t g_contained_rcx[];
41 static uint32_t g_contained_rdx[];
42 static uint32_t g_contained_rdi[];
43 static uint32_t g_contained_rsi[];
44 static uint32_t g_contained_rbp[];
45 static uint32_t g_contained_rsp[];
46 static uint32_t g_contained_r8[];
47 static uint32_t g_contained_r9[];
48 static uint32_t g_contained_r10[];
49 static uint32_t g_contained_r11[];
50 static uint32_t g_contained_r12[];
51 static uint32_t g_contained_r13[];
52 static uint32_t g_contained_r14[];
53 static uint32_t g_contained_r15[];
55 static uint32_t g_invalidate_rax[];
56 static uint32_t g_invalidate_rbx[];
57 static uint32_t g_invalidate_rcx[];
58 static uint32_t g_invalidate_rdx[];
59 static uint32_t g_invalidate_rdi[];
60 static uint32_t g_invalidate_rsi[];
61 static uint32_t g_invalidate_rbp[];
62 static uint32_t g_invalidate_rsp[];
63 static uint32_t g_invalidate_r8[];
64 static uint32_t g_invalidate_r9[];
65 static uint32_t g_invalidate_r10[];
66 static uint32_t g_invalidate_r11[];
67 static uint32_t g_invalidate_r12[];
68 static uint32_t g_invalidate_r13[];
69 static uint32_t g_invalidate_r14[];
70 static uint32_t g_invalidate_r15[];
72 static uint32_t g_contained_fip[];
73 static uint32_t g_contained_fdp[];
75 static uint32_t g_invalidate_fip[];
76 static uint32_t g_invalidate_fdp[];
78 static uint32_t g_contained_st0_32[];
79 static uint32_t g_contained_st1_32[];
80 static uint32_t g_contained_st2_32[];
81 static uint32_t g_contained_st3_32[];
82 static uint32_t g_contained_st4_32[];
83 static uint32_t g_contained_st5_32[];
84 static uint32_t g_contained_st6_32[];
85 static uint32_t g_contained_st7_32[];
87 static uint32_t g_invalidate_st0_32[];
88 static uint32_t g_invalidate_st1_32[];
89 static uint32_t g_invalidate_st2_32[];
90 static uint32_t g_invalidate_st3_32[];
91 static uint32_t g_invalidate_st4_32[];
92 static uint32_t g_invalidate_st5_32[];
93 static uint32_t g_invalidate_st6_32[];
94 static uint32_t g_invalidate_st7_32[];
96 static uint32_t g_contained_st0_64[];
97 static uint32_t g_contained_st1_64[];
98 static uint32_t g_contained_st2_64[];
99 static uint32_t g_contained_st3_64[];
100 static uint32_t g_contained_st4_64[];
101 static uint32_t g_contained_st5_64[];
102 static uint32_t g_contained_st6_64[];
103 static uint32_t g_contained_st7_64[];
105 static uint32_t g_invalidate_st0_64[];
106 static uint32_t g_invalidate_st1_64[];
107 static uint32_t g_invalidate_st2_64[];
108 static uint32_t g_invalidate_st3_64[];
109 static uint32_t g_invalidate_st4_64[];
110 static uint32_t g_invalidate_st5_64[];
111 static uint32_t g_invalidate_st6_64[];
112 static uint32_t g_invalidate_st7_64[];
115 struct RegInfo {
116 uint32_t num_registers;
117 uint32_t num_gpr_registers;
118 uint32_t num_fpr_registers;
119 uint32_t num_avx_registers;
121 uint32_t last_gpr;
122 uint32_t first_fpr;
123 uint32_t last_fpr;
125 uint32_t first_st;
126 uint32_t last_st;
127 uint32_t first_mm;
128 uint32_t last_mm;
129 uint32_t first_xmm;
130 uint32_t last_xmm;
131 uint32_t first_ymm;
132 uint32_t last_ymm;
134 uint32_t first_dr;
135 uint32_t gpr_flags;
138 RegInfo &GetRegInfoShared(llvm::Triple::ArchType arch_type, bool with_base);
140 } // namespace lldb_private
142 #endif // ifndef lldb_RegisterInfos_x86_64_with_base_shared_h