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 | 3b338d5566263d7fe4b831899bd42c032c5cd646 (patch) | |
| tree | 46d442b7409003a4401a61586930cfd282f2b188 | |
| parent | 3324c7236fcaafbc6a919d5c346afe644d5b1ba0 (diff) | |
| download | bcm5719-llvm-3b338d5566263d7fe4b831899bd42c032c5cd646.tar.gz bcm5719-llvm-3b338d5566263d7fe4b831899bd42c032c5cd646.zip | |
Add support for dwarf register numbering.
llvm-svn: 27080
| -rw-r--r-- | llvm/lib/Target/Target.td | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/lib/Target/Target.td b/llvm/lib/Target/Target.td index 3fef70785c3..4c846741cae 100644 --- a/llvm/lib/Target/Target.td +++ b/llvm/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" |

