aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-07-30 22:16:41 +0000
committerChris Lattner <sabre@nondot.org>2003-07-30 22:16:41 +0000
commit0ad1361837d69b388e0e108862e5eadbde7ea682 (patch)
tree8f14f13ada17e412225fff2d39d3ba5f85351511
parente3a1d054483d6e2551a43232f2c968fc7ce523f2 (diff)
Add comments
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
-rw-r--r--lib/Target/Target.td20
1 files changed, 19 insertions, 1 deletions
diff --git a/lib/Target/Target.td b/lib/Target/Target.td
index d230776a31..e63cd635cc 100644
--- a/lib/Target/Target.td
+++ b/lib/Target/Target.td
@@ -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;
}