LLDB mainline
ABIX86_i386.cpp
Go to the documentation of this file.
1//===-- ABIX86_i386.cpp ---------------------------------------------------===//
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//===----------------------------------------------------------------------===//
8
9#include "ABIX86_i386.h"
10
11uint32_t ABIX86_i386::GetGenericNum(llvm::StringRef name) {
12 return llvm::StringSwitch<uint32_t>(name)
13 .Case("eip", LLDB_REGNUM_GENERIC_PC)
14 .Case("esp", LLDB_REGNUM_GENERIC_SP)
15 .Case("ebp", LLDB_REGNUM_GENERIC_FP)
16 .Case("eflags", LLDB_REGNUM_GENERIC_FLAGS)
17 .Case("edi", LLDB_REGNUM_GENERIC_ARG1)
18 .Case("esi", LLDB_REGNUM_GENERIC_ARG2)
19 .Case("edx", LLDB_REGNUM_GENERIC_ARG3)
20 .Case("ecx", LLDB_REGNUM_GENERIC_ARG4)
21 .Default(LLDB_INVALID_REGNUM);
22}
uint32_t GetGenericNum(llvm::StringRef name) override
Return the generic number of the given register.
Definition: ABIX86_i386.cpp:11
#define LLDB_REGNUM_GENERIC_SP
Definition: lldb-defines.h:57
#define LLDB_REGNUM_GENERIC_ARG4
Definition: lldb-defines.h:67
#define LLDB_REGNUM_GENERIC_ARG3
Definition: lldb-defines.h:65
#define LLDB_REGNUM_GENERIC_ARG1
Definition: lldb-defines.h:61
#define LLDB_REGNUM_GENERIC_FLAGS
Definition: lldb-defines.h:60
#define LLDB_INVALID_REGNUM
Definition: lldb-defines.h:87
#define LLDB_REGNUM_GENERIC_ARG2
Definition: lldb-defines.h:63
#define LLDB_REGNUM_GENERIC_PC
Definition: lldb-defines.h:56
#define LLDB_REGNUM_GENERIC_FP
Definition: lldb-defines.h:58