X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2FTableGen%2FCodeGenRegisters.h;h=6f8682be59d3d42fa9b423a30441ea778ef7d3ae;hb=ed2eee63a6858312ed17582d8cb85a6856d8eb34;hp=bf0187a1e65090469c8bdfaab411aa64156dd749;hpb=c67c18fd2378fd2394c42f12b67897e7eba02d5c;p=oota-llvm.git diff --git a/utils/TableGen/CodeGenRegisters.h b/utils/TableGen/CodeGenRegisters.h index bf0187a1e65..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; - std::string MethodDefinitions; + 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); };