1249259Sdim//===-- R600MachineFunctionInfo.h - R600 Machine Function Info ----*- C++ -*-=//
2249259Sdim//
3249259Sdim//                     The LLVM Compiler Infrastructure
4249259Sdim//
5249259Sdim// This file is distributed under the University of Illinois Open Source
6249259Sdim// License. See LICENSE.TXT for details.
7249259Sdim//
8249259Sdim//===----------------------------------------------------------------------===//
9249259Sdim//
10249259Sdim/// \file
11249259Sdim//===----------------------------------------------------------------------===//
12249259Sdim
13249259Sdim#ifndef AMDGPUMACHINEFUNCTION_H
14249259Sdim#define AMDGPUMACHINEFUNCTION_H
15249259Sdim
16249259Sdim#include "llvm/CodeGen/MachineFunction.h"
17263508Sdim#include <map>
18249259Sdim
19249259Sdimnamespace llvm {
20249259Sdim
21249259Sdimclass AMDGPUMachineFunction : public MachineFunctionInfo {
22263508Sdim  virtual void anchor();
23249259Sdimpublic:
24249259Sdim  AMDGPUMachineFunction(const MachineFunction &MF);
25249259Sdim  unsigned ShaderType;
26263508Sdim  /// A map to keep track of local memory objects and their offsets within
27263508Sdim  /// the local memory space.
28263508Sdim  std::map<const GlobalValue *, unsigned> LocalMemoryObjects;
29263508Sdim  /// Number of bytes in the LDS that are being used.
30263508Sdim  unsigned LDSSize;
31249259Sdim};
32249259Sdim
33249259Sdim}
34249259Sdim#endif // AMDGPUMACHINEFUNCTION_H
35