LLVM 22.0.0git
DirectX.h
Go to the documentation of this file.
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 FunctionPass;
16class ModulePass;
17class PassRegistry;
18class raw_ostream;
19
20/// Initializer for dxil writer pass
22
23/// Initializer for dxil embedder pass
25
26/// Initializer for DXIL-prepare
28
29/// Pass to convert modules into DXIL-compatable modules
31
32/// Initializer for DXIL Intrinsic Expansion
34
35/// Pass to expand intrinsic operations that lack DXIL opCodes
37
38/// Initializer for DXIL CBuffer Access Pass
40
41/// Pass to translate loads in the cbuffer address space to intrinsics
43
44/// Initializer for DXIL Data Scalarization Pass
46
47/// Pass to scalarize llvm global data into a DXIL legal form
49
50/// Initializer for DXIL Array Flatten Pass
52
53/// Pass to flatten arrays into a one dimensional DXIL legal form
55
56/// Initializer for DXIL Forward Handle Accesses Pass
58
59/// Pass to eliminate redundant stores and loads from handle globals.
61
62/// Initializer DXIL legalizationPass
64
65/// Pass to Legalize DXIL by remove i8 truncations and i64 insert/extract
66/// elements
68
69/// Initializer for DXILOpLowering
71
72/// Pass to lowering LLVM intrinsic call to DXIL op function call.
74
75/// Initializer for DXILResourceAccess
77
78/// Pass to update resource accesses to use load/store directly.
80
81/// Initializer for DXILResourceImplicitBindingLegacyPass
83
84/// Pass to assign register slots to resources without binding.
86
87/// Initializer for DXILTranslateMetadata.
89
90/// Pass to emit metadata for DXIL.
92
93/// Pass to pretty print DXIL metadata.
95
96/// Initializer for DXILPrettyPrinter.
98
99/// Initializer for DXILPostOptimizationValidation.
101
102/// Pass to lowering LLVM intrinsic call to DXIL op function call.
104
105/// Initializer for dxil::ShaderFlagsAnalysisWrapper pass.
107
108/// Initializer for dxil::RootSignatureAnalysisWrapper pass.
110
111/// Initializer for DXContainerGlobals pass.
113
114/// Pass for generating DXContainer part globals.
116
117/// Initializer for DXILFinalizeLinkage pass.
119
120/// Pass to finalize linkage of functions.
122
123} // namespace llvm
124
125#endif // LLVM_LIB_TARGET_DIRECTX_DIRECTX_H
FunctionPass class - This class is used to implement most global optimizations.
Definition Pass.h:314
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
Definition Pass.h:255
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition raw_ostream.h:53
This is an optimization pass for GlobalISel generic memory operations.
void initializeShaderFlagsAnalysisWrapperPass(PassRegistry &)
Initializer for dxil::ShaderFlagsAnalysisWrapper pass.
FunctionPass * createDXILLegalizeLegacyPass()
Pass to Legalize DXIL by remove i8 truncations and i64 insert/extract elements.
void initializeDXILPrettyPrinterLegacyPass(PassRegistry &)
Initializer for DXILPrettyPrinter.
ModulePass * createDXILDataScalarizationLegacyPass()
Pass to scalarize llvm global data into a DXIL legal form.
ModulePass * createDXILPostOptimizationValidationLegacyPass()
Pass to lowering LLVM intrinsic call to DXIL op function call.
ModulePass * createDXILTranslateMetadataLegacyPass()
Pass to emit metadata for DXIL.
void initializeDXILCBufferAccessLegacyPass(PassRegistry &)
Initializer for DXIL CBuffer Access Pass.
void initializeDXILFlattenArraysLegacyPass(PassRegistry &)
Initializer for DXIL Array Flatten Pass.
void initializeRootSignatureAnalysisWrapperPass(PassRegistry &)
Initializer for dxil::RootSignatureAnalysisWrapper pass.
ModulePass * createDXILPrepareModulePass()
Pass to convert modules into DXIL-compatable modules.
ModulePass * createDXContainerGlobalsPass()
Pass for generating DXContainer part globals.
ModulePass * createDXILCBufferAccessLegacyPass()
Pass to translate loads in the cbuffer address space to intrinsics.
ModulePass * createDXILFlattenArraysLegacyPass()
Pass to flatten arrays into a one dimensional DXIL legal form.
ModulePass * createDXILResourceImplicitBindingLegacyPass()
Pass to assign register slots to resources without binding.
FunctionPass * createDXILResourceAccessLegacyPass()
Pass to update resource accesses to use load/store directly.
LLVM_ABI void initializeDXILResourceImplicitBindingLegacyPass(PassRegistry &)
Initializer for DXILResourceImplicitBindingLegacyPass.
void initializeDXILPrepareModulePass(PassRegistry &)
Initializer for DXIL-prepare.
void initializeDXILForwardHandleAccessesLegacyPass(PassRegistry &)
Initializer for DXIL Forward Handle Accesses Pass.
void initializeDXILDataScalarizationLegacyPass(PassRegistry &)
Initializer for DXIL Data Scalarization Pass.
ModulePass * createDXILFinalizeLinkageLegacyPass()
Pass to finalize linkage of functions.
void initializeEmbedDXILPassPass(PassRegistry &)
Initializer for dxil embedder pass.
ModulePass * createDXILIntrinsicExpansionLegacyPass()
Pass to expand intrinsic operations that lack DXIL opCodes.
void initializeDXILFinalizeLinkageLegacyPass(PassRegistry &)
Initializer for DXILFinalizeLinkage pass.
void initializeDXILIntrinsicExpansionLegacyPass(PassRegistry &)
Initializer for DXIL Intrinsic Expansion.
void initializeDXILLegalizeLegacyPass(PassRegistry &)
Initializer DXIL legalizationPass.
ModulePass * createDXILOpLoweringLegacyPass()
Pass to lowering LLVM intrinsic call to DXIL op function call.
void initializeDXILPostOptimizationValidationLegacyPass(PassRegistry &)
Initializer for DXILPostOptimizationValidation.
void initializeDXILOpLoweringLegacyPass(PassRegistry &)
Initializer for DXILOpLowering.
void initializeWriteDXILPassPass(PassRegistry &)
Initializer for dxil writer pass.
ModulePass * createDXILPrettyPrinterLegacyPass(raw_ostream &OS)
Pass to pretty print DXIL metadata.
void initializeDXContainerGlobalsPass(PassRegistry &)
Initializer for DXContainerGlobals pass.
FunctionPass * createDXILForwardHandleAccessesLegacyPass()
Pass to eliminate redundant stores and loads from handle globals.
void initializeDXILResourceAccessLegacyPass(PassRegistry &)
Initializer for DXILResourceAccess.
void initializeDXILTranslateMetadataLegacyPass(PassRegistry &)
Initializer for DXILTranslateMetadata.