aboutsummaryrefslogtreecommitdiffstats
path: root/utils/TableGen/CodeGenRegisters.h
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2005-12-01 04:51:06 +0000
committerNate Begeman <natebegeman@mac.com>2005-12-01 04:51:06 +0000
commit6510b22cec7de4f0acc9965ec24c3668a6a8a87e (patch)
tree4fadf46880895213994813192581c17f61c3a00d /utils/TableGen/CodeGenRegisters.h
parent5dfc55c304b051a33f4ee30a2e1b4bca85ddb75e (diff)
downloadexternal_llvm-6510b22cec7de4f0acc9965ec24c3668a6a8a87e.zip
external_llvm-6510b22cec7de4f0acc9965ec24c3668a6a8a87e.tar.gz
external_llvm-6510b22cec7de4f0acc9965ec24c3668a6a8a87e.tar.bz2
Support multiple ValueTypes per RegisterClass, needed for upcoming vector
work. This change has no effect on generated code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24563 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenRegisters.h')
-rw-r--r--utils/TableGen/CodeGenRegisters.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/utils/TableGen/CodeGenRegisters.h b/utils/TableGen/CodeGenRegisters.h
index 6a9b790..d719d89 100644
--- a/utils/TableGen/CodeGenRegisters.h
+++ b/utils/TableGen/CodeGenRegisters.h
@@ -35,13 +35,20 @@ namespace llvm {
Record *TheDef;
std::string Namespace;
std::vector<Record*> Elements;
+ std::vector<MVT::ValueType> VTs;
unsigned SpillSize;
unsigned SpillAlignment;
- MVT::ValueType VT;
std::string MethodProtos, MethodBodies;
const std::string &getName() const;
+ const MVT::ValueType getValueTypeNum(unsigned VTNum) const {
+ if (VTNum < VTs.size())
+ return VTs[VTNum];
+ assert(0 && "VTNum greater than number of ValueTypes in RegClass!");
+ abort();
+ }
+
CodeGenRegisterClass(Record *R);
};
}