Add comments
authorChris Lattner <sabre@nondot.org>
Wed, 30 Jul 2003 22:16:41 +0000 (22:16 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 30 Jul 2003 22:16:41 +0000 (22:16 +0000)
Make the register classes optionally take code fragments for allocation_order_*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7441 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Target.td

index d230776a3167340cc3c8e13be98133908bca3ac2..e63cd635cccb265672be9bb923eea48e9acccdcd 100644 (file)
@@ -10,7 +10,7 @@
 //
 // Value types - These values correspond to the register types defined in the
 // ValueTypes.h file.
-
+//
 class ValueType { string Namespace = "MVT"; }
 
 def i1   : ValueType;    // One bit boolean value
@@ -53,9 +53,27 @@ class RegisterAliases<Register reg, list<Register> aliases> {
 // registers by register allocators.
 //
 class RegisterClass<ValueType regType, int alignment, list<Register> regList> {
+  // RegType - Specify the ValueType of the registers in this register class.
+  // Note that all registers in a register class must have the same ValueType.
+  //
   ValueType RegType = regType;
+
+  // Alignment - Specify the alignment required of the registers when they are
+  // stored or loaded to memory.
+  //
   int Alignment = alignment;
+
+  // MemberList - Specify which registers are in this class.  If the
+  // allocation_order_* method are not specified, this also defines the order of
+  // allocation used by the register allocator.
+  //
   list<Register> MemberList = regList;
+
+  // allocation_order_* - These methods define the order that the registers
+  // should be allocated.  See the MRegister.h file for more information.
+  //
+  code allocation_order_begin;
+  code allocation_order_end;
 }