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