LLVM  16.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 namespace llvm {
17 class Module;
18 class NamedMDNode;
19 class VersionTuple;
20 namespace dxil {
21 
23  NamedMDNode *Entry;
24 
25 public:
27 
28  void update(VersionTuple ValidatorVer);
29 
30  bool isEmpty();
31 };
32 
34 
35 } // namespace dxil
36 } // namespace llvm
37 
38 #endif // LLVM_TARGET_DIRECTX_DXILMETADATA_H
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
M
We currently emits eax Perhaps this is what we really should generate is Is imull three or four cycles eax eax The current instruction priority is based on pattern complexity The former is more complex because it folds a load so the latter will not be emitted Perhaps we should use AddedComplexity to give LEA32r a higher priority We should always try to match LEA first since the LEA matching code does some estimate to determine whether the match is profitable if we care more about code then imull is better It s two bytes shorter than movl leal On a Pentium M
Definition: README.txt:252
llvm::NamedMDNode
A tuple of MDNodes.
Definition: Metadata.h:1588
llvm::dxil::ValidatorVersionMD::update
void update(VersionTuple ValidatorVer)
Definition: DXILMetadata.cpp:26
llvm::VersionTuple
Represents a version number in the form major[.minor[.subminor[.build]]].
Definition: VersionTuple.h:31
llvm::dxil::ValidatorVersionMD
Definition: DXILMetadata.h:22
llvm::Module
A Module instance is used to store all the information related to an LLVM module.
Definition: Module.h:65
llvm::dxil::ValidatorVersionMD::ValidatorVersionMD
ValidatorVersionMD(Module &M)
Definition: DXILMetadata.cpp:23
Module
Machine Check Debug Module
Definition: MachineCheckDebugify.cpp:122
llvm::dxil::createShaderModelMD
void createShaderModelMD(Module &M)
Definition: DXILMetadata.cpp:70
llvm::dxil::ValidatorVersionMD::isEmpty
bool isEmpty()
Definition: DXILMetadata.cpp:41