LLVM 20.0.0git
DXILMetadata.h
Go to the documentation of this file.
1//===- DXILMetadata.h - DXIL Metadata helper objects ----------------------===//
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/// \file This file contains helper objects for working with DXIL metadata.
10///
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_TARGET_DIRECTX_DXILMETADATA_H
14#define LLVM_TARGET_DIRECTX_DXILMETADATA_H
15
16#include <stdint.h>
17
18namespace llvm {
19class Module;
20class NamedMDNode;
21class VersionTuple;
22namespace dxil {
23
25 NamedMDNode *Entry;
26
27public:
29
30 void update(VersionTuple ValidatorVer);
31
32 bool isEmpty();
34};
35
38void createEntryMD(Module &M, const uint64_t ShaderFlags);
39
40} // namespace dxil
41} // namespace llvm
42
43#endif // LLVM_TARGET_DIRECTX_DXILMETADATA_H
Machine Check Debug Module
A Module instance is used to store all the information related to an LLVM module.
Definition: Module.h:65
A tuple of MDNodes.
Definition: Metadata.h:1730
Represents a version number in the form major[.minor[.subminor[.build]]].
Definition: VersionTuple.h:29
void update(VersionTuple ValidatorVer)
void createShaderModelMD(Module &M)
void createDXILVersionMD(Module &M)
void createEntryMD(Module &M, const uint64_t ShaderFlags)
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18