inner 33 python_bindings/python/Func.h FuncOrStage &func_split(FuncOrStage &that, hh::VarOrRVar var, hh::VarOrRVar outer, hh::VarOrRVar inner, int factor) { inner 34 python_bindings/python/Func.h return that.split(var, outer, inner, factor); inner 19 src/ApplySplit.cpp Expr inner = Variable::make(Int(32), prefix + split.inner); inner 24 src/ApplySplit.cpp dim_extent_alignment[split.inner] = split.factor; inner 27 src/ApplySplit.cpp string base_name = prefix + split.inner + ".base"; inner 59 src/ApplySplit.cpp Expr rebased = outer * split.factor + inner; inner 87 src/ApplySplit.cpp result.push_back(ApplySplitResult(old_var_name, base_var + inner, ApplySplitResult::Substitution)); inner 89 src/ApplySplit.cpp result.push_back(ApplySplitResult(old_var_name, base_var + inner, ApplySplitResult::LetStmt)); inner 95 src/ApplySplit.cpp Expr inner_min = Variable::make(Int(32), prefix + split.inner + ".loop_min"); inner 97 src/ApplySplit.cpp Expr inner_extent = Variable::make(Int(32), prefix + split.inner + ".loop_extent"); inner 105 src/ApplySplit.cpp Expr inner = fused % factor + inner_min; inner 108 src/ApplySplit.cpp result.push_back(ApplySplitResult(prefix + split.inner, inner, ApplySplitResult::Substitution)); inner 110 src/ApplySplit.cpp result.push_back(ApplySplitResult(prefix + split.inner, inner, ApplySplitResult::LetStmt)); inner 115 src/ApplySplit.cpp map<string, Expr>::iterator inner_dim = dim_extent_alignment.find(split.inner); inner 143 src/ApplySplit.cpp let_stmts.push_back({ prefix + split.inner + ".loop_min", 0 }); inner 144 src/ApplySplit.cpp let_stmts.push_back({ prefix + split.inner + ".loop_max", inner_extent-1 }); inner 145 src/ApplySplit.cpp let_stmts.push_back({ prefix + split.inner + ".loop_extent", inner_extent }); inner 151 src/ApplySplit.cpp Expr inner_extent = Variable::make(Int(32), prefix + split.inner + ".loop_extent"); inner 954 src/Bounds.cpp bool box_contains(const Box &outer, const Box &inner) { inner 957 src/Bounds.cpp if (inner.size() > outer.size()) { inner 961 src/Bounds.cpp for (size_t i = 0; i < inner.size(); i++) { inner 963 src/Bounds.cpp (outer[i].min <= inner[i].min) && inner 964 src/Bounds.cpp (outer[i].max >= inner[i].max)); inner 967 src/Bounds.cpp if (inner.maybe_unused()) { inner 969 src/Bounds.cpp condition = condition && ((outer.used && inner.used) == inner.used); inner 443 src/Func.cpp debug(4) << " Splitting " << it->var << " into " << s.outer << " and " << s.inner << "\n"; inner 449 src/Func.cpp it->var = s.inner; inner 473 src/Func.cpp [&s](const ReductionVariable& rv) { return (s.inner == rv.var); }); inner 477 src/Func.cpp debug(4) << " Fusing " << s.outer << " and " << s.inner << " into " << s.old_var << "\n"; inner 905 src/Func.cpp void Stage::split(const string &old, const string &outer, const string &inner, Expr factor, bool exact, TailStrategy tail) { inner 907 src/Func.cpp << outer << " and " << inner << " with factor of " << factor << "\n"; inner 912 src/Func.cpp string new_names[2] = {inner, outer}; inner 932 src/Func.cpp inner_name = old_name + "." + inner; inner 982 src/Func.cpp descends_from_shiftinwards_outer.insert(s.inner); inner 1016 src/Func.cpp Stage &Stage::split(VarOrRVar old, VarOrRVar outer, VarOrRVar inner, Expr factor, TailStrategy tail) { inner 1019 src/Func.cpp user_assert(inner.is_rvar) << "Can't split RVar " << old.name() << " into Var " << inner.name() << "\n"; inner 1022 src/Func.cpp user_assert(!inner.is_rvar) << "Can't split Var " << old.name() << " into RVar " << inner.name() << "\n"; inner 1024 src/Func.cpp split(old.name(), outer.name(), inner.name(), factor, old.is_rvar, tail); inner 1028 src/Func.cpp Stage &Stage::fuse(VarOrRVar inner, VarOrRVar outer, VarOrRVar fused) { inner 1029 src/Func.cpp if (inner.is_rvar) { inner 1030 src/Func.cpp user_assert(outer.is_rvar) << "Can't fuse RVar " << inner.name() inner 1032 src/Func.cpp user_assert(fused.is_rvar) << "Can't fuse RVar " << inner.name() inner 1035 src/Func.cpp user_assert(!outer.is_rvar) << "Can't fuse Var " << inner.name() inner 1037 src/Func.cpp user_assert(!fused.is_rvar) << "Can't fuse Var " << inner.name() inner 1042 src/Func.cpp << " and " << inner.name() << " into " << fused.name() << "\n"; inner 1067 src/Func.cpp if (var_name_match(dims[i].var, inner.name())) { inner 1088 src/Func.cpp << inner.name() inner 1233 src/Func.cpp debug(4) << " checking fuse " << splits[i-1].inner << " and " inner 1234 src/Func.cpp << splits[i-1].inner << " into " << splits[i-1].old_var << "\n"; inner 1235 src/Func.cpp if (splits[i-1].inner == old_name || inner 1247 src/Func.cpp removed_vars.insert(splits[i-1].inner); inner 1251 src/Func.cpp << splits[i-1].outer << " and " << splits[i-1].inner << "\n"; inner 1252 src/Func.cpp if (should_remove(splits[i-1].inner)) { inner 1334 src/Func.cpp if (splits[i-1].inner == old_name || inner 1349 src/Func.cpp if (splits[i-1].inner == old_name) { inner 1350 src/Func.cpp splits[i-1].inner = new_name; inner 1855 src/Func.cpp Func &Func::split(VarOrRVar old, VarOrRVar outer, VarOrRVar inner, Expr factor, TailStrategy tail) { inner 1857 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).split(old, outer, inner, factor, tail); inner 1861 src/Func.cpp Func &Func::fuse(VarOrRVar inner, VarOrRVar outer, VarOrRVar fused) { inner 1863 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).fuse(inner, outer, fused); inner 60 src/Func.h void split(const std::string &old, const std::string &outer, const std::string &inner, inner 175 src/Func.h EXPORT Stage &split(VarOrRVar old, VarOrRVar outer, VarOrRVar inner, Expr factor, TailStrategy tail = TailStrategy::Auto); inner 176 src/Func.h EXPORT Stage &fuse(VarOrRVar inner, VarOrRVar outer, VarOrRVar fused); inner 1109 src/Func.h EXPORT Func &split(VarOrRVar old, VarOrRVar outer, VarOrRVar inner, Expr factor, TailStrategy tail = TailStrategy::Auto); inner 1114 src/Func.h EXPORT Func &fuse(VarOrRVar inner, VarOrRVar outer, VarOrRVar fused); inner 63 src/Inline.cpp << s.splits()[i].inner << " and " << s.splits()[i].outer inner 71 src/Inline.cpp << s.splits()[i].inner << " because " inner 793 src/PartitionLoops.cpp Stmt inner = LetStmt::make(op->name, op->value, f->body); inner 794 src/PartitionLoops.cpp inner = For::make(f->name, f->min, f->extent, f->for_type, f->device_api, inner); inner 795 src/PartitionLoops.cpp stmt = mutate(inner); inner 806 src/PartitionLoops.cpp Stmt inner = LetStmt::make(op->name, op->value, a->body); inner 807 src/PartitionLoops.cpp inner = Allocate::make(a->name, a->type, a->extents, a->condition, inner); inner 808 src/PartitionLoops.cpp stmt = mutate(inner); inner 843 src/PartitionLoops.cpp Stmt inner = IfThenElse::make(op->condition, allocate_a->body, allocate_b->body); inner 844 src/PartitionLoops.cpp inner = Allocate::make(allocate_a->name, allocate_a->type, allocate_a->extents, allocate_a->condition, inner); inner 845 src/PartitionLoops.cpp stmt = mutate(inner); inner 849 src/PartitionLoops.cpp Stmt inner = IfThenElse::make(condition, let_a->body, let_b->body); inner 850 src/PartitionLoops.cpp inner = LetStmt::make(let_a->name, select(condition, let_a->value, let_b->value), inner); inner 851 src/PartitionLoops.cpp inner = LetStmt::make(condition_name, op->condition, inner); inner 852 src/PartitionLoops.cpp stmt = mutate(inner); inner 855 src/PartitionLoops.cpp Stmt inner = let_a->body; inner 856 src/PartitionLoops.cpp inner = substitute(let_a->name, Variable::make(let_a->value.type(), new_name), inner); inner 857 src/PartitionLoops.cpp inner = IfThenElse::make(op->condition, inner, else_case); inner 858 src/PartitionLoops.cpp inner = LetStmt::make(new_name, let_a->value, inner); inner 859 src/PartitionLoops.cpp stmt = mutate(inner); inner 862 src/PartitionLoops.cpp Stmt inner = let_b->body; inner 863 src/PartitionLoops.cpp inner = substitute(let_b->name, Variable::make(let_b->value.type(), new_name), inner); inner 864 src/PartitionLoops.cpp inner = IfThenElse::make(op->condition, then_case, inner); inner 865 src/PartitionLoops.cpp inner = LetStmt::make(new_name, let_b->value, inner); inner 866 src/PartitionLoops.cpp stmt = mutate(inner); inner 871 src/PartitionLoops.cpp Stmt inner = IfThenElse::make(op->condition, for_a->body, for_b->body); inner 872 src/PartitionLoops.cpp inner = For::make(for_a->name, for_a->min, for_a->extent, for_a->for_type, for_a->device_api, inner); inner 873 src/PartitionLoops.cpp stmt = mutate(inner); inner 169 src/Schedule.h std::string old_var, outer, inner; inner 94 test/correctness/introspection.cpp } inner; inner 134 test/correctness/introspection.cpp check(&(obj->inner.c), "char", "inner.c", __FILE__, __LINE__); inner 135 test/correctness/introspection.cpp check(&(obj->inner.d), "double", "inner.d", __FILE__, __LINE__); inner 138 test/correctness/introspection.cpp check(&(obj->inner.i_array[10]), "int", "inner.i_array[10]", __FILE__, __LINE__); inner 140 test/correctness/introspection.cpp check(&(obj->inner.i_array), "int [20]", "inner.i_array", __FILE__, __LINE__); inner 36 test/generator/nested_externs_generator.cpp Output<Buffer<float>> inner{ "inner", 3 }; inner 43 test/generator/nested_externs_generator.cpp inner(x, y, c) = extern_stage_combine(x, y, c); inner 51 test/generator/nested_externs_generator.cpp set_interleaved(inner);