//===------ polly/SCEVAffinator.h - Create isl expressions from SCEVs -----===// // // 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 // //===----------------------------------------------------------------------===// // // Create a polyhedral description for a SCEV value. // //===----------------------------------------------------------------------===// #ifndef POLLY_SCEV_AFFINATOR_H #define POLLY_SCEV_AFFINATOR_H #include "polly/Support/ScopHelper.h" #include "llvm/Analysis/ScalarEvolutionExpressions.h" #include "isl/isl-noexceptions.h" namespace polly { class Scop; /// The result type of the SCEVAffinator. /// /// The first element of the pair is the isl representation of the SCEV, the /// second is the domain under which it is __invalid__. PWACtx; /// Translate a SCEV to an isl::pw_aff and the domain on which it is invalid. class SCEVAffinator final : public llvm::SCEVVisitor<SCEVAffinator, PWACtx> { … }; } // namespace polly #endif