| //===------ IslOstream.h ----------------------------------------*- 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 |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // raw_ostream printers for isl C++ objects. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include "polly/Support/GICHelper.h" |
| #include "llvm/Support/raw_ostream.h" |
| #include "isl/isl-noexceptions.h" |
| namespace polly { |
| |
| #define ADD_OSTREAM_PRINTER(name) \ |
| inline llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, \ |
| const name &Obj) { \ |
| OS << stringFromIslObj(Obj); \ |
| return OS; \ |
| } |
| |
| ADD_OSTREAM_PRINTER(isl::aff) |
| ADD_OSTREAM_PRINTER(isl::ast_expr) |
| ADD_OSTREAM_PRINTER(isl::ast_node) |
| ADD_OSTREAM_PRINTER(isl::basic_map) |
| ADD_OSTREAM_PRINTER(isl::basic_set) |
| ADD_OSTREAM_PRINTER(isl::map) |
| ADD_OSTREAM_PRINTER(isl::set) |
| ADD_OSTREAM_PRINTER(isl::id) |
| ADD_OSTREAM_PRINTER(isl::multi_aff) |
| ADD_OSTREAM_PRINTER(isl::multi_pw_aff) |
| ADD_OSTREAM_PRINTER(isl::multi_union_pw_aff) |
| ADD_OSTREAM_PRINTER(isl::point) |
| ADD_OSTREAM_PRINTER(isl::pw_aff) |
| ADD_OSTREAM_PRINTER(isl::pw_multi_aff) |
| ADD_OSTREAM_PRINTER(isl::schedule) |
| ADD_OSTREAM_PRINTER(isl::schedule_node) |
| ADD_OSTREAM_PRINTER(isl::space) |
| ADD_OSTREAM_PRINTER(isl::union_access_info) |
| ADD_OSTREAM_PRINTER(isl::union_flow) |
| ADD_OSTREAM_PRINTER(isl::union_set) |
| ADD_OSTREAM_PRINTER(isl::union_map) |
| ADD_OSTREAM_PRINTER(isl::union_pw_aff) |
| ADD_OSTREAM_PRINTER(isl::union_pw_multi_aff) |
| } // namespace polly |