1249259Sdim//===-- AMDGPU.h - MachineFunction passes hw codegen --------------*- 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/// \file 9249259Sdim//===----------------------------------------------------------------------===// 10249259Sdim 11249259Sdim#ifndef AMDGPU_H 12249259Sdim#define AMDGPU_H 13249259Sdim 14249259Sdim#include "AMDGPUTargetMachine.h" 15249259Sdim#include "llvm/Support/TargetRegistry.h" 16249259Sdim#include "llvm/Target/TargetMachine.h" 17249259Sdim 18249259Sdimnamespace llvm { 19249259Sdim 20249259Sdimclass FunctionPass; 21249259Sdimclass AMDGPUTargetMachine; 22249259Sdim 23249259Sdim// R600 Passes 24249259SdimFunctionPass* createR600KernelParametersPass(const DataLayout *TD); 25249259SdimFunctionPass *createR600ExpandSpecialInstrsPass(TargetMachine &tm); 26249259SdimFunctionPass *createR600EmitClauseMarkers(TargetMachine &tm); 27251662SdimFunctionPass *createR600Packetizer(TargetMachine &tm); 28249259SdimFunctionPass *createR600ControlFlowFinalizer(TargetMachine &tm); 29249259Sdim 30249259Sdim// SI Passes 31249259SdimFunctionPass *createSIAnnotateControlFlowPass(); 32249259SdimFunctionPass *createSILowerControlFlowPass(TargetMachine &tm); 33249259SdimFunctionPass *createSICodeEmitterPass(formatted_raw_ostream &OS); 34249259SdimFunctionPass *createSIInsertWaits(TargetMachine &tm); 35249259Sdim 36249259Sdim// Passes common to R600 and SI 37249259SdimPass *createAMDGPUStructurizeCFGPass(); 38249259SdimFunctionPass *createAMDGPUConvertToISAPass(TargetMachine &tm); 39249259SdimFunctionPass* createAMDGPUIndirectAddressingPass(TargetMachine &tm); 40249259Sdim 41249259Sdim} // End namespace llvm 42249259Sdim 43249259Sdimnamespace ShaderType { 44249259Sdim enum Type { 45249259Sdim PIXEL = 0, 46249259Sdim VERTEX = 1, 47249259Sdim GEOMETRY = 2, 48249259Sdim COMPUTE = 3 49249259Sdim }; 50249259Sdim} 51249259Sdim 52249259Sdim#endif // AMDGPU_H 53