1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org//===-- AMDGPU.h - MachineFunction passes hw codegen --------------*- C++ -*-=// 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// The LLVM Compiler Infrastructure 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// This file is distributed under the University of Illinois Open Source 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// License. See LICENSE.TXT for details. 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org//===----------------------------------------------------------------------===// 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef AMDGPU_H 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define AMDGPU_H 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "AMDGPUTargetMachine.h" 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "llvm/Support/TargetRegistry.h" 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "llvm/Target/TargetMachine.h" 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgnamespace llvm { 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgclass FunctionPass; 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgclass AMDGPUTargetMachine; 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// R600 Passes 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgFunctionPass* createR600KernelParametersPass(const TargetData* TD); 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgFunctionPass *createR600ExpandSpecialInstrsPass(TargetMachine &tm); 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// SI Passes 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgFunctionPass *createSIAssignInterpRegsPass(TargetMachine &tm); 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgFunctionPass *createSICodeEmitterPass(formatted_raw_ostream &OS); 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// Passes common to R600 and SI 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgFunctionPass *createAMDGPUConvertToISAPass(TargetMachine &tm); 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} // End namespace llvm 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif // AMDGPU_H 36