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: types, Count: n); |
31 | } |
32 | |
33 | bool mlirIsCurrentDebugType(const char *type) { |
34 | using namespace llvm; |
35 | return isCurrentDebugType(Type: type); |
36 | } |
37 |