
At the end of the codegen pipeline for DXIL we will emit the DXIL into a global variable in the Module annotated for the "DXIL" section. This will be used by the MCDXContainerStreamer to emit the DXIL into a DXContainer DXIL part. Other parts of the DXContainer will be constructed similarly by serializing their values into GlobalVariables. This will allow DXIL to flow into DXContainers through the normal MCStreamer flow used in the MC layer. Depends on D122270 Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D125334
44 lines
1.4 KiB
C++
44 lines
1.4 KiB
C++
//===- 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;
|
|
|
|
/// 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();
|
|
} // namespace llvm
|
|
|
|
#endif // LLVM_LIB_TARGET_DIRECTX_DIRECTX_H
|