forked from OSchip/llvm-project
parent
f9db164355
commit
4f663aae09
|
@ -172,7 +172,7 @@ private:
|
|||
Value *BaseAddr;
|
||||
|
||||
std::string BaseName;
|
||||
isl_basic_map *createBasicAccessMap(ScopStmt *Statement);
|
||||
__isl_give isl_basic_map *createBasicAccessMap(ScopStmt *Statement);
|
||||
ScopStmt *Statement;
|
||||
|
||||
/// @brief Reduction type for reduction like accesses, RT_NONE otherwise
|
||||
|
@ -215,13 +215,13 @@ private:
|
|||
void computeBoundsOnAccessRelation(unsigned ElementSize);
|
||||
|
||||
/// @brief Get the original access function as read from IR.
|
||||
isl_map *getOriginalAccessRelation() const;
|
||||
__isl_give isl_map *getOriginalAccessRelation() const;
|
||||
|
||||
/// @brief Return the space in which the access relation lives in.
|
||||
__isl_give isl_space *getOriginalAccessRelationSpace() const;
|
||||
|
||||
/// @brief Get the new access function imported or set by a pass
|
||||
isl_map *getNewAccessRelation() const;
|
||||
__isl_give isl_map *getNewAccessRelation() const;
|
||||
|
||||
public:
|
||||
/// @brief Create a memory access from an access in LLVM-IR.
|
||||
|
@ -273,7 +273,7 @@ public:
|
|||
|
||||
/// @brief Return the access relation after the schedule was applied.
|
||||
__isl_give isl_pw_multi_aff *
|
||||
applyScheduleToAccessRelation(__isl_keep isl_union_map *Schedule) const;
|
||||
applyScheduleToAccessRelation(__isl_take isl_union_map *Schedule) const;
|
||||
|
||||
/// @brief Get an isl string representing the access function read from IR.
|
||||
std::string getOriginalAccessRelationStr() const;
|
||||
|
@ -301,7 +301,7 @@ public:
|
|||
/// Get the stride of this memory access in the specified Schedule. Schedule
|
||||
/// is a map from the statement to a schedule where the innermost dimension is
|
||||
/// the dimension of the innermost loop containing the statement.
|
||||
isl_set *getStride(__isl_take const isl_map *Schedule) const;
|
||||
__isl_give isl_set *getStride(__isl_take const isl_map *Schedule) const;
|
||||
|
||||
/// Is the stride of the access equal to a certain width? Schedule is a map
|
||||
/// from the statement to a schedule where the innermost dimension is the
|
||||
|
@ -545,7 +545,7 @@ public:
|
|||
/// @brief Get the id of the iteration domain space
|
||||
///
|
||||
/// @return The id of the iteration domain space
|
||||
isl_id *getDomainId() const;
|
||||
__isl_give isl_id *getDomainId() const;
|
||||
|
||||
/// @brief Get an isl string representing this domain.
|
||||
std::string getDomainStr() const;
|
||||
|
@ -554,7 +554,7 @@ public:
|
|||
///
|
||||
/// @return The scattering function of this ScopStmt.
|
||||
__isl_give isl_map *getScattering() const;
|
||||
void setScattering(isl_map *scattering);
|
||||
void setScattering(__isl_take isl_map *scattering);
|
||||
|
||||
/// @brief Get an isl string representing this scattering.
|
||||
std::string getScatteringStr() const;
|
||||
|
|
|
@ -437,12 +437,12 @@ const ScopArrayInfo *MemoryAccess::getScopArrayInfo() const {
|
|||
return SAI;
|
||||
}
|
||||
|
||||
isl_id *MemoryAccess::getArrayId() const {
|
||||
__isl_give isl_id *MemoryAccess::getArrayId() const {
|
||||
return isl_map_get_tuple_id(AccessRelation, isl_dim_out);
|
||||
}
|
||||
|
||||
isl_pw_multi_aff *
|
||||
MemoryAccess::applyScheduleToAccessRelation(isl_union_map *USchedule) const {
|
||||
__isl_give isl_pw_multi_aff *MemoryAccess::applyScheduleToAccessRelation(
|
||||
__isl_take isl_union_map *USchedule) const {
|
||||
isl_map *Schedule, *ScheduledAccRel;
|
||||
isl_union_set *UDomain;
|
||||
|
||||
|
@ -453,7 +453,7 @@ MemoryAccess::applyScheduleToAccessRelation(isl_union_map *USchedule) const {
|
|||
return isl_pw_multi_aff_from_map(ScheduledAccRel);
|
||||
}
|
||||
|
||||
isl_map *MemoryAccess::getOriginalAccessRelation() const {
|
||||
__isl_give isl_map *MemoryAccess::getOriginalAccessRelation() const {
|
||||
return isl_map_copy(AccessRelation);
|
||||
}
|
||||
|
||||
|
@ -465,11 +465,12 @@ __isl_give isl_space *MemoryAccess::getOriginalAccessRelationSpace() const {
|
|||
return isl_map_get_space(AccessRelation);
|
||||
}
|
||||
|
||||
isl_map *MemoryAccess::getNewAccessRelation() const {
|
||||
__isl_give isl_map *MemoryAccess::getNewAccessRelation() const {
|
||||
return isl_map_copy(newAccessRelation);
|
||||
}
|
||||
|
||||
isl_basic_map *MemoryAccess::createBasicAccessMap(ScopStmt *Statement) {
|
||||
__isl_give isl_basic_map *
|
||||
MemoryAccess::createBasicAccessMap(ScopStmt *Statement) {
|
||||
isl_space *Space = isl_space_set_alloc(Statement->getIslCtx(), 0, 1);
|
||||
Space = isl_space_align_params(Space, Statement->getDomainSpace());
|
||||
|
||||
|
@ -709,7 +710,8 @@ static isl_map *getEqualAndLarger(isl_space *setDomain) {
|
|||
return Map;
|
||||
}
|
||||
|
||||
isl_set *MemoryAccess::getStride(__isl_take const isl_map *Schedule) const {
|
||||
__isl_give isl_set *
|
||||
MemoryAccess::getStride(__isl_take const isl_map *Schedule) const {
|
||||
isl_map *S = const_cast<isl_map *>(Schedule);
|
||||
isl_map *AccessRelation = getAccessRelation();
|
||||
isl_space *Space = isl_space_range(isl_map_get_space(S));
|
||||
|
@ -772,7 +774,7 @@ void ScopStmt::restrictDomain(__isl_take isl_set *NewDomain) {
|
|||
Scattering = isl_map_intersect_domain(Scattering, isl_set_copy(Domain));
|
||||
}
|
||||
|
||||
void ScopStmt::setScattering(isl_map *NewScattering) {
|
||||
void ScopStmt::setScattering(__isl_take isl_map *NewScattering) {
|
||||
assert(NewScattering && "New scattering is nullptr");
|
||||
isl_map_free(Scattering);
|
||||
Scattering = NewScattering;
|
||||
|
@ -1189,13 +1191,15 @@ const Loop *ScopStmt::getLoopForDimension(unsigned Dimension) const {
|
|||
|
||||
isl_ctx *ScopStmt::getIslCtx() const { return Parent.getIslCtx(); }
|
||||
|
||||
isl_set *ScopStmt::getDomain() const { return isl_set_copy(Domain); }
|
||||
__isl_give isl_set *ScopStmt::getDomain() const { return isl_set_copy(Domain); }
|
||||
|
||||
isl_space *ScopStmt::getDomainSpace() const {
|
||||
_isl_give isl_space *ScopStmt::getDomainSpace() const {
|
||||
return isl_set_get_space(Domain);
|
||||
}
|
||||
|
||||
isl_id *ScopStmt::getDomainId() const { return isl_set_get_tuple_id(Domain); }
|
||||
__isl_give isl_id *ScopStmt::getDomainId() const {
|
||||
return isl_set_get_tuple_id(Domain);
|
||||
}
|
||||
|
||||
ScopStmt::~ScopStmt() {
|
||||
while (!MemAccs.empty()) {
|
||||
|
|
Loading…
Reference in New Issue