| //===- DirectXTargetMachine.h - DirectX Target Implementation ---*- C++ -*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| /// |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef LLVM_LIB_TARGET_DIRECTX_DIRECTX_H |
| #define LLVM_LIB_TARGET_DIRECTX_DIRECTX_H |
| |
| namespace llvm { |
| class ModulePass; |
| class PassRegistry; |
| class raw_ostream; |
| |
| /// Initializer for dxil writer pass |
| void initializeWriteDXILPassPass(PassRegistry &); |
| |
| /// Initializer for dxil embedder pass |
| void initializeEmbedDXILPassPass(PassRegistry &); |
| |
| /// Initializer for DXIL-prepare |
| void initializeDXILPrepareModulePass(PassRegistry &); |
| |
| /// Pass to convert modules into DXIL-compatable modules |
| ModulePass *createDXILPrepareModulePass(); |
| |
| /// Initializer for DXILOpLowering |
| void initializeDXILOpLoweringLegacyPass(PassRegistry &); |
| |
| /// Pass to lowering LLVM intrinsic call to DXIL op function call. |
| ModulePass *createDXILOpLoweringLegacyPass(); |
| |
| /// Initializer for DXILTranslateMetadata. |
| void initializeDXILTranslateMetadataPass(PassRegistry &); |
| |
| /// Pass to emit metadata for DXIL. |
| ModulePass *createDXILTranslateMetadataPass(); |
| |
| /// Initializer for DXILTranslateMetadata. |
| void initializeDXILResourceWrapperPass(PassRegistry &); |
| |
| /// Pass to pretty print DXIL metadata. |
| ModulePass *createDXILPrettyPrinterPass(raw_ostream &OS); |
| |
| /// Initializer for DXILPrettyPrinter. |
| void initializeDXILPrettyPrinterPass(PassRegistry &); |
| |
| /// Initializer for dxil::ShaderFlagsAnalysisWrapper pass. |
| void initializeShaderFlagsAnalysisWrapperPass(PassRegistry &); |
| |
| /// Initializer for DXContainerGlobals pass. |
| void initializeDXContainerGlobalsPass(PassRegistry &); |
| |
| /// Pass for generating DXContainer part globals. |
| ModulePass *createDXContainerGlobalsPass(); |
| } // namespace llvm |
| |
| #endif // LLVM_LIB_TARGET_DIRECTX_DIRECTX_H |