aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Target.td
diff options
context:
space:
mode:
authorJim Laskey <jlaskey@mac.com>2006-03-24 21:13:21 +0000
committerJim Laskey <jlaskey@mac.com>2006-03-24 21:13:21 +0000
commit8da17b242ff9935fc3caf2c0ef93f1edeab170d4 (patch)
treecdbfa7d396f050d87ab6b0fcc73a71163ecccc3e /lib/Target/Target.td
parent5b4939907edab7ca3d77b04bc1d436668af50b3b (diff)
downloadexternal_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.td21
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"