diff options
author | Tuowen Zhao <ztuowen@gmail.com> | 2016-10-03 14:39:24 -0600 |
---|---|---|
committer | Tuowen Zhao <ztuowen@gmail.com> | 2016-10-03 14:39:24 -0600 |
commit | 342af96cd123860b3fbe0fe9b0669627cefca1cc (patch) | |
tree | b691d3fb21d1c9907076176db6d40137d22d5b1a /include/dep.hh | |
parent | d2176835fc6e497a6c3e19b4630745c3911bde2c (diff) | |
download | chill-342af96cd123860b3fbe0fe9b0669627cefca1cc.tar.gz chill-342af96cd123860b3fbe0fe9b0669627cefca1cc.tar.bz2 chill-342af96cd123860b3fbe0fe9b0669627cefca1cc.zip |
doc
Diffstat (limited to 'include/dep.hh')
-rw-r--r-- | include/dep.hh | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/include/dep.hh b/include/dep.hh index ffd2db5..035d382 100644 --- a/include/dep.hh +++ b/include/dep.hh @@ -6,6 +6,19 @@ #include "ir_code.hh" #include "chill_error.hh" +/*! + * \file + * \brief Data dependence vector and graph. + * + * All dependence vectors are normalized, i.e., the first non-zero distance + * must be positve. Thus the correct dependence meaning can be given based on + * source/destination pair's read/write type. Suppose for a dependence vector + * 1, 0~5, -3), we want to permute the first and the second dimension, + * the result would be two dependence vectors (0, 1, -3) and (1~5, 1, -3). + * All operations on dependence vectors are non-destructive, i.e., new + * dependence vectors are returned. + */ + enum DependenceType { DEP_W2R, DEP_R2W, DEP_W2W, DEP_R2R, DEP_CONTROL, DEP_UNKNOWN }; @@ -21,8 +34,8 @@ struct DependenceVector { bool from_same_stmt; // Manu bool is_reduction_cand; // Manu - bool is_reduction; // used to identify a class of flow dependence - // that can be broken + bool is_reduction; //!< used to identify a class of flow dependencies that can be broken + std::vector<omega::coef_t> lbounds; std::vector<omega::coef_t> ubounds; @@ -54,7 +67,7 @@ struct DependenceVector { bool has_been_carried_before(int dim) const; - // the following functions will be cleaned up or removed later + // TODO the following functions will be cleaned up or removed later bool isZero() const; bool isPositive() const; |