1 //===- CodeGenRegisters.h - Register and RegisterClass Info -----*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file was developed by the LLVM research group and is distributed under
6 // the University of Illinois Open Source License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file defines structures to encapsulate information gleaned from the
11 // target register and register class definitions.
13 //===----------------------------------------------------------------------===//
15 #ifndef CODEGEN_REGISTERS_H
16 #define CODEGEN_REGISTERS_H
24 /// CodeGenRegister - Represents a register definition.
25 struct CodeGenRegister {
27 const std::string &getName() const;
28 unsigned DeclaredSpillSize, DeclaredSpillAlignment;
29 CodeGenRegister(Record *R);
33 struct CodeGenRegisterClass {
35 std::vector<Record*> Elements;
37 unsigned SpillAlignment;
38 std::string MethodDefinitions;
40 const std::string &getName() const;
42 CodeGenRegisterClass(Record *R);