e97fb5be62ec0e594051c0a7062135fd11be9aa2
[oota-llvm.git] / lib / Target / R600 / R600MachineFunctionInfo.h
1 //===-- R600MachineFunctionInfo.h - R600 Machine Function Info ----*- C++ -*-=//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 /// \file
11 //===----------------------------------------------------------------------===//
12
13 #ifndef R600MACHINEFUNCTIONINFO_H
14 #define R600MACHINEFUNCTIONINFO_H
15
16 #include "llvm/CodeGen/MachineFunction.h"
17 #include "llvm/CodeGen/SelectionDAG.h"
18 #include <vector>
19
20 namespace llvm {
21
22 class R600MachineFunctionInfo : public MachineFunctionInfo {
23
24 public:
25   R600MachineFunctionInfo(const MachineFunction &MF);
26   std::vector<unsigned> ReservedRegs;
27   SDNode *Outputs[16];
28   SDNode *StreamOutputs[64][4];
29   bool HasLinearInterpolation;
30   bool HasPerspectiveInterpolation;
31
32   unsigned GetIJLinearIndex() const;
33   unsigned GetIJPerspectiveIndex() const;
34
35 };
36
37 } // End llvm namespace
38
39 #endif //R600MACHINEFUNCTIONINFO_H