LLVM 20.0.0git
SPIRV.h
Go to the documentation of this file.
1//===-- SPIRV.h - Top-level interface for SPIR-V representation -*- 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-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_LIB_TARGET_SPIRV_SPIRV_H
10#define LLVM_LIB_TARGET_SPIRV_SPIRV_H
11
15
16namespace llvm {
17class SPIRVTargetMachine;
18class SPIRVSubtarget;
19class InstructionSelector;
20class RegisterBankInfo;
21
22ModulePass *createSPIRVPrepareFunctionsPass(const SPIRVTargetMachine &TM);
23FunctionPass *createSPIRVStructurizerPass();
33 const SPIRVSubtarget &Subtarget,
34 const RegisterBankInfo &RBI);
35
43} // namespace llvm
44
45#endif // LLVM_LIB_TARGET_SPIRV_SPIRV_H
FunctionPass class - This class is used to implement most global optimizations.
Definition: Pass.h:310
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
Definition: Pass.h:251
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...
Definition: PassRegistry.h:37
Holds all the information related to register banks.
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
void initializeSPIRVEmitIntrinsicsPass(PassRegistry &)
FunctionPass * createSPIRVStructurizerPass()
MachineFunctionPass * createSPIRVEmitNonSemanticDIPass(SPIRVTargetMachine *TM)
ModulePass * createSPIRVEmitIntrinsicsPass(SPIRVTargetMachine *TM)
FunctionPass * createSPIRVPreLegalizerPass()
FunctionPass * createSPIRVStripConvergenceIntrinsicsPass()
void initializeSPIRVModuleAnalysisPass(PassRegistry &)
FunctionPass * createSPIRVPostLegalizerPass()
void initializeSPIRVPostLegalizerPass(PassRegistry &)
InstructionSelector * createSPIRVInstructionSelector(const SPIRVTargetMachine &TM, const SPIRVSubtarget &Subtarget, const RegisterBankInfo &RBI)
FunctionPass * createSPIRVRegularizerPass()
void initializeSPIRVStructurizerPass(PassRegistry &)
void initializeSPIRVEmitNonSemanticDIPass(PassRegistry &)
FunctionPass * createSPIRVMergeRegionExitTargetsPass()
void initializeSPIRVPreLegalizerPass(PassRegistry &)
void initializeSPIRVConvergenceRegionAnalysisWrapperPassPass(PassRegistry &)
ModulePass * createSPIRVPrepareFunctionsPass(const SPIRVTargetMachine &TM)