CIRCT 20.0.0git
Loading...
Searching...
No Matches
DebugInfo.h
Go to the documentation of this file.
1//===- DebugInfo.h - Debug info emission ------------------------*- 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// This file declares entry points to emit debug information.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef CIRCT_TARGET_DEBUGINFO_H
14#define CIRCT_TARGET_DEBUGINFO_H
15
16#include "circt/Support/LLVM.h"
17#include "llvm/Support/raw_ostream.h"
18
19namespace circt {
20namespace debug {
21
22/// Register all debug information emission flavors as from-MLIR translations.
24
25/// Dump the debug information in the given `module` in a human-readable format.
26LogicalResult dumpDebugInfo(Operation *module, llvm::raw_ostream &os);
27
28/// Options for HGLDD emission.
30 /// A prefix prepended to all source file locations. This is useful if the
31 /// tool ingesting the HGLDD file is run from a different directory and
32 /// requires help finding the source files.
33 StringRef sourceFilePrefix = "";
34 /// A prefix prepended to all output file locations. This is useful if the
35 /// tool ingesting the HGLDD file expects generated output files to be
36 /// reported relative to a different directory.
37 StringRef outputFilePrefix = "";
38 /// The directory in which to place HGLDD output files.
39 StringRef outputDirectory = "";
40 /// Only consider location information for files that actually exist on disk.
41 /// This can help strip out placeholder names such as `<stdin>` or
42 /// `<unknown>`, and force the HGLDD file to only refer to files that actually
43 /// exist.
45};
46
47/// Serialize the debug information in the given `module` into the HGLDD format
48/// and writes it to `output`.
49LogicalResult emitHGLDD(Operation *module, llvm::raw_ostream &os,
50 const EmitHGLDDOptions &options = {});
51
52/// Serialize the debug information in the given `module` into the HGLDD format
53/// and emit one companion HGLDD file per emitted HDL file. This requires that
54/// a prior emission pass such as `ExportVerilog` has annotated emission
55/// locations on the operations in `module`.
56LogicalResult emitSplitHGLDD(Operation *module,
57 const EmitHGLDDOptions &options = {});
58
59} // namespace debug
60} // namespace circt
61
62#endif // CIRCT_TARGET_DEBUGINFO_H
LogicalResult emitHGLDD(Operation *module, llvm::raw_ostream &os, const EmitHGLDDOptions &options={})
Serialize the debug information in the given module into the HGLDD format and writes it to output.
void registerTranslations()
Register all debug information emission flavors as from-MLIR translations.
LogicalResult emitSplitHGLDD(Operation *module, const EmitHGLDDOptions &options={})
Serialize the debug information in the given module into the HGLDD format and emit one companion HGLD...
LogicalResult dumpDebugInfo(Operation *module, llvm::raw_ostream &os)
Dump the debug information in the given module in a human-readable format.
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Definition debug.py:1
Options for HGLDD emission.
Definition DebugInfo.h:29
bool onlyExistingFileLocs
Only consider location information for files that actually exist on disk.
Definition DebugInfo.h:44
StringRef outputDirectory
The directory in which to place HGLDD output files.
Definition DebugInfo.h:39
StringRef sourceFilePrefix
A prefix prepended to all source file locations.
Definition DebugInfo.h:33
StringRef outputFilePrefix
A prefix prepended to all output file locations.
Definition DebugInfo.h:37