Add support for dwarf register numbering.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27080 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Laskey 2006-03-24 21:13:21 +00:00
parent 5b4939907e
commit 8da17b242f

View File

@ -43,6 +43,13 @@ class Register<string n> {
// registers.
//
list<Register> Aliases = [];
// DwarfNumber - Number used internally by gcc/gdb to identify the register.
// These values can be determined by locating the <target>.h file in the
// directory llvmgcc/gcc/config/<target>/ and looking for REGISTER_NAMES. The
// order of these names correspond to the enumeration used by gcc. A value of
// -1 indicates that the gcc number is undefined.
int DwarfNumber = -1;
}
// RegisterGroup - This can be used to define instances of Register which
@ -91,6 +98,20 @@ class RegisterClass<string namespace, list<ValueType> regTypes, int alignment,
}
//===----------------------------------------------------------------------===//
// DwarfRegNum - This class provides a mapping of the llvm register enumeration
// to the register numbering used by gcc and gdb. These values are used by a
// debug information writer (ex. DwarfWriter) to describe where values may be
// located during execution.
class DwarfRegNum<int N> {
// DwarfNumber - Number used internally by gcc/gdb to identify the register.
// These values can be determined by locating the <target>.h file in the
// directory llvmgcc/gcc/config/<target>/ and looking for REGISTER_NAMES. The
// order of these names correspond to the enumeration used by gcc. A value of
// -1 indicates that the gcc number is undefined.
int DwarfNumber = N;
}
//===----------------------------------------------------------------------===//
// Pull in the common support for scheduling
//