1 | //===------ IslOstream.h ----------------------------------------*- C++ -*-===// |
---|---|
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 | // raw_ostream printers for isl C++ objects. |
10 | // |
11 | //===----------------------------------------------------------------------===// |
12 | |
13 | #include "polly/Support/GICHelper.h" |
14 | #include "llvm/Support/raw_ostream.h" |
15 | #include "isl/isl-noexceptions.h" |
16 | namespace polly { |
17 | |
18 | #define ADD_OSTREAM_PRINTER(name) \ |
19 | inline llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, \ |
20 | const name &Obj) { \ |
21 | OS << stringFromIslObj(Obj); \ |
22 | return OS; \ |
23 | } |
24 | |
25 | ADD_OSTREAM_PRINTER(isl::aff) |
26 | ADD_OSTREAM_PRINTER(isl::ast_expr) |
27 | ADD_OSTREAM_PRINTER(isl::ast_node) |
28 | ADD_OSTREAM_PRINTER(isl::basic_map) |
29 | ADD_OSTREAM_PRINTER(isl::basic_set) |
30 | ADD_OSTREAM_PRINTER(isl::map) |
31 | ADD_OSTREAM_PRINTER(isl::set) |
32 | ADD_OSTREAM_PRINTER(isl::id) |
33 | ADD_OSTREAM_PRINTER(isl::multi_aff) |
34 | ADD_OSTREAM_PRINTER(isl::multi_pw_aff) |
35 | ADD_OSTREAM_PRINTER(isl::multi_union_pw_aff) |
36 | ADD_OSTREAM_PRINTER(isl::point) |
37 | ADD_OSTREAM_PRINTER(isl::pw_aff) |
38 | ADD_OSTREAM_PRINTER(isl::pw_multi_aff) |
39 | ADD_OSTREAM_PRINTER(isl::schedule) |
40 | ADD_OSTREAM_PRINTER(isl::schedule_node) |
41 | ADD_OSTREAM_PRINTER(isl::space) |
42 | ADD_OSTREAM_PRINTER(isl::union_access_info) |
43 | ADD_OSTREAM_PRINTER(isl::union_flow) |
44 | ADD_OSTREAM_PRINTER(isl::union_set) |
45 | ADD_OSTREAM_PRINTER(isl::union_map) |
46 | ADD_OSTREAM_PRINTER(isl::union_pw_aff) |
47 | ADD_OSTREAM_PRINTER(isl::union_pw_multi_aff) |
48 | } // namespace polly |
49 |