Restrict sin/cos optimization to 64-bit only for now. 32-bit is a bit messy and less...
[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   bool HasLinearInterpolation;
29   bool HasPerspectiveInterpolation;
30
31   unsigned GetIJLinearIndex() const;
32   unsigned GetIJPerspectiveIndex() const;
33
34 };
35
36 } // End llvm namespace
37
38 #endif //R600MACHINEFUNCTIONINFO_H