Path: blob/main/contrib/llvm-project/llvm/lib/Target/SPIRV/SPIRV.h
35269 views
//===-- SPIRV.h - Top-level interface for SPIR-V representation -*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_LIB_TARGET_SPIRV_SPIRV_H9#define LLVM_LIB_TARGET_SPIRV_SPIRV_H1011#include "MCTargetDesc/SPIRVMCTargetDesc.h"12#include "llvm/CodeGen/MachineFunctionPass.h"13#include "llvm/Target/TargetMachine.h"1415namespace llvm {16class SPIRVTargetMachine;17class SPIRVSubtarget;18class InstructionSelector;19class RegisterBankInfo;2021ModulePass *createSPIRVPrepareFunctionsPass(const SPIRVTargetMachine &TM);22FunctionPass *createSPIRVMergeRegionExitTargetsPass();23FunctionPass *createSPIRVStripConvergenceIntrinsicsPass();24FunctionPass *createSPIRVRegularizerPass();25FunctionPass *createSPIRVPreLegalizerPass();26FunctionPass *createSPIRVPostLegalizerPass();27ModulePass *createSPIRVEmitIntrinsicsPass(SPIRVTargetMachine *TM);28InstructionSelector *29createSPIRVInstructionSelector(const SPIRVTargetMachine &TM,30const SPIRVSubtarget &Subtarget,31const RegisterBankInfo &RBI);3233void initializeSPIRVModuleAnalysisPass(PassRegistry &);34void initializeSPIRVConvergenceRegionAnalysisWrapperPassPass(PassRegistry &);35void initializeSPIRVPreLegalizerPass(PassRegistry &);36void initializeSPIRVPostLegalizerPass(PassRegistry &);37void initializeSPIRVEmitIntrinsicsPass(PassRegistry &);38} // namespace llvm3940#endif // LLVM_LIB_TARGET_SPIRV_SPIRV_H414243