aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-09-19 01:35:01 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-09-19 01:35:01 +0000
commita3ca3149f2b59c512c50aab330b5a0d8efddeffa (patch)
treefaf1320f6091e715c283687ab2a5247ca2e74d46 /lib
parentbabbe27007b6b418706d4fe1de3092c8a88fd314 (diff)
Add CopyCost to TargetRegisterClass. This specifies the cost of copying a value
between two registers in the specific class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42123 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/Target.td6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/Target.td b/lib/Target/Target.td
index 4e495fb75c..15213ce283 100644
--- a/lib/Target/Target.td
+++ b/lib/Target/Target.td
@@ -104,6 +104,12 @@ class RegisterClass<string namespace, list<ValueType> regTypes, int alignment,
//
int Alignment = alignment;
+ // CopyCost - This value is used to specify the cost of copying a value
+ // between two registers in this register class. The default value is one
+ // meaning it takes a single instruction to perform the copying. A negative
+ // value means copying is extremely expensive or impossible.
+ int CopyCost = 1;
+
// 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.