blob: 5f058507c60b1d0abb84d2fb66d67920e4f3e859 [file] [log] [blame]
//===------ 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