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