1 //===-- R600MachineFunctionInfo.h - R600 Machine Function Info ----*- C++ -*-=//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
13 #ifndef LLVM_LIB_TARGET_R600_AMDGPUMACHINEFUNCTION_H
14 #define LLVM_LIB_TARGET_R600_AMDGPUMACHINEFUNCTION_H
16 #include "llvm/CodeGen/MachineFunction.h"
21 class AMDGPUMachineFunction : public MachineFunctionInfo {
22 virtual void anchor();
26 AMDGPUMachineFunction(const MachineFunction &MF);
27 /// A map to keep track of local memory objects and their offsets within
28 /// the local memory space.
29 std::map<const GlobalValue *, unsigned> LocalMemoryObjects;
30 /// Number of bytes in the LDS that are being used.
33 /// Start of implicit kernel args
34 unsigned ABIArgOffset;
36 unsigned getShaderType() const {
40 bool isKernel() const {
41 // FIXME: Assume everything is a kernel until function calls are supported.