X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2FTableGen%2FCodeGenRegisters.h;h=6f8682be59d3d42fa9b423a30441ea778ef7d3ae;hb=b4ced5a3c488d58d98381c8562123640fdb6177a;hp=e45311373498fd06b4c32e723003653dc01ca715;hpb=ac46893e246748876d1155bb0c9e8892e52acab7;p=oota-llvm.git diff --git a/utils/TableGen/CodeGenRegisters.h b/utils/TableGen/CodeGenRegisters.h index e4531137349..6f8682be59d 100644 --- a/utils/TableGen/CodeGenRegisters.h +++ b/utils/TableGen/CodeGenRegisters.h @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // @@ -15,8 +15,10 @@ #ifndef CODEGEN_REGISTERS_H #define CODEGEN_REGISTERS_H +#include "llvm/CodeGen/ValueTypes.h" #include #include +#include namespace llvm { class Record; @@ -34,11 +36,23 @@ namespace llvm { Record *TheDef; std::string Namespace; std::vector Elements; + std::vector VTs; unsigned SpillSize; unsigned SpillAlignment; + int CopyCost; + std::vector SubRegClasses; std::string MethodProtos, MethodBodies; const std::string &getName() const; + const std::vector &getValueTypes() const {return VTs;} + unsigned getNumValueTypes() const { return VTs.size(); } + + MVT::SimpleValueType 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); };