MLIR  20.0.0git
Debug.cpp
Go to the documentation of this file.
1 //===- Debug.cpp - C Interface for MLIR/LLVM Debugging Functions ----------===//
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 #include "mlir-c/Debug.h"
10 #include "mlir-c/Support.h"
11 
12 #include "mlir/CAPI/Support.h"
13 
14 #include "llvm/Support/Debug.h"
15 
16 void mlirEnableGlobalDebug(bool enable) { llvm::DebugFlag = enable; }
17 
18 bool mlirIsGlobalDebugEnabled() { return llvm::DebugFlag; }
19 
20 void mlirSetGlobalDebugType(const char *type) {
21  // Depending on the NDEBUG flag, this name can be either a function or a macro
22  // that expands to something that isn't a funciton call, so we cannot
23  // explicitly prefix it with `llvm::` or declare `using` it.
24  using namespace llvm;
25  setCurrentDebugType(type);
26 }
27 
28 void mlirSetGlobalDebugTypes(const char **types, intptr_t n) {
29  using namespace llvm;
30  setCurrentDebugTypes(types, n);
31 }
32 
33 bool mlirIsCurrentDebugType(const char *type) {
34  using namespace llvm;
35  return isCurrentDebugType(type);
36 }
void mlirSetGlobalDebugTypes(const char **types, intptr_t n)
Sets multiple current debug types, similarly to `-debug-only=type1,type2" in the command-line tools.
Definition: Debug.cpp:28
void mlirEnableGlobalDebug(bool enable)
Sets the global debugging flag.
Definition: Debug.cpp:16
bool mlirIsGlobalDebugEnabled()
Retuns true if the global debugging flag is set, false otherwise.
Definition: Debug.cpp:18
void mlirSetGlobalDebugType(const char *type)
Sets the current debug type, similarly to -debug-only=type in the command-line tools.
Definition: Debug.cpp:20
bool mlirIsCurrentDebugType(const char *type)
Checks if type is set as the current debug type.
Definition: Debug.cpp:33
The OpAsmOpInterface, see OpAsmInterface.td for more details.
Definition: CallGraph.h:229