#include <string>
#include <vector>
+#include "llvm/CodeGen/ValueTypes.h"
namespace llvm {
class Record;
struct CodeGenRegisterClass {
Record *TheDef;
+ std::string Namespace;
std::vector<Record*> Elements;
+ std::vector<MVT::ValueType> VTs;
unsigned SpillSize;
unsigned SpillAlignment;
- std::string MethodDefinitions;
+ std::string MethodProtos, MethodBodies;
const std::string &getName() const;
+ const std::vector<MVT::ValueType> &getValueTypes() const { return VTs; }
+ unsigned getNumValueTypes() const { return VTs.size(); }
+
+ 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);
};