37 lines · cpp
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-exception6//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 16void mlirEnableGlobalDebug(bool enable) { llvm::DebugFlag = enable; }17 18bool mlirIsGlobalDebugEnabled() { return llvm::DebugFlag; }19 20void mlirSetGlobalDebugType(const char *type) {21 // Depending on the NDEBUG flag, this name can be either a function or a macro22 // that expands to something that isn't a funciton call, so we cannot23 // explicitly prefix it with `llvm::` or declare `using` it.24 using namespace llvm;25 setCurrentDebugType(type);26}27 28void mlirSetGlobalDebugTypes(const char **types, intptr_t n) {29 using namespace llvm;30 setCurrentDebugTypes(types, n);31}32 33bool mlirIsCurrentDebugType(const char *type) {34 using namespace llvm;35 return isCurrentDebugType(type);36}37