25 #include <util/visitors/apply_var_usage.hpp>
26 #include <util/visitors/partial_eval_exp.hpp>
33 : _lhs(lhs), _rhs(rhs), _replaced(), _usage(
usage), _range(), _usage_map()
35 generateMapFromUsage();
40 generateMapFromRange();
67 const bool SCALAR_USAGE = def.size() == 1;
68 if (LHS_VARIABLE && SCALAR_USAGE) {
69 int new_constant = (def.begin() - lhs_index.
constant(i)) / lhs_index.
factor(i);
81 Index lhs_index(
_lhs);
87 for (
int i = 0; i < dimension; i++) {
90 if (LHS_VARIABLE && RHS_VARIABLE) {
98 }
else if (LHS_VARIABLE && !RHS_VARIABLE) {
105 PartialEvalExp partial_eval;
112 for (
int i = 0; i < dimension; i++) {
114 if (REPLACE_VARIABLE) {
126 PartialEvalExp partial_eval;