MLIR
17.0.0git
|
#include "mlir/Analysis/Presburger/PWMAFunction.h"
#include "mlir/Analysis/Presburger/Simplex.h"
#include <optional>
Go to the source code of this file.
Functions | |
static SmallVector< MPInt, 8 > | subtractExprs (ArrayRef< MPInt > vecA, ArrayRef< MPInt > vecB) |
template<OrderingKind comp> | |
static PresburgerSet | tiebreakLex (const PWMAFunction::Piece &pieceA, const PWMAFunction::Piece &pieceB) |
A tiebreak function which breaks ties by comparing the outputs lexicographically based on the given comparison operator. More... | |
static void | addDivisionConstraints (IntegerRelation &rel, const DivisionRepr &divs) |
Adds division constraints corresponding to local variables, given a relation and division representations of the local variables in the relation. More... | |
|
static |
Adds division constraints corresponding to local variables, given a relation and division representations of the local variables in the relation.
Definition at line 390 of file PWMAFunction.cpp.
References mlir::presburger::IntegerRelation::addInequality(), mlir::presburger::DivisionRepr::getDenom(), mlir::presburger::DivisionRepr::getDividend(), mlir::presburger::getDivLowerBound(), mlir::presburger::DivisionRepr::getDivOffset(), mlir::presburger::getDivUpperBound(), mlir::presburger::DivisionRepr::getNumDivs(), mlir::presburger::IntegerRelation::getNumLocalVars(), mlir::presburger::IntegerRelation::getNumVars(), mlir::presburger::DivisionRepr::getNumVars(), and mlir::presburger::DivisionRepr::hasAllReprs().
Referenced by mlir::presburger::MultiAffineFunction::getAsRelation().
|
static |
Definition at line 33 of file PWMAFunction.cpp.
Referenced by mlir::presburger::MultiAffineFunction::getLexSet().
|
static |
A tiebreak function which breaks ties by comparing the outputs lexicographically based on the given comparison operator.
This is templated since it is passed as a lambda.
Definition at line 358 of file PWMAFunction.cpp.
References mlir::presburger::PWMAFunction::Piece::domain, mlir::presburger::MultiAffineFunction::getLexSet(), mlir::presburger::PresburgerSet::intersect(), and mlir::presburger::PWMAFunction::Piece::output.