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