diff options
author | Jim Laskey <jlaskey@mac.com> | 2006-03-24 21:13:21 +0000 |
---|---|---|
committer | Jim Laskey <jlaskey@mac.com> | 2006-03-24 21:13:21 +0000 |
commit | 8da17b242ff9935fc3caf2c0ef93f1edeab170d4 (patch) | |
tree | cdbfa7d396f050d87ab6b0fcc73a71163ecccc3e /lib/Target/Target.td | |
parent | 5b4939907edab7ca3d77b04bc1d436668af50b3b (diff) | |
download | external_llvm-8da17b242ff9935fc3caf2c0ef93f1edeab170d4.zip external_llvm-8da17b242ff9935fc3caf2c0ef93f1edeab170d4.tar.gz external_llvm-8da17b242ff9935fc3caf2c0ef93f1edeab170d4.tar.bz2 |
Add support for dwarf register numbering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27080 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Target.td')
-rw-r--r-- | lib/Target/Target.td | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/Target/Target.td b/lib/Target/Target.td index 3fef707..4c84674 100644 --- a/lib/Target/Target.td +++ b/lib/Target/Target.td @@ -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 @@ -92,6 +99,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 // include "../TargetSchedule.td" |