54 lines · c
1//===-- AMDGPU.h - MachineFunction passes hw codegen --------------*- C++ -*-=//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7/// \file8//===----------------------------------------------------------------------===//9 10#ifndef LLVM_LIB_TARGET_AMDGPU_R600_H11#define LLVM_LIB_TARGET_AMDGPU_R600_H12 13#include "llvm/Support/CodeGen.h"14 15namespace llvm {16 17class FunctionPass;18class TargetMachine;19class ModulePass;20class PassRegistry;21 22// R600 Passes23FunctionPass *createR600VectorRegMerger();24FunctionPass *createR600ExpandSpecialInstrsPass();25FunctionPass *createR600EmitClauseMarkers();26FunctionPass *createR600ClauseMergePass();27FunctionPass *createR600Packetizer();28FunctionPass *createR600ControlFlowFinalizer();29FunctionPass *createR600MachineCFGStructurizerPass();30FunctionPass *createR600ISelDag(TargetMachine &TM, CodeGenOptLevel OptLevel);31ModulePass *createR600OpenCLImageTypeLoweringPass();32 33void initializeR600ClauseMergePassPass(PassRegistry &);34extern char &R600ClauseMergePassID;35 36void initializeR600ControlFlowFinalizerPass(PassRegistry &);37extern char &R600ControlFlowFinalizerID;38 39void initializeR600ExpandSpecialInstrsPassPass(PassRegistry &);40extern char &R600ExpandSpecialInstrsPassID;41 42void initializeR600VectorRegMergerPass(PassRegistry &);43extern char &R600VectorRegMergerID;44 45void initializeR600PacketizerPass(PassRegistry &);46extern char &R600PacketizerID;47 48void initializeR600EmitClauseMarkersPass(PassRegistry &);49void initializeR600MachineCFGStructurizerPass(PassRegistry &);50 51} // End namespace llvm52 53#endif54