[MaximalStaticExpansion] Replace copied function with version from ISLTools
llvm-svn: 331118
This commit is contained in:
parent
06624e1a93
commit
77e871aaf5
|
@ -17,6 +17,7 @@
|
|||
#include "polly/ScopInfo.h"
|
||||
#include "polly/ScopPass.h"
|
||||
#include "polly/Support/GICHelper.h"
|
||||
#include "polly/Support/ISLTools.h"
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
|
||||
|
@ -128,49 +129,6 @@ static bool isDimBoundedByConstant(isl::set Set, unsigned dim) {
|
|||
}
|
||||
#endif
|
||||
|
||||
/// If @p PwAff maps to a constant, return said constant. If @p Max/@p Min, it
|
||||
/// can also be a piecewise constant and it would return the minimum/maximum
|
||||
/// value. Otherwise, return NaN.
|
||||
static isl::val getConstant(isl::pw_aff PwAff, bool Max, bool Min) {
|
||||
assert(!Max || !Min);
|
||||
isl::val Result;
|
||||
PwAff.foreach_piece([=, &Result](isl::set Set, isl::aff Aff) -> isl::stat {
|
||||
if (Result && Result.is_nan())
|
||||
return isl::stat::ok;
|
||||
|
||||
// TODO: If Min/Max, we can also determine a minimum/maximum value if
|
||||
// Set is constant-bounded.
|
||||
if (!Aff.is_cst()) {
|
||||
Result = isl::val::nan(Aff.get_ctx());
|
||||
return isl::stat::error;
|
||||
}
|
||||
|
||||
auto ThisVal = Aff.get_constant_val();
|
||||
if (!Result) {
|
||||
Result = ThisVal;
|
||||
return isl::stat::ok;
|
||||
}
|
||||
|
||||
if (Result.eq(ThisVal))
|
||||
return isl::stat::ok;
|
||||
|
||||
if (Max && ThisVal.gt(Result)) {
|
||||
Result = ThisVal;
|
||||
return isl::stat::ok;
|
||||
}
|
||||
|
||||
if (Min && ThisVal.lt(Result)) {
|
||||
Result = ThisVal;
|
||||
return isl::stat::ok;
|
||||
}
|
||||
|
||||
// Not compatible
|
||||
Result = isl::val::nan(Aff.get_ctx());
|
||||
return isl::stat::error;
|
||||
});
|
||||
return Result;
|
||||
}
|
||||
|
||||
char MaximalStaticExpander::ID = 0;
|
||||
|
||||
isl::union_map MaximalStaticExpander::filterDependences(
|
||||
|
|
Loading…
Reference in New Issue