//===- PresbugerParserTest.cpp - Presburger parsing unit tests --*- 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 // //===----------------------------------------------------------------------===// // // This file contains tests for parsing IntegerSets to IntegerPolyhedron. // The tests with invalid input check that the parser only accepts well-formed // IntegerSets. The tests with well-formed input compare the returned FACs to // manually constructed FACs with a PresburgerSet equality check. // //===----------------------------------------------------------------------===// #include "Parser.h" #include <gtest/gtest.h> usingnamespacemlir; usingnamespacepresburger; /// Construct a IntegerPolyhedron from a set of inequality, equality, and /// division constraints. static IntegerPolyhedron makeFACFromConstraints( unsigned dims, unsigned syms, ArrayRef<SmallVector<int64_t, 4>> ineqs, ArrayRef<SmallVector<int64_t, 4>> eqs = { … } /// Parses and compares the `str` to the `ex`. The equality check is performed /// by using PresburgerSet::isEqual static bool parseAndCompare(StringRef str, const IntegerPolyhedron &ex) { … } TEST(ParseFACTest, ParseAndCompareTest) { … }