aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-29 20:43:05 +0000
committerChris Lattner <sabre@nondot.org>2009-07-29 20:43:05 +0000
commita938ac6223c5fd315ab745086d843df5e0604e09 (patch)
treef227b4a80405e6bbd2ce037939fde9f5a050bdf1 /include
parent2cfd52c507bd5790457a171eb9bcb39019cc6860 (diff)
downloadexternal_llvm-a938ac6223c5fd315ab745086d843df5e0604e09.zip
external_llvm-a938ac6223c5fd315ab745086d843df5e0604e09.tar.gz
external_llvm-a938ac6223c5fd315ab745086d843df5e0604e09.tar.bz2
make ptr_rc derive from a new PointerLikeRegClass tblgen class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77503 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Target/Target.td12
1 files changed, 11 insertions, 1 deletions
diff --git a/include/llvm/Target/Target.td b/include/llvm/Target/Target.td
index bdb5abb..a62036a 100644
--- a/include/llvm/Target/Target.td
+++ b/include/llvm/Target/Target.td
@@ -258,11 +258,21 @@ def ins;
/// of operands.
def variable_ops;
+
+/// PointerLikeRegClass - Values that are designed to have pointer width are
+/// derived from this. TableGen treats the register class as having a symbolic
+/// type that it doesn't know, and resolves the actual regclass to use by using
+/// the TargetRegisterInfo::getPointerRegClass() hook at codegen time.
+class PointerLikeRegClass {
+
+}
+
+
/// ptr_rc definition - Mark this operand as being a pointer value whose
/// register class is resolved dynamically via a callback to TargetInstrInfo.
/// FIXME: We should probably change this to a class which contain a list of
/// flags. But currently we have but one flag.
-def ptr_rc;
+def ptr_rc : PointerLikeRegClass;
/// unknown definition - Mark this operand as being of unknown type, causing
/// it to be resolved by inference in the context it is used.