Now that self referential classes are supported, get rid of a work-around.
authorChris Lattner <sabre@nondot.org>
Fri, 30 Sep 2005 04:13:23 +0000 (04:13 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 30 Sep 2005 04:13:23 +0000 (04:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23544 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Target.td

index fc79f592047fd07bf79211a3626d1087ea7c0c44..8ef76a611c8ce48d983cbf4b79bd070f564e4e80 100644 (file)
@@ -46,7 +46,7 @@ def isVoid : ValueType<0  , 12>;   // Produces no value
 
 // Register - You should define one instance of this class for each register
 // in the target machine.  String n will become the "name" of the register.
-class RegisterBase<string n> {
+class Register<string n> {
   string Namespace = "";
   string Name = n;
 
@@ -60,10 +60,12 @@ class RegisterBase<string n> {
   // spilling the register.  Like SpillSize, this should only be explicitly
   // specified if the register is not in a register class.
   int SpillAlignment = 0;
-}
 
-class Register<string n> : RegisterBase<n> {
-  list<RegisterBase> Aliases = [];
+  // Aliases - A list of registers that this register overlaps with.  A read or
+  // modification of this register can potentially read or modifie the aliased
+  // registers.
+  //
+  list<Register> Aliases = [];
 }
 
 // RegisterGroup - This can be used to define instances of Register which