//===- DebugStringHelper.h - helpers to generate debug strings --*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Convenience functions to make it easier to get a string representation for // ops that have a print method. For use in debugging output and errors // returned. // //===----------------------------------------------------------------------===// #ifndef MLIR_DEBUGSTRINGHELPER_H_ #define MLIR_DEBUGSTRINGHELPER_H_ #include #include "llvm/ADT/Twine.h" #include "llvm/Support/raw_os_ostream.h" #include "llvm/Support/raw_ostream.h" namespace mlir { // Simple helper function that returns a string as printed from a op. template static std::string debugString(T &op) { std::string instr_str; llvm::raw_string_ostream os(instr_str); op.print(os); return os.str(); } } // namespace mlir inline std::ostream &operator<<(std::ostream &out, const llvm::Twine &twine) { llvm::raw_os_ostream rout(out); rout << twine; return out; } #endif // MLIR_DEBUGSTRINGHELPER_H_