LLVM 23.0.0git
DXILDebugInfo.h
Go to the documentation of this file.
1//===----- DebugInfo.h - analysis and lowering for Debug info -*- 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// \file Analyze and downgrade debug info metadata to match DXIL (LLVM 3.7).
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_LIB_TARGET_DIRECTX_DXILDEBUGINFO_H
14#define LLVM_LIB_TARGET_DIRECTX_DXILDEBUGINFO_H
15
16#include "llvm/ADT/DenseMap.h"
17
18namespace llvm {
19
20class Module;
21class Metadata;
22
23namespace dxil {
24
26public:
28
29 /// Enumerate extra metadata when Key is encountered in ValueEnumerator.
31
32 /// Completely replace one metadata with another in ValueEnumerator.
34};
35
37
39
40} // namespace DXILDebugInfoPass
41} // namespace dxil
42} // namespace llvm
43
44#endif // LLVM_LIB_TARGET_DIRECTX_DXILDEBUGINFO_H
This file defines the DenseMap class.
Root of the metadata hierarchy.
Definition Metadata.h:64
A Module instance is used to store all the information related to an LLVM module.
Definition Module.h:67
MDMap MDExtra
Enumerate extra metadata when Key is encountered in ValueEnumerator.
MDMap MDReplace
Completely replace one metadata with another in ValueEnumerator.
DenseMap< const Metadata *, const Metadata * > MDMap
DXILDebugInfoMap run(Module &M)
This is an optimization pass for GlobalISel generic memory operations.