1//===- DirectXTargetMachine.h - DirectX Target Implementation ---*- 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//===----------------------------------------------------------------------===//
10
11#ifndef LLVM_LIB_TARGET_DIRECTX_DIRECTX_H
12#define LLVM_LIB_TARGET_DIRECTX_DIRECTX_H
13
14namespace llvm {
15class ModulePass;
16class PassRegistry;
17class raw_ostream;
18
19/// Initializer for dxil writer pass
20void initializeWriteDXILPassPass(PassRegistry &);
21
22/// Initializer for dxil embedder pass
23void initializeEmbedDXILPassPass(PassRegistry &);
24
25/// Initializer for DXIL-prepare
26void initializeDXILPrepareModulePass(PassRegistry &);
27
28/// Pass to convert modules into DXIL-compatable modules
29ModulePass *createDXILPrepareModulePass();
30
31/// Initializer for DXIL Intrinsic Expansion
32void initializeDXILIntrinsicExpansionLegacyPass(PassRegistry &);
33
34/// Pass to expand intrinsic operations that lack DXIL opCodes
35ModulePass *createDXILIntrinsicExpansionLegacyPass();
36
37/// Initializer for DXILOpLowering
38void initializeDXILOpLoweringLegacyPass(PassRegistry &);
39
40/// Pass to lowering LLVM intrinsic call to DXIL op function call.
41ModulePass *createDXILOpLoweringLegacyPass();
42
43/// Initializer for DXILTranslateMetadata.
44void initializeDXILTranslateMetadataPass(PassRegistry &);
45
46/// Pass to emit metadata for DXIL.
47ModulePass *createDXILTranslateMetadataPass();
48
49/// Initializer for DXILTranslateMetadata.
50void initializeDXILResourceWrapperPass(PassRegistry &);
51
52/// Pass to pretty print DXIL metadata.
53ModulePass *createDXILPrettyPrinterPass(raw_ostream &OS);
54
55/// Initializer for DXILPrettyPrinter.
56void initializeDXILPrettyPrinterPass(PassRegistry &);
57
58/// Initializer for dxil::ShaderFlagsAnalysisWrapper pass.
59void initializeShaderFlagsAnalysisWrapperPass(PassRegistry &);
60
61/// Initializer for DXContainerGlobals pass.
62void initializeDXContainerGlobalsPass(PassRegistry &);
63
64/// Pass for generating DXContainer part globals.
65ModulePass *createDXContainerGlobalsPass();
66} // namespace llvm
67
68#endif // LLVM_LIB_TARGET_DIRECTX_DIRECTX_H
69

source code of llvm/lib/Target/DirectX/DirectX.h