Changeset View
Changeset View
Standalone View
Standalone View
include/polly/Support/GICHelper.h
Show First 20 Lines • Show All 69 Lines • ▼ Show 20 Lines | inline llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, | ||||
OS << polly::stringFromIslObj(PMA); | OS << polly::stringFromIslObj(PMA); | ||||
return OS; | return OS; | ||||
} | } | ||||
/// @brief Return @p Prefix + @p Val->getName() + @p Suffix but Isl compatible. | /// @brief Return @p Prefix + @p Val->getName() + @p Suffix but Isl compatible. | ||||
std::string getIslCompatibleName(std::string Prefix, const llvm::Value *Val, | std::string getIslCompatibleName(std::string Prefix, const llvm::Value *Val, | ||||
std::string Suffix); | std::string Suffix); | ||||
/// @brief Return @p Aff incremented by @p i | |||||
__isl_give isl_pw_aff *incrementPwAff(__isl_take isl_pw_aff *Aff, int i); | |||||
/// @brief Return the only affine piece of @p PA. | |||||
__isl_give isl_aff *isl_aff_from_pw_aff(__isl_take isl_pw_aff *PA); | |||||
jdoerfert: We might want to put stuff like this [also createAff, createPwAff, etc] into isl to ease… | |||||
/// @brief Return an overestimation of the number of elements in @p S. | |||||
/// | |||||
/// @param S The set of which we want to now a bound on the elements. | |||||
/// @param Dim The number of input dimensions we want to keep. | |||||
/// @param LexMinPtr If not null the lexmin will be returned in here. | |||||
/// @param LexMaxPtr If not null the lexmax will be returned in here. | |||||
/// | |||||
/// @returns A piecewise affine function over approximating the number of | |||||
/// elements in @p S as a function of the first @p Dim dimensions | |||||
/// of @p S. Furthermore the lexicographic minimum/maximum of @p S | |||||
/// in @p LexMinPtr and @p LexMaxPtr if they are given. | |||||
__isl_give isl_pw_multi_aff * | |||||
getNumElementsUB(__isl_take isl_set *S, int Dim, | |||||
__isl_give isl_map **LexMinPtr = nullptr, | |||||
__isl_give isl_map **LexMaxPtr = nullptr); | |||||
jdoerfertAuthorUnsubmitted Not Done ReplyInline ActionsThis function will also be used to determine the number of privatization locations needed. jdoerfert: This function will also be used to determine the number of privatization locations needed. | |||||
/// @brief Return the number of iterations for the outermost dim of @p Schedule. | |||||
__isl_give isl_pw_aff * | |||||
getNumberOfIterationsForSchedule(__isl_take isl_union_map *Schedule); | |||||
} // end namespace polly | } // end namespace polly | ||||
#endif | #endif |
We might want to put stuff like this [also createAff, createPwAff, etc] into isl to ease handling.