name 322 apps/fft/fft.cpp stage_id << "_S" << S << "_R" << R << "_" << n1.name(); name 447 apps/fft/fft.cpp Var xo(x.name() + "o"); name 448 apps/fft/fft.cpp Var yo(y.name() + "o"); name 480 apps/fft/fft.cpp string prefix = desc.name.empty() ? "c2c_" : desc.name + "_"; name 667 apps/fft/fft.cpp string prefix = desc.name.empty() ? "r2c_" : desc.name + "_"; name 859 apps/fft/fft.cpp string prefix = desc.name.empty() ? "c2r_" : desc.name + "_"; name 38 apps/fft/fft.h std::string name = ""; name 35 apps/fft/funct.h explicit FuncT(const std::string &name) : Func(name) {} name 88 apps/hexagon_benchmarks/process.cpp printf ("Running %s...\n", p->name()); name 101 apps/hexagon_benchmarks/process.cpp printf("Done, time (%s): %g s %s\n", p->name(), time, to_string(m)); name 60 apps/hexagon_benchmarks/process.h virtual const char * name() = 0; name 100 apps/hexagon_benchmarks/process.h const char *name() { return "conv3x3a16"; } name 170 apps/hexagon_benchmarks/process.h const char *name() { return "dilate3x3"; } name 238 apps/hexagon_benchmarks/process.h const char *name() { return "median3x3"; }; name 304 apps/hexagon_benchmarks/process.h const char *name() { return "gaussian5x5"; }; name 372 apps/hexagon_benchmarks/process.h const char *name() { return "sobel"; }; name 461 apps/hexagon_benchmarks/process.h const char *name() { return "conv3x3a32"; } name 44 apps/linear_algebra/benchmarks/cblas_benchmarks.cpp std::string name; name 67 apps/linear_algebra/benchmarks/cblas_benchmarks.cpp BenchmarksBase(std::string n) : name(n) {} name 53 apps/linear_algebra/benchmarks/eigen_benchmarks.cpp Benchmarks(std::string n) : name(n) {} name 101 apps/linear_algebra/benchmarks/eigen_benchmarks.cpp std::string name; name 32 apps/linear_algebra/benchmarks/halide_benchmarks.cpp std::string name; name 57 apps/linear_algebra/benchmarks/halide_benchmarks.cpp BenchmarksBase(std::string n) : name(n) {} name 24 apps/linear_algebra/benchmarks/macros.h std::cout << std::setw(8) << name \ name 45 apps/linear_algebra/benchmarks/macros.h std::cout << std::setw(8) << name \ name 64 apps/linear_algebra/benchmarks/macros.h std::cout << std::setw(8) << name \ name 48 apps/resize/resize.cpp const char *name; name 189 apps/resize/resize.cpp kernelInfo[interpolationType].name); name 11 apps/simd_op_check/driver.cpp const char *name; name 94 apps/simd_op_check/driver.cpp printf("Testing %s\n", f.name); name 13 apps/templates/tests/example_generator.cpp input = ImageParam(type, input.dimensions(), input.name()); name 54 apps/templates/tests/example_test.cpp std::string name = "Example_"; name 55 apps/templates/tests/example_test.cpp name += std::to_string(channels); name 56 apps/templates/tests/example_test.cpp name += (imp == kGLSL) ? "_GLSL" : "_CPU"; name 57 apps/templates/tests/example_test.cpp name += (layout == kChunky) ? "_Chunky" : "_Planar"; name 58 apps/templates/tests/example_test.cpp halide_printf(uc, "\n---------------------------\n%s\n", name.c_str()); name 69 apps/templates/tests/example_test.cpp ScopedTimer timer(uc, name + " halide_copy_to_device input"); name 73 apps/templates/tests/example_test.cpp ScopedTimer timer(uc, name + " halide_copy_to_device output"); name 81 apps/templates/tests/example_test.cpp ScopedTimer timer(uc, name, kIter); name 87 apps/templates/tests/example_test.cpp ScopedTimer timer(uc, name + " halide_copy_to_host"); name 96 apps/templates/tests/example_test.cpp halide_errorf(uc, "Test %s had %d errors!\n\n", name.c_str(), errors); name 98 apps/templates/tests/example_test.cpp halide_printf(uc, "Test %s had no errors.\n\n", name.c_str()); name 33 python_bindings/python/Argument.cpp .def_readonly("name", &Argument::name, "The name of the argument."); name 177 python_bindings/python/Func.cpp repr = boost::str(f % func.name()); name 416 python_bindings/python/Func.cpp func_class.def("name", &Func::name, p::arg("self"), name 31 python_bindings/python/Func_Stage.cpp .def("name", &Stage::name, p::arg("self"), name 24 python_bindings/python/Func_VarOrRVar.cpp .def("name", &VarOrRVar::name, p::arg("self"), p::return_value_policy<p::copy_const_reference>()) name 15 python_bindings/python/InlineReductions.cpp h::Expr sum0(h::Expr e, const std::string name) { name 16 python_bindings/python/InlineReductions.cpp return h::sum(e, name); name 19 python_bindings/python/InlineReductions.cpp h::Expr sum1(h::RDom r, h::Expr e, const std::string name) { name 20 python_bindings/python/InlineReductions.cpp return h::sum(r, e, name); name 23 python_bindings/python/InlineReductions.cpp h::Expr product0(h::Expr e, const std::string name) { name 24 python_bindings/python/InlineReductions.cpp return h::product(e, name); name 27 python_bindings/python/InlineReductions.cpp h::Expr product1(h::RDom r, h::Expr e, const std::string name) { name 28 python_bindings/python/InlineReductions.cpp return h::product(r, e, name); name 31 python_bindings/python/InlineReductions.cpp h::Expr maximum0(h::Expr e, const std::string name) { name 32 python_bindings/python/InlineReductions.cpp return h::maximum(e, name); name 35 python_bindings/python/InlineReductions.cpp h::Expr maximum1(h::RDom r, h::Expr e, const std::string name) { name 36 python_bindings/python/InlineReductions.cpp return h::maximum(r, e, name); name 39 python_bindings/python/InlineReductions.cpp h::Expr minimum0(h::Expr e, const std::string name) { name 40 python_bindings/python/InlineReductions.cpp return h::minimum(e, name); name 43 python_bindings/python/InlineReductions.cpp h::Expr minimum1(h::RDom r, h::Expr e, const std::string name) { name 44 python_bindings/python/InlineReductions.cpp return h::minimum(r, e, name); name 47 python_bindings/python/InlineReductions.cpp p::object argmin0(h::Expr e, const std::string name) { name 48 python_bindings/python/InlineReductions.cpp return expr_vector_to_python_tuple(h::argmin(e, name).as_vector()); name 51 python_bindings/python/InlineReductions.cpp p::object argmin1(h::RDom r, h::Expr e, const std::string name) { name 52 python_bindings/python/InlineReductions.cpp return expr_vector_to_python_tuple(h::argmin(r, e, name).as_vector()); name 55 python_bindings/python/InlineReductions.cpp p::object argmax0(h::Expr e, const std::string name) { name 56 python_bindings/python/InlineReductions.cpp return expr_vector_to_python_tuple(h::argmin(e, name).as_vector()); name 59 python_bindings/python/InlineReductions.cpp p::object argmax1(h::RDom r, h::Expr e, const std::string name) { name 60 python_bindings/python/InlineReductions.cpp return expr_vector_to_python_tuple(h::argmax(r, e, name).as_vector()); name 45 python_bindings/python/Param.cpp repr = boost::str(f % param.name()); name 48 python_bindings/python/Param.cpp repr = boost::str(f % param.name() % name 80 python_bindings/python/Param.cpp .def("name", &ImageParam::name, p::arg("self"), name 288 python_bindings/python/Param.cpp repr = boost::str(f % param.name() % type_code_to_string(t) % t.bits()); name 326 python_bindings/python/Param.cpp .def("name", &Param<T>::name, p::arg("self"), name 410 python_bindings/python/Param.cpp p::object create_param0_impl(h::Type type, std::string name) { name 412 python_bindings/python/Param.cpp if (name != "") { name 413 python_bindings/python/Param.cpp return create_param_object<T>(name); name 418 python_bindings/python/Param.cpp return create_param0_impl<Types...>(type, name); // keep recursing name 530 python_bindings/python/Param.cpp p::object call_create_param_object(T true_val, std::string name) { name 531 python_bindings/python/Param.cpp return create_param_object<T>(name, true_val); name 535 python_bindings/python/Param.cpp p::object call_create_param_object(T true_val, std::string name, h::Expr min, h::Expr max) { name 536 python_bindings/python/Param.cpp return create_param_object<T>(name, true_val, min, max); name 570 python_bindings/python/Param.cpp static p::object create_param1(h::Type type, std::string name) { name 574 python_bindings/python/Param.cpp float, double>(type, name); name 581 python_bindings/python/Param.cpp static p::object create_param3(h::Type type, std::string name, p::object val) { name 582 python_bindings/python/Param.cpp return create_param1_impl_t<pixel_types_t, std::string>()(type, val, name); name 589 python_bindings/python/Param.cpp static p::object create_param5(h::Type type, std::string name, p::object val, h::Expr min, h::Expr max) { name 590 python_bindings/python/Param.cpp return create_param1_impl_t<pixel_types_t, std::string, h::Expr, h::Expr>()(type, val, name, min, max); name 40 python_bindings/python/RDom.cpp .def("name", &RVar::name, p::arg("self"), name 52 python_bindings/python/RDom.cpp h::RDom *RDom_constructor0(p::tuple args, std::string name = "") { name 82 python_bindings/python/RDom.cpp return new h::RDom(ranges, name); name 86 python_bindings/python/RDom.cpp std::string name = "") { name 89 python_bindings/python/RDom.cpp return new h::RDom(ranges, name); name 94 python_bindings/python/RDom.cpp std::string name = "") { name 98 python_bindings/python/RDom.cpp return new h::RDom(ranges, name); name 104 python_bindings/python/RDom.cpp std::string name = "") { name 109 python_bindings/python/RDom.cpp return new h::RDom(ranges, name); name 116 python_bindings/python/RDom.cpp std::string name = "") { name 122 python_bindings/python/RDom.cpp return new h::RDom(ranges, name); name 18 python_bindings/python/Var.cpp bool var_is_implicit1(const std::string name) { name 19 python_bindings/python/Var.cpp return h::Var::is_implicit(name); name 26 python_bindings/python/Var.cpp int var_implicit_index1(const std::string name) { name 27 python_bindings/python/Var.cpp return h::Var::is_implicit(name); name 34 python_bindings/python/Var.cpp bool var_is_placeholder1(const std::string name) { name 35 python_bindings/python/Var.cpp return h::Var::is_placeholder(name); name 45 python_bindings/python/Var.cpp repr = boost::str(f % var.name()); name 66 python_bindings/python/Var.cpp .def("name", &Var::name, p::arg("self"), name 38 src/AddImageChecks.cpp buffers[op->name] = r; name 44 src/AddImageChecks.cpp buffers[op->name] = r; name 51 src/AddImageChecks.cpp buffers.find(op->param.name()) == buffers.end()) { name 56 src/AddImageChecks.cpp buffers[op->param.name()] = r; name 84 src/AddImageChecks.cpp bufs[f.name() + '.' + std::to_string(i)] = output_buffer; name 86 src/AddImageChecks.cpp bufs[f.name()] = output_buffer; name 118 src/AddImageChecks.cpp const string &name = buf.first; name 123 src/AddImageChecks.cpp Expr min_required = Variable::make(Int(32), name + ".min." + dim + ".required"); name 124 src/AddImageChecks.cpp replace_with_required[name + ".min." + dim] = min_required; name 126 src/AddImageChecks.cpp Expr extent_required = Variable::make(Int(32), name + ".extent." + dim + ".required"); name 127 src/AddImageChecks.cpp replace_with_required[name + ".extent." + dim] = simplify(extent_required); name 129 src/AddImageChecks.cpp Expr stride_required = Variable::make(Int(32), name + ".stride." + dim + ".required"); name 130 src/AddImageChecks.cpp replace_with_required[name + ".stride." + dim] = stride_required; name 141 src/AddImageChecks.cpp const string &name = buf.first; name 150 src/AddImageChecks.cpp string buffer_name = name; name 158 src/AddImageChecks.cpp buffer_name = f.name(); name 181 src/AddImageChecks.cpp args[j].image_param.name() == param.name()) || name 183 src/AddImageChecks.cpp args[j].buffer.name() == param.name())) { name 195 src/AddImageChecks.cpp param.name() + ".bounds_query." + extern_user); name 210 src/AddImageChecks.cpp Expr handle = Variable::make(type_of<buffer_t *>(), name + ".buffer", name 218 src/AddImageChecks.cpp error_name += " buffer " + name; name 222 src/AddImageChecks.cpp string type_code_name = name + ".type.code"; name 223 src/AddImageChecks.cpp string type_bits_name = name + ".type.bits"; name 224 src/AddImageChecks.cpp string type_lanes_name = name + ".type.lanes"; name 241 src/AddImageChecks.cpp debug(3) << "Image " << name << " is only used when " << touched.used << "\n"; name 245 src/AddImageChecks.cpp debug(3) << "In image " << name << " region touched is:\n"; name 249 src/AddImageChecks.cpp string actual_min_name = name + ".min." + dim; name 250 src/AddImageChecks.cpp string actual_extent_name = name + ".extent." + dim; name 251 src/AddImageChecks.cpp string actual_stride_name = name + ".stride." + dim; name 257 src/AddImageChecks.cpp user_error << "Buffer " << name name 270 src/AddImageChecks.cpp string min_required_name = name + ".min." + dim + ".required"; name 271 src/AddImageChecks.cpp string extent_required_name = name + ".extent." + dim + ".required"; name 306 src/AddImageChecks.cpp stride_required = (Variable::make(Int(32), name + ".stride." + last_dim + ".required") * name 307 src/AddImageChecks.cpp Variable::make(Int(32), name + ".extent." + last_dim + ".required")); name 309 src/AddImageChecks.cpp lets_required.push_back({ name + ".stride." + dim + ".required", stride_required }); name 322 src/AddImageChecks.cpp {name, actual_size, max_size}, Call::Extern); name 329 src/AddImageChecks.cpp lets_overflow.push_back({ name + ".total_extent." + dim, cast<int64_t>(actual_extent) }); name 332 src/AddImageChecks.cpp Expr last_dim = Variable::make(Int(64), name + ".total_extent." + std::to_string(j-1)); name 334 src/AddImageChecks.cpp Expr this_dim_var = Variable::make(Int(64), name + ".total_extent." + dim); name 335 src/AddImageChecks.cpp lets_overflow.push_back({ name + ".total_extent." + dim, this_dim }); name 337 src/AddImageChecks.cpp {name, this_dim_var, max_size}, Call::Extern); name 352 src/AddImageChecks.cpp builder.buffer_memory = Variable::make(type_of<struct halide_buffer_t *>(), name + ".buffer"); name 360 src/AddImageChecks.cpp builder.mins.push_back(Variable::make(Int(32), name + ".min." + dim + ".proposed")); name 361 src/AddImageChecks.cpp builder.extents.push_back(Variable::make(Int(32), name + ".extent." + dim + ".proposed")); name 362 src/AddImageChecks.cpp builder.strides.push_back(Variable::make(Int(32), name + ".stride." + dim + ".proposed")); name 373 src/AddImageChecks.cpp string min_name = name + ".min." + dim; name 374 src/AddImageChecks.cpp string stride_name = name + ".stride." + dim; name 375 src/AddImageChecks.cpp string extent_name = name + ".extent." + dim; name 391 src/AddImageChecks.cpp debug(2) << "Injecting constraints for " << name << "." << i << "\n"; name 481 src/AddImageChecks.cpp const string &name = var.as<Variable>()->name; name 482 src/AddImageChecks.cpp Expr constrained_var = Variable::make(Int(32), name + ".constrained"); name 488 src/AddImageChecks.cpp replace_with_constrained[name] = constrained_var; name 490 src/AddImageChecks.cpp lets_constrained.push_back({ name + ".constrained", constraints[i].second }); name 493 src/AddImageChecks.cpp {name, var, constrained_var_str, constrained_var}, name 500 src/AddImageChecks.cpp string host_name = name; name 506 src/AddImageChecks.cpp {name, alignment_required}, Call::Extern); name 24 src/AddParameterChecks.cpp params[op->name] = op->param; name 65 src/AddParameterChecks.cpp param.name() name 75 src/AddParameterChecks.cpp param.name() name 38 src/AlignLoads.cpp return mutate(Load::make(load->type.with_lanes(index.type().lanes()), load->name, name 159 src/AlignLoads.cpp alignment_info.push(op->name, modulus_remainder(op->value, alignment_info)); name 166 src/AlignLoads.cpp alignment_info.pop(op->name); name 170 src/AlignLoads.cpp result = LetType::make(op->name, value, body); name 28 src/AllocationBoundsInference.cpp map<string, Function>::const_iterator iter = env.find(op->name); name 34 src/AllocationBoundsInference.cpp Box b = box_touched(op->body, op->name, empty_scope, func_bounds); name 35 src/AllocationBoundsInference.cpp if (touched_by_extern.count(f.name())) { name 41 src/AllocationBoundsInference.cpp string prefix = op->name + ".s0." + f_args[i]; name 51 src/AllocationBoundsInference.cpp stmt = Realize::make(op->name, op->types, op->bounds, op->condition, new_body); name 65 src/AllocationBoundsInference.cpp string prefix = op->name + "." + f_args[i]; name 70 src/AllocationBoundsInference.cpp user_error << op->name << " is accessed over an unbounded domain in dimension " name 108 src/AllocationBoundsInference.cpp {f_args[i], f.name(), min_var, max_var, b[i].min, b[i].max}, name 133 src/AllocationBoundsInference.cpp touched_by_extern.insert(f.name()); name 138 src/AllocationBoundsInference.cpp touched_by_extern.insert(input.name()); name 26 src/ApplySplit.h std::string name; name 33 src/ApplySplit.h : name(n), value(val), type(t) {} name 34 src/ApplySplit.h ApplySplitResult(Expr val) : name(""), value(val), type(Predicate) {} name 24 src/Argument.h std::string name; name 65 src/Argument.h name(_name), kind(_kind), dimensions((uint8_t) _dimensions), type(_type), def(_def), min(_min), max(_max) { name 79 src/Argument.h name(im.name()), name 91 src/Argument.h return name == rhs.name && name 58 src/Associativity.cpp if ((op->call_type == Call::Halide) && (func == op->name)) { name 65 src/Associativity.cpp debug(5) << "Self-reference of " << op->name name 73 src/Associativity.cpp debug(5) << " Substituting Call " << op->name << " at value index " name 111 src/Associativity.cpp if ((xvar == nullptr) || (xvar->name != x_names[i])) { name 13 src/BoundaryConditions.cpp source.name() << "has.\n"; name 27 src/BoundaryConditions.cpp << " of Func " << source.name() << "\n"; name 47 src/BoundaryConditions.cpp source.name() << "has.\n"; name 61 src/BoundaryConditions.cpp << " of Func " << source.name() << "\n"; name 91 src/BoundaryConditions.cpp source.name() << "has.\n"; name 113 src/BoundaryConditions.cpp << " of Func " << source.name() << "\n"; name 132 src/BoundaryConditions.cpp source.name() << "has.\n"; name 154 src/BoundaryConditions.cpp << " of Func " << source.name() << "\n"; name 173 src/BoundaryConditions.cpp source.name() << "has.\n"; name 200 src/BoundaryConditions.cpp << " of Func " << source.name() << "\n"; name 92 src/Bounds.cpp void bounds_of_func(string name, int value_index, Type t) { name 96 src/Bounds.cpp pair<string, int> key = { name, value_index }; name 206 src/Bounds.cpp if (scope.contains(op->name)) { name 207 src/Bounds.cpp interval = scope.get(op->name); name 553 src/Bounds.cpp Load::make(op->type.element_of(), op->name, interval.min, name 604 src/Bounds.cpp Expr call = Call::make(t, op->name, new_args, op->call_type, name 647 src/Bounds.cpp (op->name == "ceil_f32" || op->name == "ceil_f64" || name 648 src/Bounds.cpp op->name == "floor_f32" || op->name == "floor_f64" || name 649 src/Bounds.cpp op->name == "round_f32" || op->name == "round_f64" || name 650 src/Bounds.cpp op->name == "exp_f32" || op->name == "exp_f64" || name 651 src/Bounds.cpp op->name == "log_f32" || op->name == "log_f64")) { name 655 src/Bounds.cpp Call::make(t, op->name, {interval.min}, op->call_type, name 657 src/Bounds.cpp Call::make(t, op->name, {interval.max}, op->call_type, name 660 src/Bounds.cpp } else if (op->name == Call::buffer_get_min || name 661 src/Bounds.cpp op->name == Call::buffer_get_max) { name 676 src/Bounds.cpp bounds_of_func(op->name, op->value_index, op->type); name 691 src/Bounds.cpp string min_name = op->name + ".min"; name 692 src/Bounds.cpp string max_name = op->name + ".max"; name 714 src/Bounds.cpp scope.push(op->name, var); name 716 src/Bounds.cpp scope.pop(op->name); name 1019 src/Bounds.cpp if (op->name == func || func.empty()) { name 1025 src/Bounds.cpp merge_boxes(boxes[op->name], b); name 1065 src/Bounds.cpp scope.push(op->name, value_bounds); name 1067 src/Bounds.cpp scope.pop(op->name); name 1072 src/Bounds.cpp scope.push(op->name, Interval(Variable::make(op->value.type(), min_name), name 1075 src/Bounds.cpp scope.pop(op->name); name 1139 src/Bounds.cpp if (var_a && scope.contains(var_a->name)) { name 1140 src/Bounds.cpp Interval i = scope.get(var_a->name); name 1173 src/Bounds.cpp scope.push(var_a->name, i); name 1174 src/Bounds.cpp var_to_pop = var_a->name; name 1175 src/Bounds.cpp } else if (var_b && scope.contains(var_b->name)) { name 1176 src/Bounds.cpp Interval i = scope.get(var_b->name); name 1204 src/Bounds.cpp scope.push(var_b->name, i); name 1205 src/Bounds.cpp var_to_pop = var_b->name; name 1271 src/Bounds.cpp if (scope.contains(op->name + ".loop_min")) { name 1272 src/Bounds.cpp min_val = scope.get(op->name + ".loop_min").min; name 1277 src/Bounds.cpp if (scope.contains(op->name + ".loop_max")) { name 1278 src/Bounds.cpp max_val = scope.get(op->name + ".loop_max").max; name 1285 src/Bounds.cpp scope.push(op->name, Interval(min_val, max_val)); name 1287 src/Bounds.cpp scope.pop(op->name); name 1292 src/Bounds.cpp if (op->name == func || func.empty()) { name 1297 src/Bounds.cpp merge_boxes(boxes[op->name], b); name 1426 src/Bounds.cpp pair<string, int> key = { f.name(), j }; name 24 src/BoundsInference.cpp if (ends_with(var->name, ".max") || name 25 src/BoundsInference.cpp ends_with(var->name, ".min")) { name 31 src/BoundsInference.cpp if (op->name == Call::buffer_get_min || name 32 src/BoundsInference.cpp op->name == Call::buffer_get_max) { name 74 src/BoundsInference.cpp if (op->name == var) { name 77 src/BoundsInference.cpp scope.push(op->name, in); name 79 src/BoundsInference.cpp scope.pop(op->name); name 86 src/BoundsInference.cpp Interval in(Variable::make(Int(32), op->name + ".loop_min"), name 87 src/BoundsInference.cpp Variable::make(Int(32), op->name + ".loop_max")); name 89 src/BoundsInference.cpp if (op->name == var) { name 92 src/BoundsInference.cpp scope.push(op->name, in); name 94 src/BoundsInference.cpp scope.pop(op->name); name 125 src/BoundsInference.cpp string name; name 249 src/BoundsInference.cpp if ((!var) || (var->name != dim)) { name 305 src/BoundsInference.cpp string last_stage = func.name() + ".s" + std::to_string(stages) + "."; name 341 src/BoundsInference.cpp string outer_query_name = func.name() + ".outer_bounds_query"; name 343 src/BoundsInference.cpp string inner_query_name = func.name() + ".o0.bounds_query"; name 362 src/BoundsInference.cpp s = LetStmt::make(func.name() + ".s0." + func_args[i] + ".max", new_max, s); name 363 src/BoundsInference.cpp s = LetStmt::make(func.name() + ".s0." + func_args[i] + ".min", new_min, s); name 370 src/BoundsInference.cpp s = LetStmt::make(func.name() + ".outer_bounds_query", name 371 src/BoundsInference.cpp Variable::make(type_of<struct halide_buffer_t *>(), func.name() + ".o0.bounds_query"), s); name 381 src/BoundsInference.cpp string inner_query_name = func.name() + ".o0.bounds_query"; name 389 src/BoundsInference.cpp s = LetStmt::make(func.name() + ".s0." + func_args[i] + ".max", new_max, s); name 390 src/BoundsInference.cpp s = LetStmt::make(func.name() + ".s0." + func_args[i] + ".min", new_min, s); name 399 src/BoundsInference.cpp if (in_pipeline.count(name) == 0) { name 401 src/BoundsInference.cpp string prefix = name + ".s" + std::to_string(stage) + "."; name 452 src/BoundsInference.cpp string arg = name + ".s" + std::to_string(stage) + "." + func_args[d]; name 464 src/BoundsInference.cpp string arg = name + ".s" + std::to_string(stage) + "." + rvar.var; name 496 src/BoundsInference.cpp string name = input.name() + ".o" + std::to_string(k) + ".bounds_query." + func.name(); name 503 src/BoundsInference.cpp lets.push_back({ name, buf }); name 504 src/BoundsInference.cpp bounds_inference_args.push_back(Variable::make(type_of<struct halide_buffer_t *>(), name)); name 510 src/BoundsInference.cpp string name = args[j].is_image_param() ? p.name() : b.name(); name 513 src/BoundsInference.cpp Expr in_buf = Variable::make(type_of<struct halide_buffer_t *>(), name + ".buffer"); name 516 src/BoundsInference.cpp string query_name = name + ".bounds_query." + func.name(); name 544 src/BoundsInference.cpp string prefix = func.name() + ".s" + std::to_string(stage) + "." + arg; name 553 src/BoundsInference.cpp string buf_name = func.name() + ".o" + std::to_string(j) + ".bounds_query"; name 612 src/BoundsInference.cpp string arg = name + ".s" + std::to_string(stage) + "." + farg; name 619 src/BoundsInference.cpp string arg = name + ".s" + std::to_string(stage) + "." + rv.var; name 667 src/BoundsInference.cpp s.name = s.func.name(); name 669 src/BoundsInference.cpp s.stage_prefix = s.name + ".s0."; name 674 src/BoundsInference.cpp s.stage_prefix = s.name + ".s" + std::to_string(s.stage) + "."; name 736 src/BoundsInference.cpp string stage_name = f.name() + ".s" + std::to_string(f.updates().size()); name 739 src/BoundsInference.cpp string buf_name = f.name() + ".o0.bounds_query." + consumer.name; name 747 src/BoundsInference.cpp merge_boxes(boxes[f.name()], b); name 768 src/BoundsInference.cpp const Box &b = boxes[producer.func.name()]; name 780 src/BoundsInference.cpp err << " of Function " << consumer.name name 781 src/BoundsInference.cpp << " calls function " << producer.name name 800 src/BoundsInference.cpp producer.bounds[{ consumer.name, consumer.stage }] = b; name 809 src/BoundsInference.cpp string buffer_name = output.name(); name 835 src/BoundsInference.cpp s.bounds[{ s.name, s.stage }] = output_box; name 858 src/BoundsInference.cpp lets.push_back({ let->name, let->value }); name 869 src/BoundsInference.cpp if (starts_with(op->name, stages[i].stage_prefix)) { name 872 src/BoundsInference.cpp stage_name = stages[i].name + ".s" + std::to_string(stages[i].stage); name 883 src/BoundsInference.cpp box = box_provided(body, stages[producing].name, empty_scope, func_bounds); name 898 src/BoundsInference.cpp if (inner_productions.count(stages[i].name)) { name 902 src/BoundsInference.cpp if (in_pipeline.count(stages[i].name)) { name 910 src/BoundsInference.cpp body = stages[i].define_bounds(body, stage_name, op->name, in_stages, in_pipeline, inner_productions, target); name 978 src/BoundsInference.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, body); name 982 src/BoundsInference.cpp in_pipeline.insert(p->name); name 984 src/BoundsInference.cpp in_pipeline.erase(p->name); name 985 src/BoundsInference.cpp inner_productions.insert(p->name); name 18 src/Buffer.h std::string name; name 126 src/Buffer.h Buffer(Runtime::Buffer<T, D> &&buf, const std::string &name = "") : name 129 src/Buffer.h if (name.empty()) { name 130 src/Buffer.h contents->name = Internal::make_entity_name(this, "Halide::Buffer<?", 'b'); name 132 src/Buffer.h contents->name = name; name 149 src/Buffer.h const std::string &name = "") : name 150 src/Buffer.h Buffer(Runtime::Buffer<T>(buf), name) {} name 153 src/Buffer.h const std::string &name = "") : name 154 src/Buffer.h Buffer(Runtime::Buffer<T>(buf), name) {} name 164 src/Buffer.h const std::string &name = "") : name 165 src/Buffer.h Buffer(Runtime::Buffer<T>(t, sizes), name) {} name 168 src/Buffer.h const std::string &name = "") : name 169 src/Buffer.h Buffer(Runtime::Buffer<T>(sizes), name) {} name 173 src/Buffer.h const std::string &name = "") : name 174 src/Buffer.h Buffer(Runtime::Buffer<T>(vals), name) {} name 193 src/Buffer.h const std::string &name = "") : name 194 src/Buffer.h Buffer(Runtime::Buffer<T>(data, sizes), name) {} name 199 src/Buffer.h const std::string &name = "") : name 200 src/Buffer.h Buffer(Runtime::Buffer<T>(t, data, sizes), name) {} name 206 src/Buffer.h const std::string &name = "") : name 207 src/Buffer.h Buffer(Runtime::Buffer<T>(t, data, d, shape), name) {} name 212 src/Buffer.h const std::string &name = "") : name 213 src/Buffer.h Buffer(Runtime::Buffer<T>(data, d, shape), name) {} name 216 src/Buffer.h static Buffer<T> make_scalar(const std::string &name = "") { name 217 src/Buffer.h return Buffer<T>(Runtime::Buffer<T>::make_scalar(), name); name 220 src/Buffer.h static Buffer<> make_scalar(Type t, const std::string &name = "") { name 221 src/Buffer.h return Buffer<>(Runtime::Buffer<>::make_scalar(t), name); name 224 src/Buffer.h static Buffer<T> make_interleaved(int width, int height, int channels, const std::string &name = "") { name 226 src/Buffer.h name); name 229 src/Buffer.h static Buffer<> make_interleaved(Type t, int width, int height, int channels, const std::string &name = "") { name 231 src/Buffer.h name); name 234 src/Buffer.h static Buffer<T> make_interleaved(T *data, int width, int height, int channels, const std::string &name = "") { name 236 src/Buffer.h name); name 240 src/Buffer.h make_interleaved(Type t, T *data, int width, int height, int channels, const std::string &name = "") { name 243 src/Buffer.h name); name 250 src/Buffer.h const std::string &name = "") { name 252 src/Buffer.h name); name 259 src/Buffer.h const std::string &name = "") { name 261 src/Buffer.h name); name 268 src/Buffer.h contents->name = n; name 271 src/Buffer.h const std::string &name() const { name 272 src/Buffer.h return contents->name; name 49 src/CPlusPlusMangle.cpp std::string check_and_enter(std::map<std::string, int> &table, const std::string &name, const std::string &full) { name 52 src/CPlusPlusMangle.cpp auto i = table.find(name); name 57 src/CPlusPlusMangle.cpp auto insert_result = table.insert({ name, table.size() }); name 76 src/CPlusPlusMangle.cpp std::string check_and_enter_name(std::string name) { name 77 src/CPlusPlusMangle.cpp return check_and_enter(prev_names, name, name + "@"); name 197 src/CPlusPlusMangle.cpp return quals + simple_type_to_mangle_char(type.handle_type->inner_name.name, target); name 209 src/CPlusPlusMangle.cpp result.full_name = quals + code + type.handle_type->inner_name.name + "@"; name 210 src/CPlusPlusMangle.cpp result.with_substitutions = quals + code + prev_decls.check_and_enter_name(type.handle_type->inner_name.name); name 213 src/CPlusPlusMangle.cpp result.full_name += type.handle_type->enclosing_types[i - 1].name + "@"; name 214 src/CPlusPlusMangle.cpp result.with_substitutions += prev_decls.check_and_enter_name(type.handle_type->enclosing_types[i - 1].name); name 274 src/CPlusPlusMangle.cpp std::string cplusplus_function_mangled_name(const std::string &name, const std::vector<std::string> &namespaces, name 280 src/CPlusPlusMangle.cpp result += prev_decls.check_and_enter_name(name); name 460 src/CPlusPlusMangle.cpp MangledNamePart mangle_qualified_name(std::string name, const std::vector<std::string> &namespaces, name 471 src/CPlusPlusMangle.cpp if (name == "allocator") { name 473 src/CPlusPlusMangle.cpp } else if (name == "string") { // Not correct, but it does the right thing name 488 src/CPlusPlusMangle.cpp prevs.extend_name_part(result, itanium_mangle_id(et.name)); name 492 src/CPlusPlusMangle.cpp std::string mangled = itanium_mangle_id(name); name 509 src/CPlusPlusMangle.cpp MangledNamePart result = simple_type_to_mangle_char(type.handle_type->inner_name.name, target); name 512 src/CPlusPlusMangle.cpp MangledNamePart mangled = mangle_qualified_name(type.handle_type->inner_name.name, type.handle_type->namespaces, name 575 src/CPlusPlusMangle.cpp std::string cplusplus_function_mangled_name(const std::string &name, const std::vector<std::string> &namespaces, name 581 src/CPlusPlusMangle.cpp result += mangle_qualified_name(name, namespaces, {}, false, prevs).full_name; name 596 src/CPlusPlusMangle.cpp std::string cplusplus_function_mangled_name(const std::string &name, const std::vector<std::string> &namespaces, name 600 src/CPlusPlusMangle.cpp return WindowsMangling::cplusplus_function_mangled_name(name, namespaces, return_type, args, target); name 602 src/CPlusPlusMangle.cpp return ItaniumABIMangling::cplusplus_function_mangled_name(name, namespaces, return_type, args, target); name 20 src/CPlusPlusMangle.h EXPORT std::string cplusplus_function_mangled_name(const std::string &name, const std::vector<std::string> &namespaces, name 108 src/CSE.cpp if (let_substitutions.contains(var->name)) { name 109 src/CSE.cpp number = let_substitutions.get(var->name); name 156 src/CSE.cpp let_substitutions.push(let->name, number); name 161 src/CSE.cpp let_substitutions.pop(let->name); name 177 src/CSE.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, predicate); name 192 src/CSE.cpp stmt = Store::make(op->name, value, index, op->param, predicate); name 289 src/CSE.cpp string name = unique_name('t'); name 290 src/CSE.cpp lets.push_back({ name, e.expr }); name 292 src/CSE.cpp replacements[e.expr] = Variable::make(e.expr.type(), name); name 337 src/CSE.cpp map<string, string>::iterator iter = new_names.find(var->name); name 347 src/CSE.cpp new_names[let->name] = new_name; name 372 src/CSE.cpp string name = "t" + std::to_string(i-1); name 373 src/CSE.cpp e = Let::make(name, exprs[i-1], e); name 37 src/CanonicalizeGPUVars.cpp if (starts_with(op->name, prefix)) { name 89 src/CanonicalizeGPUVars.cpp string find_replacement(const string &suffix, const string &name) { name 90 src/CanonicalizeGPUVars.cpp vector<string> v = split_string(name, suffix); name 96 src/CanonicalizeGPUVars.cpp return name; name 99 src/CanonicalizeGPUVars.cpp string canonicalize_let(const string &name) { name 100 src/CanonicalizeGPUVars.cpp if (ends_with(name, ".loop_max")) { name 101 src/CanonicalizeGPUVars.cpp return find_replacement(".loop_max", name); name 102 src/CanonicalizeGPUVars.cpp } else if (ends_with(name, ".loop_min")) { name 103 src/CanonicalizeGPUVars.cpp return find_replacement(".loop_min", name); name 104 src/CanonicalizeGPUVars.cpp } else if (ends_with(name, ".loop_extent")) { name 105 src/CanonicalizeGPUVars.cpp return find_replacement(".loop_extent", name); name 107 src/CanonicalizeGPUVars.cpp return name; name 112 src/CanonicalizeGPUVars.cpp string name = op->name; name 120 src/CanonicalizeGPUVars.cpp vector<string> v = split_string(op->name, "."); name 126 src/CanonicalizeGPUVars.cpp << op->name << " can only have maximum of 4 block dimensions\n"; name 128 src/CanonicalizeGPUVars.cpp << op->name << " can only have maximum of 4 thread dimensions\n"; name 131 src/CanonicalizeGPUVars.cpp name = gpu_name(v, get_block_name(counter.nblocks)); name 132 src/CanonicalizeGPUVars.cpp debug(5) << "Replacing " << op->name << " with GPU block name " << name << "\n"; name 134 src/CanonicalizeGPUVars.cpp name = gpu_name(v, get_thread_name(counter.nthreads)); name 135 src/CanonicalizeGPUVars.cpp debug(5) << "Replacing " << op->name << " with GPU thread name " << name << "\n"; name 138 src/CanonicalizeGPUVars.cpp if (name != op->name) { name 140 src/CanonicalizeGPUVars.cpp gpu_vars.emplace(op->name, name); name 141 src/CanonicalizeGPUVars.cpp Expr new_var = Variable::make(Int(32), name); name 142 src/CanonicalizeGPUVars.cpp min = substitute(op->name, new_var, min); name 143 src/CanonicalizeGPUVars.cpp extent = substitute(op->name, new_var, extent); name 144 src/CanonicalizeGPUVars.cpp body = substitute(op->name, new_var, body); name 148 src/CanonicalizeGPUVars.cpp if ((name == op->name) && name 154 src/CanonicalizeGPUVars.cpp stmt = For::make(name, min, extent, op->for_type, op->device_api, body); name 163 src/CanonicalizeGPUVars.cpp string name = canonicalize_let(op->name); name 164 src/CanonicalizeGPUVars.cpp if (name != op->name) { name 165 src/CanonicalizeGPUVars.cpp Expr new_var = Variable::make(Int(32), name); name 166 src/CanonicalizeGPUVars.cpp value = substitute(op->name, new_var, value); name 167 src/CanonicalizeGPUVars.cpp body = substitute(op->name, new_var, body); name 170 src/CanonicalizeGPUVars.cpp if ((name == op->name) && name 175 src/CanonicalizeGPUVars.cpp stmt = LetStmt::make(name, value, body); name 21 src/Closure.cpp ignore.push(op->name, 0); name 23 src/Closure.cpp ignore.pop(op->name); name 28 src/Closure.cpp ignore.push(op->name, 0); name 30 src/Closure.cpp ignore.pop(op->name); name 34 src/Closure.cpp ignore.push(op->name, 0); name 38 src/Closure.cpp ignore.pop(op->name); name 41 src/Closure.cpp void Closure::found_buffer_ref(const string &name, Type type, name 43 src/Closure.cpp if (!ignore.contains(name)) { name 44 src/Closure.cpp debug(3) << "Adding buffer " << name << " to closure\n"; name 45 src/Closure.cpp Buffer &ref = buffers[name]; name 56 src/Closure.cpp debug(3) << "Not adding " << name << " to closure\n"; name 63 src/Closure.cpp found_buffer_ref(op->name, op->type, true, false, op->image); name 70 src/Closure.cpp found_buffer_ref(op->name, op->value.type(), false, true, Halide::Buffer<>()); name 77 src/Closure.cpp ignore.push(op->name, 0); name 82 src/Closure.cpp ignore.pop(op->name); name 86 src/Closure.cpp if (ignore.contains(op->name)) { name 87 src/Closure.cpp debug(3) << "Not adding " << op->name << " to closure\n"; name 89 src/Closure.cpp debug(3) << "Adding " << op->name << " to closure\n"; name 90 src/Closure.cpp vars[op->name] = op->type; name 60 src/Closure.h void found_buffer_ref(const std::string &name, Type type, name 659 src/CodeGen_ARM.cpp lets.push_back({ let->name, let->value }); name 747 src/CodeGen_ARM.cpp Value *ptr = codegen_buffer_pointer(op->name, shuffle->vectors[0].type().element_of(), slice_base); name 768 src/CodeGen_ARM.cpp add_tbaa_metadata(store, op->name, slice_ramp); name 796 src/CodeGen_ARM.cpp Value *base = codegen_buffer_pointer(op->name, op->value.type().element_of(), ramp->base); name 803 src/CodeGen_ARM.cpp add_tbaa_metadata(store, op->name, op->index); name 904 src/CodeGen_ARM.cpp Value *ptr = codegen_buffer_pointer(op->name, op->type.element_of(), slice_base); name 908 src/CodeGen_ARM.cpp add_tbaa_metadata(loadI, op->name, slice_ramp); name 928 src/CodeGen_ARM.cpp Value *base = codegen_buffer_pointer(op->name, op->type.element_of(), ramp->base); name 933 src/CodeGen_ARM.cpp add_tbaa_metadata(load, op->name, op->index); name 260 src/CodeGen_C.cpp oss << type.handle_type->enclosing_types[i].name << "::"; name 263 src/CodeGen_C.cpp oss << type.handle_type->inner_name.name; name 333 src/CodeGen_C.cpp string CodeGen_C::print_name(const string &name) { name 337 src/CodeGen_C.cpp if (isalpha(name[0])) { name 341 src/CodeGen_C.cpp for (size_t i = 0; i < name.size(); i++) { name 342 src/CodeGen_C.cpp if (name[i] == '.') { name 344 src/CodeGen_C.cpp } else if (name[i] == '$') { name 346 src/CodeGen_C.cpp } else if (name[i] != '_' && !isalnum(name[i])) { name 349 src/CodeGen_C.cpp else oss << name[i]; name 370 src/CodeGen_C.cpp if (!emitted.count(op->name)) { name 372 src/CodeGen_C.cpp c_externs.insert({op->name, op}); name 375 src/CodeGen_C.cpp std::string name = extract_namespaces(op->name, namespaces); name 381 src/CodeGen_C.cpp namespace_map->insert({name, NamespaceOrCall(op)}); name 383 src/CodeGen_C.cpp emitted.insert(op->name); name 387 src/CodeGen_C.cpp void emit_function_decl(ostream &stream, const Call *op, const std::string &name) { name 388 src/CodeGen_C.cpp stream << type_to_c_type(op->type, true) << " " << name << "("; name 389 src/CodeGen_C.cpp if (function_takes_user_context(name)) { name 408 src/CodeGen_C.cpp void emit_namespace_or_call(ostream &stream, const NamespaceOrCall &ns_or_call, const std::string &name) { name 410 src/CodeGen_C.cpp stream << "namespace " << name << " {\n"; name 414 src/CodeGen_C.cpp stream << "} // namespace " << name << "\n"; name 416 src/CodeGen_C.cpp emit_function_decl(stream, ns_or_call.call, name); name 433 src/CodeGen_C.cpp string name(str + j + 1, i-j-1); name 434 src/CodeGen_C.cpp emitted.insert(name); name 488 src/CodeGen_C.cpp emitted.insert(f.name); name 501 src/CodeGen_C.cpp stream << "struct " << handle_type->inner_name.name << ";\n"; name 503 src/CodeGen_C.cpp stream << "class " << handle_type->inner_name.name << ";\n"; name 505 src/CodeGen_C.cpp stream << "union " << handle_type->inner_name.name << ";\n"; name 518 src/CodeGen_C.cpp have_user_context |= (args[i].name == "__user_context"); name 548 src/CodeGen_C.cpp std::string simple_name = extract_namespaces(f.name, namespaces); name 572 src/CodeGen_C.cpp << print_name(args[i].name) name 576 src/CodeGen_C.cpp << print_name(args[i].name); name 629 src/CodeGen_C.cpp string name = print_name(buffer.name()); name 632 src/CodeGen_C.cpp user_assert(b.host) << "Can't embed image: " << buffer.name() << " because it has a null host pointer\n"; name 633 src/CodeGen_C.cpp user_assert(!b.device_dirty()) << "Can't embed image: " << buffer.name() << "because it has a dirty device pointer\n"; name 642 src/CodeGen_C.cpp stream << "static uint8_t " << name << "_data[] __attribute__ ((aligned (32))) = {"; name 650 src/CodeGen_C.cpp stream << "static halide_dimension_t " << name << "_buffer_shape[] = {"; name 664 src/CodeGen_C.cpp stream << "static halide_buffer_t " << name << "_buffer = {" name 667 src/CodeGen_C.cpp << "&" << name << "_data[0], " // host name 671 src/CodeGen_C.cpp << name << "_buffer_shape};\n"; name 674 src/CodeGen_C.cpp stream << "static halide_buffer_t *" << name << " = &" << name << "_buffer;\n"; name 721 src/CodeGen_C.cpp id = print_name(op->name); name 1100 src/CodeGen_C.cpp << "((" << print_type(op->type) << " *)" << print_name(base->name) name 1109 src/CodeGen_C.cpp internal_error << "Unhandled intrinsic in C backend: " << op->name << '\n'; name 1116 src/CodeGen_C.cpp rhs << op->name << "("; name 1118 src/CodeGen_C.cpp if (function_takes_user_context(op->name)) { name 1136 src/CodeGen_C.cpp !allocations.contains(op->name) || name 1137 src/CodeGen_C.cpp allocations.get(op->name).type != t; name 1144 src/CodeGen_C.cpp << print_name(op->name) name 1147 src/CodeGen_C.cpp rhs << print_name(op->name); name 1162 src/CodeGen_C.cpp !allocations.contains(op->name) || name 1163 src/CodeGen_C.cpp allocations.get(op->name).type != t; name 1173 src/CodeGen_C.cpp << print_name(op->name) name 1176 src/CodeGen_C.cpp stream << print_name(op->name); name 1195 src/CodeGen_C.cpp << " " << print_name(op->name) name 1199 src/CodeGen_C.cpp body = substitute(op->name, new_var, body); name 1225 src/CodeGen_C.cpp << " " << print_name(op->name) name 1229 src/CodeGen_C.cpp body = substitute(op->name, new_var, body); name 1254 src/CodeGen_C.cpp stream << "// produce " << op->name << '\n'; name 1256 src/CodeGen_C.cpp stream << "// consume " << op->name << '\n'; name 1275 src/CodeGen_C.cpp << print_name(op->name) name 1278 src/CodeGen_C.cpp << print_name(op->name) name 1282 src/CodeGen_C.cpp << print_name(op->name) name 1287 src/CodeGen_C.cpp close_scope("for " + print_name(op->name)); name 1306 src/CodeGen_C.cpp allocations.push(op->name, alloc); name 1307 src/CodeGen_C.cpp heap_allocations.push(op->name, 0); name 1308 src/CodeGen_C.cpp stream << print_type(op->type) << "*" << print_name(op->name) << " = (" << print_expr(op->new_expr) << ");\n"; name 1316 src/CodeGen_C.cpp << op->name << " is constant but exceeds 2^31 - 1.\n"; name 1349 src/CodeGen_C.cpp << op->name << "\\n\");\n"; name 1352 src/CodeGen_C.cpp close_scope("overflow test " + op->name); name 1369 src/CodeGen_C.cpp allocations.push(op->name, alloc); name 1375 src/CodeGen_C.cpp stream << print_name(op->name) name 1379 src/CodeGen_C.cpp << print_name(op->name) name 1387 src/CodeGen_C.cpp heap_allocations.push(op->name, 0); name 1394 src/CodeGen_C.cpp internal_assert(!allocations.contains(op->name)); name 1396 src/CodeGen_C.cpp close_scope("alloc " + print_name(op->name)); name 1400 src/CodeGen_C.cpp if (heap_allocations.contains(op->name)) { name 1401 src/CodeGen_C.cpp string free_function = allocations.get(op->name).free_function; name 1409 src/CodeGen_C.cpp << print_name(op->name) name 1411 src/CodeGen_C.cpp heap_allocations.pop(op->name); name 1413 src/CodeGen_C.cpp allocations.pop(op->name); name 10 src/CodeGen_GPU_Dev.cpp bool CodeGen_GPU_Dev::is_gpu_var(const std::string &name) { name 11 src/CodeGen_GPU_Dev.cpp return is_gpu_block_var(name) || is_gpu_thread_var(name); name 14 src/CodeGen_GPU_Dev.cpp bool CodeGen_GPU_Dev::is_gpu_block_var(const std::string &name) { name 15 src/CodeGen_GPU_Dev.cpp return (ends_with(name, ".__block_id_x") || name 16 src/CodeGen_GPU_Dev.cpp ends_with(name, ".__block_id_y") || name 17 src/CodeGen_GPU_Dev.cpp ends_with(name, ".__block_id_z") || name 18 src/CodeGen_GPU_Dev.cpp ends_with(name, ".__block_id_w")); name 21 src/CodeGen_GPU_Dev.cpp bool CodeGen_GPU_Dev::is_gpu_thread_var(const std::string &name) { name 22 src/CodeGen_GPU_Dev.cpp return (ends_with(name, ".__thread_id_x") || name 23 src/CodeGen_GPU_Dev.cpp ends_with(name, ".__thread_id_y") || name 24 src/CodeGen_GPU_Dev.cpp ends_with(name, ".__thread_id_z") || name 25 src/CodeGen_GPU_Dev.cpp ends_with(name, ".__thread_id_w")); name 36 src/CodeGen_GPU_Dev.cpp if (CodeGen_GPU_Dev::is_gpu_thread_var(op->name)) { name 63 src/CodeGen_GPU_Dev.cpp if (op->name == buffer) { name 72 src/CodeGen_GPU_Dev.cpp if (op->name == buffer && name 22 src/CodeGen_GPU_Dev.h const std::string &name, name 45 src/CodeGen_GPU_Dev.h virtual std::string print_gpu_name(const std::string &name) = 0; name 47 src/CodeGen_GPU_Dev.h static bool is_gpu_var(const std::string &name); name 48 src/CodeGen_GPU_Dev.h static bool is_gpu_block_var(const std::string &name); name 49 src/CodeGen_GPU_Dev.h static bool is_gpu_thread_var(const std::string &name); name 51 src/CodeGen_GPU_Host.cpp if (CodeGen_GPU_Dev::is_gpu_var(op->name)) { name 55 src/CodeGen_GPU_Host.cpp if (ends_with(op->name, ".__thread_id_x")) { name 57 src/CodeGen_GPU_Host.cpp } else if (ends_with(op->name, ".__thread_id_y")) { name 59 src/CodeGen_GPU_Host.cpp } else if (ends_with(op->name, ".__thread_id_z")) { name 61 src/CodeGen_GPU_Host.cpp } else if (ends_with(op->name, ".__thread_id_w")) { name 63 src/CodeGen_GPU_Host.cpp } else if (ends_with(op->name, ".__block_id_x")) { name 65 src/CodeGen_GPU_Host.cpp } else if (ends_with(op->name, ".__block_id_y")) { name 67 src/CodeGen_GPU_Host.cpp } else if (ends_with(op->name, ".__block_id_z")) { name 69 src/CodeGen_GPU_Host.cpp } else if (ends_with(op->name, ".__block_id_w")) { name 77 src/CodeGen_GPU_Host.cpp if (expr_uses_var(shared_mem_size, op->name)) { name 78 src/CodeGen_GPU_Host.cpp shared_mem_size = Let::make(op->name, op->value, shared_mem_size); name 87 src/CodeGen_GPU_Host.cpp if (allocate->name == "__shared") { name 192 src/CodeGen_GPU_Host.cpp if (f.args[0].name == "__user_context") { name 219 src/CodeGen_GPU_Host.cpp if (CodeGen_GPU_Dev::is_gpu_var(loop->name)) { name 221 src/CodeGen_GPU_Host.cpp debug(2) << "Kernel launch: " << loop->name << "\n"; name 240 src/CodeGen_GPU_Host.cpp string kernel_name = unique_name("kernel_" + loop->name); name 277 src/CodeGen_GPU_Host.cpp HostClosure c(loop->body, loop->name); name 297 src/CodeGen_GPU_Host.cpp } else if (ends_with(closure_args[i].name, ".varying")) { name 308 src/CodeGen_GPU_Host.cpp if (closure_args[i].is_buffer && allocations.contains(closure_args[i].name)) { name 309 src/CodeGen_GPU_Host.cpp closure_args[i].size = allocations.get(closure_args[i].name).constant_bytes; name 356 src/CodeGen_GPU_Host.cpp string name = closure_args[i].name; name 361 src/CodeGen_GPU_Host.cpp Expr buf = Variable::make(type_of<buffer_t *>(), name + ".buffer"); name 364 src/CodeGen_GPU_Host.cpp } else if (ends_with(name, ".varying")) { name 372 src/CodeGen_GPU_Host.cpp val = sym_get(name); name 378 src/CodeGen_GPU_Host.cpp Value *ptr = create_alloca_at_entry(val->getType(), 1, false, name+".stack"); name 489 src/CodeGen_GPU_Host.cpp std::string name = "module_state_" + function_name + "_" + api_unique_name; name 490 src/CodeGen_GPU_Host.cpp GlobalVariable *module_state = module->getGlobalVariable(name, true); name 498 src/CodeGen_GPU_Host.cpp name); name 168 src/CodeGen_Hexagon.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, predicate); name 271 src/CodeGen_Hexagon.cpp const char *name; name 566 src/CodeGen_Hexagon.cpp define_hvx_intrinsic(i.id, i.ret_type, i.name, i.arg_types, name 571 src/CodeGen_Hexagon.cpp llvm::Function *CodeGen_Hexagon::define_hvx_intrinsic(int id, Type ret_ty, const string &name, name 576 src/CodeGen_Hexagon.cpp return define_hvx_intrinsic(intrin, ret_ty, name, arg_types, broadcast_scalar_word); name 579 src/CodeGen_Hexagon.cpp llvm::Function *CodeGen_Hexagon::define_hvx_intrinsic(llvm::Function *intrin, Type ret_ty, const string &name, name 581 src/CodeGen_Hexagon.cpp internal_assert(intrin) << "Null definition for intrinsic '" << name << "'\n"; name 596 src/CodeGen_Hexagon.cpp "halide.hexagon." + name, module.get()); name 1236 src/CodeGen_Hexagon.cpp Value *CodeGen_Hexagon::call_intrin(Type result_type, const string &name, name 1238 src/CodeGen_Hexagon.cpp llvm::Function *fn = module->getFunction(name); name 1240 src/CodeGen_Hexagon.cpp internal_assert(fn) << "Function '" << name << "' not found\n"; name 1245 src/CodeGen_Hexagon.cpp llvm::Function *fn2 = module->getFunction(name + ".dv"); name 1256 src/CodeGen_Hexagon.cpp Value *CodeGen_Hexagon::call_intrin(llvm::Type *result_type, const string &name, name 1258 src/CodeGen_Hexagon.cpp llvm::Function *fn = module->getFunction(name); name 1260 src/CodeGen_Hexagon.cpp internal_assert(fn) << "Function '" << name << "' not found\n"; name 1265 src/CodeGen_Hexagon.cpp llvm::Function *fn2 = module->getFunction(name + ".dv"); name 1447 src/CodeGen_Hexagon.cpp if (starts_with(op->name, "halide.hexagon.")) { name 1451 src/CodeGen_Hexagon.cpp value = call_intrin(op->type, op->name, op->args); name 1456 src/CodeGen_Hexagon.cpp auto i = functions.find(op->name); name 36 src/CodeGen_Hexagon.h const std::string &name, name 40 src/CodeGen_Hexagon.h const std::string &name, name 87 src/CodeGen_Hexagon.h llvm::Value *call_intrin(Type t, const std::string &name, name 89 src/CodeGen_Hexagon.h llvm::Value *call_intrin(llvm::Type *t, const std::string &name, name 139 src/CodeGen_Internal.cpp bool function_takes_user_context(const std::string &name) { name 204 src/CodeGen_Internal.cpp if (name == user_context_runtime_funcs[i]) { name 209 src/CodeGen_Internal.cpp return starts_with(name, "halide_error_"); name 285 src/CodeGen_Internal.cpp Expr unpredicated_load = Load::make(op->type, op->name, index, op->image, op->param, name 300 src/CodeGen_Internal.cpp Expr unpredicated_load = Load::make(op->type.element_of(), op->name, idx_i, op->image, op->param, name 323 src/CodeGen_Internal.cpp Stmt unpredicated_store = Store::make(op->name, value, index, op->param, const_true(value.type().lanes())); name 338 src/CodeGen_Internal.cpp Stmt lane = IfThenElse::make(pred_i, Store::make(op->name, value_i, index_i, op->param, const_true())); name 51 src/CodeGen_Internal.h bool function_takes_user_context(const std::string &name); name 415 src/CodeGen_LLVM.cpp add_bitcode_to_module(context, *module, code_blob.contents(), code_blob.name()); name 442 src/CodeGen_LLVM.cpp MangledNames get_mangled_names(const std::string &name, name 449 src/CodeGen_LLVM.cpp names.simple_name = extract_namespaces(name, namespaces); name 478 src/CodeGen_LLVM.cpp return get_mangled_names(f.name, f.linkage, f.name_mangling, f.args, target); name 490 src/CodeGen_LLVM.cpp module->setModuleIdentifier(input.name()); name 562 src/CodeGen_LLVM.cpp void CodeGen_LLVM::begin_func(LoweredFunc::LinkageType linkage, const std::string& name, name 610 src/CodeGen_LLVM.cpp debug(1) << "Generating llvm bitcode prolog for function " << name << "...\n"; name 626 src/CodeGen_LLVM.cpp external_buffer.insert(args[i].name); name 627 src/CodeGen_LLVM.cpp sym_push(args[i].name + ".buffer", &arg); name 629 src/CodeGen_LLVM.cpp sym_push(args[i].name, &arg); name 633 src/CodeGen_LLVM.cpp alignment_info.push(args[i].name, args[i].alignment); name 647 src/CodeGen_LLVM.cpp sym_pop(args[i].name + ".buffer"); name 649 src/CodeGen_LLVM.cpp sym_pop(args[i].name); name 652 src/CodeGen_LLVM.cpp alignment_info.pop(args[i].name); name 678 src/CodeGen_LLVM.cpp register_destructor(annotate_buffer_fn, sym_get(arg.name + ".buffer"), OnSuccess); name 684 src/CodeGen_LLVM.cpp debug(1) << "Generating llvm bitcode for function " << f.name << "...\n"; name 789 src/CodeGen_LLVM.cpp << "Can't embed buffer " << buf.name() << " because it has a null host pointer.\n"; name 791 src/CodeGen_LLVM.cpp << "Can't embed Image \"" << buf.name() << "\"" name 804 src/CodeGen_LLVM.cpp shape = create_binary_blob(shape_blob, buf.name() + ".shape"); name 821 src/CodeGen_LLVM.cpp create_binary_blob(data_blob, buf.name() + ".data", constant), // host name 833 src/CodeGen_LLVM.cpp 0, buf.name() + ".buffer"); name 839 src/CodeGen_LLVM.cpp sym_push(buf.name() + ".buffer", global_ptr); name 869 src/CodeGen_LLVM.cpp llvm::Function *CodeGen_LLVM::add_argv_wrapper(const std::string &name) { name 872 src/CodeGen_LLVM.cpp llvm::Function *wrapper = llvm::Function::Create(func_t, llvm::GlobalValue::ExternalLinkage, name, module.get()); name 930 src/CodeGen_LLVM.cpp create_string_constant(args[arg].name), name 1054 src/CodeGen_LLVM.cpp void CodeGen_LLVM::sym_push(const string &name, llvm::Value *value) { name 1056 src/CodeGen_LLVM.cpp value->setName(name); name 1058 src/CodeGen_LLVM.cpp symbol_table.push(name, value); name 1061 src/CodeGen_LLVM.cpp void CodeGen_LLVM::sym_pop(const string &name) { name 1062 src/CodeGen_LLVM.cpp symbol_table.pop(name); name 1065 src/CodeGen_LLVM.cpp llvm::Value *CodeGen_LLVM::sym_get(const string &name, bool must_succeed) const { name 1067 src/CodeGen_LLVM.cpp if (!symbol_table.contains(name)) { name 1070 src/CodeGen_LLVM.cpp err << "Symbol not found: " << name << "\n"; name 1082 src/CodeGen_LLVM.cpp return symbol_table.get(name); name 1085 src/CodeGen_LLVM.cpp bool CodeGen_LLVM::sym_exists(const string &name) const { name 1086 src/CodeGen_LLVM.cpp return symbol_table.contains(name); name 1165 src/CodeGen_LLVM.cpp value = sym_get(op->name); name 1618 src/CodeGen_LLVM.cpp codegen(reinterpret(op->type, Load::make(UInt(64, op->type.lanes()), op->name, name 1632 src/CodeGen_LLVM.cpp Value *ptr = codegen_buffer_pointer(op->name, op->type, op->index); name 1634 src/CodeGen_LLVM.cpp add_tbaa_metadata(load, op->name, op->index); name 1676 src/CodeGen_LLVM.cpp Expr load_a = Load::make(op->type, op->name, ramp_a, op->image, op->param, op->predicate); name 1677 src/CodeGen_LLVM.cpp Expr load_b = Load::make(op->type, op->name, ramp_b, op->image, op->param, op->predicate); name 1696 src/CodeGen_LLVM.cpp Expr flipped_load = Load::make(op->type, op->name, flipped_index, op->image, op->param, op->predicate); name 1708 src/CodeGen_LLVM.cpp Value *ptr = codegen_buffer_pointer(op->name, op->type.element_of(), ramp->base); name 1714 src/CodeGen_LLVM.cpp add_tbaa_metadata(val, op->name, op->index); name 1727 src/CodeGen_LLVM.cpp Value *ptr = codegen_buffer_pointer(op->name, op->type.element_of(), idx); name 1729 src/CodeGen_LLVM.cpp add_tbaa_metadata(val, op->name, op->index); name 1739 src/CodeGen_LLVM.cpp Value *ptr = codegen_buffer_pointer(op->name, op->type.element_of(), idx); name 1741 src/CodeGen_LLVM.cpp add_tbaa_metadata(val, op->name, op->index); name 1894 src/CodeGen_LLVM.cpp bool is_external = (external_buffer.find(op->name) != external_buffer.end()); name 1928 src/CodeGen_LLVM.cpp Value *elt_ptr = codegen_buffer_pointer(op->name, value_type.element_of(), slice_base); name 1933 src/CodeGen_LLVM.cpp add_tbaa_metadata(store_inst, op->name, slice_index); name 1959 src/CodeGen_LLVM.cpp Value *ptr = codegen_buffer_pointer(op->name, value_type, idx); name 1974 src/CodeGen_LLVM.cpp bool is_external = (external_buffer.find(load->name) != external_buffer.end()); name 2015 src/CodeGen_LLVM.cpp Value *elt_ptr = codegen_buffer_pointer(load->name, load->type.element_of(), slice_base); name 2025 src/CodeGen_LLVM.cpp add_tbaa_metadata(load_inst, load->name, slice_index); name 2053 src/CodeGen_LLVM.cpp Expr flipped_load = Load::make(op->type, op->name, flipped_index, op->image, name 2059 src/CodeGen_LLVM.cpp Expr load_expr = Load::make(op->type, op->name, op->index, op->image, name 2168 src/CodeGen_LLVM.cpp string name = (t.is_float() ? "abs_f" : "abs_i") + std::to_string(t.bits()); name 2170 src/CodeGen_LLVM.cpp find_vector_runtime_function(name, op->type.lanes()).first; name 2173 src/CodeGen_LLVM.cpp codegen(Call::make(op->type, name, op->args, Call::Extern)); name 2189 src/CodeGen_LLVM.cpp string name; name 2194 src/CodeGen_LLVM.cpp name = "absd_i" + std::to_string(t.bits()); name 2196 src/CodeGen_LLVM.cpp name = "absd_u" + std::to_string(t.bits()); name 2200 src/CodeGen_LLVM.cpp find_vector_runtime_function(name, op->type.lanes()).first; name 2203 src/CodeGen_LLVM.cpp codegen(Call::make(op->type, name, op->args, Call::Extern)); name 2642 src/CodeGen_LLVM.cpp internal_error << "Unknown intrinsic: " << op->name << "\n"; name 2643 src/CodeGen_LLVM.cpp } else if (op->call_type == Call::PureExtern && op->name == "pow_f32") { name 2649 src/CodeGen_LLVM.cpp } else if (op->call_type == Call::PureExtern && op->name == "log_f32") { name 2653 src/CodeGen_LLVM.cpp } else if (op->call_type == Call::PureExtern && op->name == "exp_f32") { name 2658 src/CodeGen_LLVM.cpp (op->name == "is_nan_f32" || op->name == "is_nan_f64")) { name 2665 src/CodeGen_LLVM.cpp std::string name; name 2669 src/CodeGen_LLVM.cpp op->name << ")\n"; name 2672 src/CodeGen_LLVM.cpp name = extract_namespaces(op->name, namespaces); name 2677 src/CodeGen_LLVM.cpp name = cplusplus_function_mangled_name(name, namespaces, op->type, mangle_args, get_target()); name 2679 src/CodeGen_LLVM.cpp name = op->name; name 2688 src/CodeGen_LLVM.cpp llvm::Function *fn = module->getFunction(name); name 2693 src/CodeGen_LLVM.cpp bool takes_user_context = function_takes_user_context(op->name); name 2695 src/CodeGen_LLVM.cpp internal_assert(fn) << "External function " << op->name << " is marked as taking user_context, but is not in the runtime module. Check if runtime_api.cpp needs to be rebuilt.\n"; name 2696 src/CodeGen_LLVM.cpp debug(4) << "Adding user_context to " << op->name << " args\n"; name 2719 src/CodeGen_LLVM.cpp fn = llvm::Function::Create(func_t, llvm::Function::ExternalLinkage, name, module.get()); name 2721 src/CodeGen_LLVM.cpp debug(4) << "Did not find " << op->name << ". Declared it extern \"C\".\n"; name 2723 src/CodeGen_LLVM.cpp debug(4) << "Found " << op->name << "\n"; name 2770 src/CodeGen_LLVM.cpp find_vector_runtime_function(name, op->type.lanes()); name 2811 src/CodeGen_LLVM.cpp sym_push(op->name, codegen(op->value)); name 2813 src/CodeGen_LLVM.cpp alignment_info.push(op->name, modulus_remainder(op->value, alignment_info)); name 2817 src/CodeGen_LLVM.cpp alignment_info.pop(op->name); name 2819 src/CodeGen_LLVM.cpp sym_pop(op->name); name 2823 src/CodeGen_LLVM.cpp sym_push(op->name, codegen(op->value)); name 2826 src/CodeGen_LLVM.cpp alignment_info.push(op->name, modulus_remainder(op->value, alignment_info)); name 2832 src/CodeGen_LLVM.cpp alignment_info.pop(op->name); name 2835 src/CodeGen_LLVM.cpp sym_pop(op->name); name 2857 src/CodeGen_LLVM.cpp Constant *CodeGen_LLVM::create_binary_blob(const vector<char> &data, const string &name, bool constant) { name 2862 src/CodeGen_LLVM.cpp 0, name); name 2923 src/CodeGen_LLVM.cpp string name; name 2925 src/CodeGen_LLVM.cpp name = std::string("produce ") + op->name; name 2927 src/CodeGen_LLVM.cpp name = std::string("consume ") + op->name; name 2929 src/CodeGen_LLVM.cpp BasicBlock *produce = BasicBlock::Create(*context, name, function); name 2945 src/CodeGen_LLVM.cpp BasicBlock *loop_bb = BasicBlock::Create(*context, std::string("for ") + op->name, function); name 2947 src/CodeGen_LLVM.cpp BasicBlock *after_bb = BasicBlock::Create(*context, std::string("end for ") + op->name, function); name 2959 src/CodeGen_LLVM.cpp sym_push(op->name, phi); name 2977 src/CodeGen_LLVM.cpp sym_pop(op->name); name 2980 src/CodeGen_LLVM.cpp debug(3) << "Entering parallel for loop over " << op->name << "\n"; name 2984 src/CodeGen_LLVM.cpp Closure closure(op->body, op->name); name 2999 src/CodeGen_LLVM.cpp "par_for_" + function->getName() + "_" + op->name, module.get()); name 3030 src/CodeGen_LLVM.cpp sym_push(op->name, iterator_to_pointer(iter)); name 3057 src/CodeGen_LLVM.cpp debug(3) << "Leaving parallel for loop over " << op->name << "\n"; name 3080 src/CodeGen_LLVM.cpp codegen(Store::make(op->name, v, op->index, op->param, op->predicate)); name 3092 src/CodeGen_LLVM.cpp bool is_external = (external_buffer.find(op->name) != external_buffer.end()); name 3095 src/CodeGen_LLVM.cpp Value *ptr = codegen_buffer_pointer(op->name, value_type, op->index); name 3097 src/CodeGen_LLVM.cpp add_tbaa_metadata(store, op->name, op->index); name 3099 src/CodeGen_LLVM.cpp Stmt s = Store::make(op->name, op->value, let->body, op->param, op->predicate); name 3100 src/CodeGen_LLVM.cpp codegen(LetStmt::make(let->name, let->value, s)); name 3138 src/CodeGen_LLVM.cpp Value *elt_ptr = codegen_buffer_pointer(op->name, value_type.element_of(), slice_base); name 3141 src/CodeGen_LLVM.cpp add_tbaa_metadata(store, op->name, slice_index); name 3145 src/CodeGen_LLVM.cpp Value *ptr = codegen_buffer_pointer(op->name, ptr_type, ramp->base); name 3160 src/CodeGen_LLVM.cpp add_tbaa_metadata(store, op->name, op->index); name 3164 src/CodeGen_LLVM.cpp add_tbaa_metadata(store, op->name, op->index); name 3175 src/CodeGen_LLVM.cpp Value *ptr = codegen_buffer_pointer(op->name, value_type.element_of(), idx); name 3177 src/CodeGen_LLVM.cpp add_tbaa_metadata(store, op->name, op->index); name 3251 src/CodeGen_LLVM.cpp Value *CodeGen_LLVM::create_alloca_at_entry(llvm::Type *t, int n, bool zero_initialize, const string &name) { name 3260 src/CodeGen_LLVM.cpp AllocaInst *ptr = builder->CreateAlloca(t, size, name); name 3286 src/CodeGen_LLVM.cpp const string &name, vector<Expr> args) { name 3294 src/CodeGen_LLVM.cpp name, arg_values); name 3298 src/CodeGen_LLVM.cpp const string &name, vector<Value *> arg_values) { name 3327 src/CodeGen_LLVM.cpp results.push_back(call_intrin(result_slice_type, intrin_lanes, name, args)); name 3338 src/CodeGen_LLVM.cpp llvm::Function *fn = module->getFunction(name); name 3343 src/CodeGen_LLVM.cpp fn = llvm::Function::Create(func_t, llvm::Function::ExternalLinkage, name, module.get()); name 3457 src/CodeGen_LLVM.cpp std::pair<llvm::Function *, int> CodeGen_LLVM::find_vector_runtime_function(const std::string &name, int lanes) { name 3480 src/CodeGen_LLVM.cpp llvm::Function *vec_fn = module->getFunction(name + "x" + std::to_string(l)); name 163 src/CodeGen_LLVM.h void sym_push(const std::string &name, llvm::Value *value); name 168 src/CodeGen_LLVM.h void sym_pop(const std::string &name); name 173 src/CodeGen_LLVM.h llvm::Value* sym_get(const std::string &name, name 177 src/CodeGen_LLVM.h bool sym_exists(const std::string &name) const; name 276 src/CodeGen_LLVM.h llvm::Constant *create_binary_blob(const std::vector<char> &data, const std::string &name, bool constant = true); name 390 src/CodeGen_LLVM.h const std::string &name = ""); name 415 src/CodeGen_LLVM.h const std::string &name, std::vector<Expr>); name 417 src/CodeGen_LLVM.h const std::string &name, std::vector<llvm::Value *>); name 449 src/CodeGen_LLVM.h std::pair<llvm::Function *, int> find_vector_runtime_function(const std::string &name, int lanes); name 483 src/CodeGen_LLVM.h llvm::Function *add_argv_wrapper(const std::string &name); name 104 src/CodeGen_Metal_Dev.cpp string simt_intrinsic(const string &name) { name 105 src/CodeGen_Metal_Dev.cpp if (ends_with(name, ".__thread_id_x")) { name 107 src/CodeGen_Metal_Dev.cpp } else if (ends_with(name, ".__thread_id_y")) { name 109 src/CodeGen_Metal_Dev.cpp } else if (ends_with(name, ".__thread_id_z")) { name 111 src/CodeGen_Metal_Dev.cpp } else if (ends_with(name, ".__thread_id_w")) { name 113 src/CodeGen_Metal_Dev.cpp } else if (ends_with(name, ".__block_id_x")) { name 115 src/CodeGen_Metal_Dev.cpp } else if (ends_with(name, ".__block_id_y")) { name 117 src/CodeGen_Metal_Dev.cpp } else if (ends_with(name, ".__block_id_z")) { name 119 src/CodeGen_Metal_Dev.cpp } else if (ends_with(name, ".__block_id_w")) { name 122 src/CodeGen_Metal_Dev.cpp internal_error << "simt_intrinsic called on bad variable name: " << name << "\n"; name 154 src/CodeGen_Metal_Dev.cpp if (is_gpu_var(loop->name)) { name 161 src/CodeGen_Metal_Dev.cpp stream << print_type(Int(32)) << " " << print_name(loop->name) name 162 src/CodeGen_Metal_Dev.cpp << " = " << simt_intrinsic(loop->name) << ";\n"; name 228 src/CodeGen_Metal_Dev.cpp rhs << "*(" << get_memory_space(op->name) << " " << print_storage_type(op->type) << " *)((" name 229 src/CodeGen_Metal_Dev.cpp << get_memory_space(op->name) << " " << print_type(op->type.element_of()) << " *)" << print_name(op->name) name 239 src/CodeGen_Metal_Dev.cpp bool type_cast_needed = !(allocations.contains(op->name) && name 240 src/CodeGen_Metal_Dev.cpp allocations.get(op->name).type == op->type); name 243 src/CodeGen_Metal_Dev.cpp rhs << "((" << get_memory_space(op->name) << " " name 245 src/CodeGen_Metal_Dev.cpp << print_name(op->name) name 248 src/CodeGen_Metal_Dev.cpp rhs << print_name(op->name); name 276 src/CodeGen_Metal_Dev.cpp << " = ((" << get_memory_space(op->name) << " " name 278 src/CodeGen_Metal_Dev.cpp << print_name(op->name) << ")" name 299 src/CodeGen_Metal_Dev.cpp stream << "*(" << get_memory_space(op->name) << " " << print_storage_type(t) << " *)((" name 300 src/CodeGen_Metal_Dev.cpp << get_memory_space(op->name) << " " << print_type(t.element_of()) << " *)" << print_name(op->name) name 310 src/CodeGen_Metal_Dev.cpp stream << "((" << get_memory_space(op->name) << " " name 312 src/CodeGen_Metal_Dev.cpp << print_name(op->name) name 318 src/CodeGen_Metal_Dev.cpp bool type_cast_needed = !(allocations.contains(op->name) && name 319 src/CodeGen_Metal_Dev.cpp allocations.get(op->name).type == t); name 327 src/CodeGen_Metal_Dev.cpp << get_memory_space(op->name) << " " name 330 src/CodeGen_Metal_Dev.cpp << print_name(op->name) name 333 src/CodeGen_Metal_Dev.cpp stream << print_name(op->name); name 357 src/CodeGen_Metal_Dev.cpp if (op->name == "__shared") { name 363 src/CodeGen_Metal_Dev.cpp debug(2) << "Allocate " << op->name << " on device\n"; name 365 src/CodeGen_Metal_Dev.cpp debug(3) << "Pushing allocation called " << op->name << " onto the symbol table\n"; name 371 src/CodeGen_Metal_Dev.cpp << "Allocation " << op->name << " has a dynamic size. " name 377 src/CodeGen_Metal_Dev.cpp << print_name(op->name) << "[" << size << "];\n"; name 379 src/CodeGen_Metal_Dev.cpp stream << "#define " << get_memory_space(op->name) << " thread\n"; name 383 src/CodeGen_Metal_Dev.cpp allocations.push(op->name, alloc); name 388 src/CodeGen_Metal_Dev.cpp internal_assert(!allocations.contains(op->name)); name 390 src/CodeGen_Metal_Dev.cpp close_scope("alloc " + print_name(op->name)); name 395 src/CodeGen_Metal_Dev.cpp if (op->name == "__shared") { name 399 src/CodeGen_Metal_Dev.cpp internal_assert(allocations.contains(op->name)); name 400 src/CodeGen_Metal_Dev.cpp allocations.pop(op->name); name 402 src/CodeGen_Metal_Dev.cpp stream << "#undef " << get_memory_space(op->name) << "\n"; name 411 src/CodeGen_Metal_Dev.cpp const string &name, name 413 src/CodeGen_Metal_Dev.cpp debug(2) << "CodeGen_Metal_Dev::compile " << name << "\n"; name 416 src/CodeGen_Metal_Dev.cpp cur_kernel_name = name; name 417 src/CodeGen_Metal_Dev.cpp metal_c.add_kernel(s, name, args); name 422 src/CodeGen_Metal_Dev.cpp string name; name 426 src/CodeGen_Metal_Dev.cpp BufferSize(string name, size_t size) : name(name), size(size) {} name 435 src/CodeGen_Metal_Dev.cpp const string &name, name 438 src/CodeGen_Metal_Dev.cpp debug(2) << "Adding Metal kernel " << name << "\n"; name 452 src/CodeGen_Metal_Dev.cpp CodeGen_GPU_Dev::is_buffer_constant(s, args[i].name) && name 454 src/CodeGen_Metal_Dev.cpp constants.push_back(BufferSize(args[i].name, args[i].size)); name 470 src/CodeGen_Metal_Dev.cpp stream << "// Address spaces for " << name << "\n"; name 475 src/CodeGen_Metal_Dev.cpp constant->name != args[i].name) { name 482 src/CodeGen_Metal_Dev.cpp stream << "#define " << get_memory_space(args[i].name) << " constant\n"; name 484 src/CodeGen_Metal_Dev.cpp stream << "#define " << get_memory_space(args[i].name) << " device\n"; name 487 src/CodeGen_Metal_Dev.cpp stream << "#define " << get_memory_space(args[i].name) << " device\n"; name 497 src/CodeGen_Metal_Dev.cpp stream << "struct " + name + "_args {\n"; name 502 src/CodeGen_Metal_Dev.cpp << print_name(args[i].name) name 511 src/CodeGen_Metal_Dev.cpp stream << "kernel void " << name << "(\n"; name 516 src/CodeGen_Metal_Dev.cpp stream << ",\nconst device " << name << "_args *_scalar_args [[ buffer(0) ]]"; name 523 src/CodeGen_Metal_Dev.cpp stream << " " << get_memory_space(args[i].name) << " "; name 526 src/CodeGen_Metal_Dev.cpp << print_name(args[i].name) << " [[ buffer(" << buffer_index++ << ") ]]"; name 529 src/CodeGen_Metal_Dev.cpp allocations.push(args[i].name, alloc); name 543 src/CodeGen_Metal_Dev.cpp << print_name(args[i].name) name 544 src/CodeGen_Metal_Dev.cpp << " = _scalar_args->" << print_name(args[i].name) name 550 src/CodeGen_Metal_Dev.cpp close_scope("kernel " + name); name 555 src/CodeGen_Metal_Dev.cpp allocations.pop(args[i].name); name 562 src/CodeGen_Metal_Dev.cpp stream << "#undef " << get_memory_space(args[i].name) << "\n"; name 634 src/CodeGen_Metal_Dev.cpp std::string CodeGen_Metal_Dev::print_gpu_name(const std::string &name) { name 635 src/CodeGen_Metal_Dev.cpp return name; name 25 src/CodeGen_Metal_Dev.h const std::string &name, name 39 src/CodeGen_Metal_Dev.h virtual std::string print_gpu_name(const std::string &name); name 49 src/CodeGen_Metal_Dev.h const std::string &name, name 87 src/CodeGen_OpenCL_Dev.cpp string simt_intrinsic(const string &name) { name 88 src/CodeGen_OpenCL_Dev.cpp if (ends_with(name, ".__thread_id_x")) { name 90 src/CodeGen_OpenCL_Dev.cpp } else if (ends_with(name, ".__thread_id_y")) { name 92 src/CodeGen_OpenCL_Dev.cpp } else if (ends_with(name, ".__thread_id_z")) { name 94 src/CodeGen_OpenCL_Dev.cpp } else if (ends_with(name, ".__thread_id_w")) { name 96 src/CodeGen_OpenCL_Dev.cpp } else if (ends_with(name, ".__block_id_x")) { name 98 src/CodeGen_OpenCL_Dev.cpp } else if (ends_with(name, ".__block_id_y")) { name 100 src/CodeGen_OpenCL_Dev.cpp } else if (ends_with(name, ".__block_id_z")) { name 102 src/CodeGen_OpenCL_Dev.cpp } else if (ends_with(name, ".__block_id_w")) { name 105 src/CodeGen_OpenCL_Dev.cpp internal_error << "simt_intrinsic called on bad variable name: " << name << "\n"; name 111 src/CodeGen_OpenCL_Dev.cpp if (is_gpu_var(loop->name)) { name 118 src/CodeGen_OpenCL_Dev.cpp stream << print_type(Int(32)) << " " << print_name(loop->name) name 119 src/CodeGen_OpenCL_Dev.cpp << " = " << simt_intrinsic(loop->name) << ";\n"; name 233 src/CodeGen_OpenCL_Dev.cpp << "(0, (" << get_memory_space(op->name) << " " name 235 src/CodeGen_OpenCL_Dev.cpp << print_name(op->name) << " + " << id_ramp_base << ")"; name 244 src/CodeGen_OpenCL_Dev.cpp bool type_cast_needed = !(allocations.contains(op->name) && name 245 src/CodeGen_OpenCL_Dev.cpp allocations.get(op->name).type == op->type); name 248 src/CodeGen_OpenCL_Dev.cpp rhs << "((" << get_memory_space(op->name) << " " name 250 src/CodeGen_OpenCL_Dev.cpp << print_name(op->name) name 253 src/CodeGen_OpenCL_Dev.cpp rhs << print_name(op->name); name 278 src/CodeGen_OpenCL_Dev.cpp << " = ((" << get_memory_space(op->name) << " " name 280 src/CodeGen_OpenCL_Dev.cpp << print_name(op->name) << ")" name 303 src/CodeGen_OpenCL_Dev.cpp << 0 << ", (" << get_memory_space(op->name) << " " name 305 src/CodeGen_OpenCL_Dev.cpp << print_name(op->name) << " + " << id_ramp_base name 316 src/CodeGen_OpenCL_Dev.cpp stream << "((" << get_memory_space(op->name) << " " name 318 src/CodeGen_OpenCL_Dev.cpp << print_name(op->name) name 324 src/CodeGen_OpenCL_Dev.cpp bool type_cast_needed = !(allocations.contains(op->name) && name 325 src/CodeGen_OpenCL_Dev.cpp allocations.get(op->name).type == t); name 333 src/CodeGen_OpenCL_Dev.cpp << get_memory_space(op->name) << " " name 336 src/CodeGen_OpenCL_Dev.cpp << print_name(op->name) name 339 src/CodeGen_OpenCL_Dev.cpp stream << print_name(op->name); name 392 src/CodeGen_OpenCL_Dev.cpp if (op->name == "__shared") { name 398 src/CodeGen_OpenCL_Dev.cpp debug(2) << "Allocate " << op->name << " on device\n"; name 400 src/CodeGen_OpenCL_Dev.cpp debug(3) << "Pushing allocation called " << op->name << " onto the symbol table\n"; name 406 src/CodeGen_OpenCL_Dev.cpp << "Allocation " << op->name << " has a dynamic size. " name 412 src/CodeGen_OpenCL_Dev.cpp << print_name(op->name) << "[" << size << "];\n"; name 414 src/CodeGen_OpenCL_Dev.cpp stream << "#define " << get_memory_space(op->name) << " __private\n"; name 418 src/CodeGen_OpenCL_Dev.cpp allocations.push(op->name, alloc); name 423 src/CodeGen_OpenCL_Dev.cpp internal_assert(!allocations.contains(op->name)); name 425 src/CodeGen_OpenCL_Dev.cpp close_scope("alloc " + print_name(op->name)); name 430 src/CodeGen_OpenCL_Dev.cpp if (op->name == "__shared") { name 434 src/CodeGen_OpenCL_Dev.cpp internal_assert(allocations.contains(op->name)); name 435 src/CodeGen_OpenCL_Dev.cpp allocations.pop(op->name); name 437 src/CodeGen_OpenCL_Dev.cpp stream << "#undef " << get_memory_space(op->name) << "\n"; name 502 src/CodeGen_OpenCL_Dev.cpp const string &name, name 504 src/CodeGen_OpenCL_Dev.cpp debug(2) << "CodeGen_OpenCL_Dev::compile " << name << "\n"; name 507 src/CodeGen_OpenCL_Dev.cpp cur_kernel_name = name; name 508 src/CodeGen_OpenCL_Dev.cpp clc.add_kernel(s, name, args); name 513 src/CodeGen_OpenCL_Dev.cpp string name; name 517 src/CodeGen_OpenCL_Dev.cpp BufferSize(string name, size_t size) : name(name), size(size) {} name 526 src/CodeGen_OpenCL_Dev.cpp const string &name, name 529 src/CodeGen_OpenCL_Dev.cpp debug(2) << "Adding OpenCL kernel " << name << "\n"; name 547 src/CodeGen_OpenCL_Dev.cpp CodeGen_GPU_Dev::is_buffer_constant(s, args[i].name) && name 549 src/CodeGen_OpenCL_Dev.cpp constants.push_back(BufferSize(args[i].name, args[i].size)); name 565 src/CodeGen_OpenCL_Dev.cpp stream << "// Address spaces for " << name << "\n"; name 570 src/CodeGen_OpenCL_Dev.cpp constant->name != args[i].name) { name 577 src/CodeGen_OpenCL_Dev.cpp stream << "#define " << get_memory_space(args[i].name) << " __constant\n"; name 579 src/CodeGen_OpenCL_Dev.cpp stream << "#define " << get_memory_space(args[i].name) << " __global\n"; name 582 src/CodeGen_OpenCL_Dev.cpp stream << "#define " << get_memory_space(args[i].name) << " __global\n"; name 588 src/CodeGen_OpenCL_Dev.cpp stream << "__kernel void " << name << "(\n"; name 591 src/CodeGen_OpenCL_Dev.cpp stream << " " << get_memory_space(args[i].name) << " "; name 595 src/CodeGen_OpenCL_Dev.cpp << print_name(args[i].name); name 598 src/CodeGen_OpenCL_Dev.cpp allocations.push(args[i].name, alloc); name 606 src/CodeGen_OpenCL_Dev.cpp << print_name(args[i].name); name 617 src/CodeGen_OpenCL_Dev.cpp close_scope("kernel " + name); name 622 src/CodeGen_OpenCL_Dev.cpp allocations.pop(args[i].name); name 629 src/CodeGen_OpenCL_Dev.cpp stream << "#undef " << get_memory_space(args[i].name) << "\n"; name 735 src/CodeGen_OpenCL_Dev.cpp std::string CodeGen_OpenCL_Dev::print_gpu_name(const std::string &name) { name 736 src/CodeGen_OpenCL_Dev.cpp return name; name 25 src/CodeGen_OpenCL_Dev.h const std::string &name, name 39 src/CodeGen_OpenCL_Dev.h virtual std::string print_gpu_name(const std::string &name); name 49 src/CodeGen_OpenCL_Dev.h const std::string &name, name 69 src/CodeGen_OpenGLCompute_Dev.cpp string simt_intrinsic(const string &name) { name 70 src/CodeGen_OpenGLCompute_Dev.cpp if (ends_with(name, ".__thread_id_x")) { name 72 src/CodeGen_OpenGLCompute_Dev.cpp } else if (ends_with(name, ".__thread_id_y")) { name 74 src/CodeGen_OpenGLCompute_Dev.cpp } else if (ends_with(name, ".__thread_id_z")) { name 76 src/CodeGen_OpenGLCompute_Dev.cpp } else if (ends_with(name, ".__thread_id_w")) { name 77 src/CodeGen_OpenGLCompute_Dev.cpp internal_error << "4-dimension loops with " << name << " are not supported\n"; name 78 src/CodeGen_OpenGLCompute_Dev.cpp } else if (ends_with(name, ".__block_id_x")) { name 80 src/CodeGen_OpenGLCompute_Dev.cpp } else if (ends_with(name, ".__block_id_y")) { name 82 src/CodeGen_OpenGLCompute_Dev.cpp } else if (ends_with(name, ".__block_id_z")) { name 84 src/CodeGen_OpenGLCompute_Dev.cpp } else if (ends_with(name, ".__block_id_w")) { name 85 src/CodeGen_OpenGLCompute_Dev.cpp internal_error << "4-dimension loops with " << name << " are not supported\n"; name 87 src/CodeGen_OpenGLCompute_Dev.cpp internal_error << "simt_intrinsic called on bad variable name: " << name << "\n"; name 91 src/CodeGen_OpenGLCompute_Dev.cpp int thread_loop_workgroup_index(const string &name) { name 97 src/CodeGen_OpenGLCompute_Dev.cpp if (ends_with(name, ids[i])) { return i; } name 114 src/CodeGen_OpenGLCompute_Dev.cpp if (op->name == "halide_gpu_thread_barrier") { name 124 src/CodeGen_OpenGLCompute_Dev.cpp if (is_gpu_var(loop->name)) { name 134 src/CodeGen_OpenGLCompute_Dev.cpp int index = thread_loop_workgroup_index(loop->name); name 148 src/CodeGen_OpenGLCompute_Dev.cpp stream << print_type(Int(32)) << " " << print_name(loop->name) name 149 src/CodeGen_OpenGLCompute_Dev.cpp << " = int(" << simt_intrinsic(loop->name) << ");\n"; name 190 src/CodeGen_OpenGLCompute_Dev.cpp oss << print_name(op->name); name 191 src/CodeGen_OpenGLCompute_Dev.cpp if (!allocations.contains(op->name)) { name 207 src/CodeGen_OpenGLCompute_Dev.cpp stream << print_name(op->name); name 208 src/CodeGen_OpenGLCompute_Dev.cpp if (!allocations.contains(op->name)) { name 232 src/CodeGen_OpenGLCompute_Dev.cpp const string &name, name 234 src/CodeGen_OpenGLCompute_Dev.cpp debug(2) << "CodeGen_OpenGLCompute_Dev::compile " << name << "\n"; name 237 src/CodeGen_OpenGLCompute_Dev.cpp cur_kernel_name = name; name 238 src/CodeGen_OpenGLCompute_Dev.cpp glc.add_kernel(s, name, args); name 247 src/CodeGen_OpenGLCompute_Dev.cpp if (starts_with(op->name, "__shared_")) { name 258 src/CodeGen_OpenGLCompute_Dev.cpp const string &name, name 261 src/CodeGen_OpenGLCompute_Dev.cpp debug(2) << "Adding OpenGLCompute kernel " << name << "\n"; name 282 src/CodeGen_OpenGLCompute_Dev.cpp << print_name(args[i].name) << ";\n"; name 285 src/CodeGen_OpenGLCompute_Dev.cpp << " " << print_name(args[i].name) << ";\n"; name 296 src/CodeGen_OpenGLCompute_Dev.cpp << print_name(op->name) << "[" name 316 src/CodeGen_OpenGLCompute_Dev.cpp stream << ") in;\n// end of kernel " << name << "\n"; name 326 src/CodeGen_OpenGLCompute_Dev.cpp debug(2) << "OpenGLCompute: Allocate " << op->name << " of type " << op->type << " on device\n"; name 332 src/CodeGen_OpenGLCompute_Dev.cpp allocations.push(op->name, alloc); name 342 src/CodeGen_OpenGLCompute_Dev.cpp if (!starts_with(op->name, "__shared_")) { name 345 src/CodeGen_OpenGLCompute_Dev.cpp << print_name(op->name) << "[" name 352 src/CodeGen_OpenGLCompute_Dev.cpp debug(2) << "OpenGLCompute: Free on device for " << op->name << "\n"; name 354 src/CodeGen_OpenGLCompute_Dev.cpp allocations.pop(op->name); name 387 src/CodeGen_OpenGLCompute_Dev.cpp std::string CodeGen_OpenGLCompute_Dev::print_gpu_name(const std::string &name) { name 388 src/CodeGen_OpenGLCompute_Dev.cpp return name; name 25 src/CodeGen_OpenGLCompute_Dev.h const std::string &name, name 36 src/CodeGen_OpenGLCompute_Dev.h virtual std::string print_gpu_name(const std::string &name); name 46 src/CodeGen_OpenGLCompute_Dev.h const std::string &name, name 99 src/CodeGen_OpenGL_Dev.cpp void CodeGen_OpenGL_Dev::add_kernel(Stmt s, const string &name, name 101 src/CodeGen_OpenGL_Dev.cpp cur_kernel_name = name; name 102 src/CodeGen_OpenGL_Dev.cpp glc->add_kernel(s, name, args); name 127 src/CodeGen_OpenGL_Dev.cpp string CodeGen_OpenGL_Dev::print_gpu_name(const string &name) { name 128 src/CodeGen_OpenGL_Dev.cpp return glc->print_name(name); name 194 src/CodeGen_OpenGL_Dev.cpp if (builtin.count(op->name) == 0) { name 195 src/CodeGen_OpenGL_Dev.cpp user_error << "GLSL: unknown function '" << op->name << "' encountered.\n"; name 198 src/CodeGen_OpenGL_Dev.cpp rhs << builtin[op->name] << "("; name 315 src/CodeGen_OpenGL_Dev.cpp string CodeGen_GLSLBase::print_name(const string &name) { name 316 src/CodeGen_OpenGL_Dev.cpp const string mangled = CodeGen_C::print_name(name); name 377 src/CodeGen_OpenGL_Dev.cpp if (op->name.find(".varying") != string::npos) { name 389 src/CodeGen_OpenGL_Dev.cpp if (ends_with(loop->name, ".__block_id_x") || name 390 src/CodeGen_OpenGL_Dev.cpp ends_with(loop->name, ".__block_id_y")) { name 394 src/CodeGen_OpenGL_Dev.cpp debug(1) << "Dropping loop " << loop->name << " (" << loop->min << ", " << loop->extent << ")\n"; name 397 src/CodeGen_OpenGL_Dev.cpp if (ends_with(loop->name, ".__block_id_x")) { name 399 src/CodeGen_OpenGL_Dev.cpp } else if (ends_with(loop->name, ".__block_id_y")) { name 403 src/CodeGen_OpenGL_Dev.cpp stream << print_type(Int(32)) << " " << print_name(loop->name) << " = " << idx << ";\n"; name 526 src/CodeGen_OpenGL_Dev.cpp if (scalar_vars.contains(op->name)) { name 528 src/CodeGen_OpenGL_Dev.cpp id = print_name(op->name); name 529 src/CodeGen_OpenGL_Dev.cpp } else if (vector_vars.contains(op->name)) { name 530 src/CodeGen_OpenGL_Dev.cpp id = print_name(op->name) + get_vector_suffix(op->index); name 533 src/CodeGen_OpenGL_Dev.cpp print_assignment(op->type, print_name(op->name) + "[" + idx + "]"); name 542 src/CodeGen_OpenGL_Dev.cpp rhs << print_name(op->name) << "[" + indices[i] + "]"; name 551 src/CodeGen_OpenGL_Dev.cpp if (scalar_vars.contains(op->name)) { name 555 src/CodeGen_OpenGL_Dev.cpp stream << print_name(op->name) << " = " << val << ";\n"; name 556 src/CodeGen_OpenGL_Dev.cpp } else if (vector_vars.contains(op->name)) { name 559 src/CodeGen_OpenGL_Dev.cpp stream << print_name(op->name) << get_vector_suffix(op->index) name 565 src/CodeGen_OpenGL_Dev.cpp stream << print_name(op->name) << "[" << idx << "] = " << val << ";\n"; name 571 src/CodeGen_OpenGL_Dev.cpp stream << print_name(op->name) name 641 src/CodeGen_OpenGL_Dev.cpp string name = print_name(buffername); name 649 src/CodeGen_OpenGL_Dev.cpp rhs << "texture2D(" << name << ", vec2(" name 726 src/CodeGen_OpenGL_Dev.cpp print_expr(call_builtin(op->type, op->name, op->args)); name 745 src/CodeGen_OpenGL_Dev.cpp if (op->name == buf && !is_const(op->index)) { name 752 src/CodeGen_OpenGL_Dev.cpp if (op->name == buf && !is_const(op->index)) { name 770 src/CodeGen_OpenGL_Dev.cpp all_access_constant.buf = op->name; name 776 src/CodeGen_OpenGL_Dev.cpp stream << print_type(op->type) << " " << print_name(op->name) << ";\n"; name 777 src/CodeGen_OpenGL_Dev.cpp scalar_vars.push(op->name, 0); name 779 src/CodeGen_OpenGL_Dev.cpp scalar_vars.pop(op->name); name 782 src/CodeGen_OpenGL_Dev.cpp stream << print_type(op->type.with_lanes(size)) << " " << print_name(op->name) << ";\n"; name 783 src/CodeGen_OpenGL_Dev.cpp vector_vars.push(op->name, 0); name 785 src/CodeGen_OpenGL_Dev.cpp vector_vars.pop(op->name); name 787 src/CodeGen_OpenGL_Dev.cpp stream << print_type(op->type) << " " << print_name(op->name) << "[" << size << "];\n"; name 822 src/CodeGen_OpenGL_Dev.cpp void CodeGen_GLSL::add_kernel(Stmt stmt, string name, name 847 src/CodeGen_OpenGL_Dev.cpp header << "/// KERNEL " << name << "\n"; name 862 src/CodeGen_OpenGL_Dev.cpp user_error << "GLSL: buffer " << args[i].name << " has invalid type " << t << ".\n"; name 865 src/CodeGen_OpenGL_Dev.cpp << type_name << " " << print_name(args[i].name) << "\n"; name 866 src/CodeGen_OpenGL_Dev.cpp } else if (ends_with(args[i].name, ".varying")) { name 871 src/CodeGen_OpenGL_Dev.cpp << "float " << print_name(args[i].name) << " varyingf" << args[i].packed_index/4 << "[" << args[i].packed_index%4 << "]\n"; name 876 src/CodeGen_OpenGL_Dev.cpp << print_name(args[i].name) << " uniformf" << args[i].packed_index/4 << "[" << args[i].packed_index%4 << "]\n"; name 881 src/CodeGen_OpenGL_Dev.cpp << print_name(args[i].name) << " uniformi" << args[i].packed_index/4 << "[" << args[i].packed_index%4 << "]\n"; name 904 src/CodeGen_OpenGL_Dev.cpp stream << "uniform sampler2D " << print_name(args[i].name) << ";\n"; name 933 src/CodeGen_OpenGL_Dev.cpp } else if (ends_with(args[i].name, ".varying")) { name 935 src/CodeGen_OpenGL_Dev.cpp stream << "float " << print_name(args[i].name) name 941 src/CodeGen_OpenGL_Dev.cpp << print_name(args[i].name) name 947 src/CodeGen_OpenGL_Dev.cpp << print_name(args[i].name) name 26 src/CodeGen_OpenGL_Dev.h void add_kernel(Stmt stmt, const std::string &name, name 42 src/CodeGen_OpenGL_Dev.h virtual std::string print_gpu_name(const std::string &name); name 57 src/CodeGen_OpenGL_Dev.h std::string print_name(const std::string &name); name 90 src/CodeGen_OpenGL_Dev.h std::string name, name 48 src/CodeGen_PTX_Dev.cpp const std::string &name, name 66 src/CodeGen_PTX_Dev.cpp function = llvm::Function::Create(func_t, llvm::Function::ExternalLinkage, name, module.get()); name 87 src/CodeGen_PTX_Dev.cpp string arg_sym_name = args[i].name; name 148 src/CodeGen_PTX_Dev.cpp string CodeGen_PTX_Dev::simt_intrinsic(const string &name) { name 149 src/CodeGen_PTX_Dev.cpp if (ends_with(name, ".__thread_id_x")) { name 151 src/CodeGen_PTX_Dev.cpp } else if (ends_with(name, ".__thread_id_y")) { name 153 src/CodeGen_PTX_Dev.cpp } else if (ends_with(name, ".__thread_id_z")) { name 155 src/CodeGen_PTX_Dev.cpp } else if (ends_with(name, ".__thread_id_w")) { name 157 src/CodeGen_PTX_Dev.cpp } else if (ends_with(name, ".__block_id_x")) { name 159 src/CodeGen_PTX_Dev.cpp } else if (ends_with(name, ".__block_id_y")) { name 161 src/CodeGen_PTX_Dev.cpp } else if (ends_with(name, ".__block_id_z")) { name 163 src/CodeGen_PTX_Dev.cpp } else if (ends_with(name, ".__block_id_w")) { name 171 src/CodeGen_PTX_Dev.cpp if (is_gpu_var(loop->name)) { name 172 src/CodeGen_PTX_Dev.cpp Expr simt_idx = Call::make(Int(32), simt_intrinsic(loop->name), std::vector<Expr>(), Call::Extern); name 174 src/CodeGen_PTX_Dev.cpp sym_push(loop->name, codegen(simt_idx)); name 176 src/CodeGen_PTX_Dev.cpp sym_pop(loop->name); name 186 src/CodeGen_PTX_Dev.cpp if (alloc->name == "__shared") { name 189 src/CodeGen_PTX_Dev.cpp sym_push(alloc->name, shared_base); name 192 src/CodeGen_PTX_Dev.cpp debug(2) << "Allocate " << alloc->name << " on device\n"; name 194 src/CodeGen_PTX_Dev.cpp string allocation_name = alloc->name; name 203 src/CodeGen_PTX_Dev.cpp << "Allocation " << alloc->name << " has a dynamic size. " name 218 src/CodeGen_PTX_Dev.cpp sym_pop(f->name); name 420 src/CodeGen_PTX_Dev.cpp std::string CodeGen_PTX_Dev::print_gpu_name(const std::string &name) { name 421 src/CodeGen_PTX_Dev.cpp return name; name 30 src/CodeGen_PTX_Dev.h const std::string &name, name 40 src/CodeGen_PTX_Dev.h virtual std::string print_gpu_name(const std::string &name); name 73 src/CodeGen_PTX_Dev.h std::string simt_intrinsic(const std::string &name); name 27 src/CodeGen_Posix.cpp Value *CodeGen_Posix::codegen_allocation_size(const std::string &name, Type type, const std::vector<Expr> &extents) { name 68 src/CodeGen_Posix.cpp {name, total_size, max_size}, Call::Extern)); name 82 src/CodeGen_Posix.cpp CodeGen_Posix::Allocation CodeGen_Posix::create_allocation(const std::string &name, Type type, name 87 src/CodeGen_Posix.cpp int32_t constant_bytes = Allocate::constant_allocation_size(extents, name); name 94 src/CodeGen_Posix.cpp user_error << "Total size for allocation " << name << " is constant but exceeds " << str_max_size << "."; name 100 src/CodeGen_Posix.cpp llvm_size = codegen_allocation_size(name, type, extents); name 125 src/CodeGen_Posix.cpp allocation.name = name; name 130 src/CodeGen_Posix.cpp allocation.ptr = create_alloca_at_entry(llvm_type_of(type), 1, false, name); name 133 src/CodeGen_Posix.cpp debug(4) << "cur_stack_alloc_total += " << allocation.stack_bytes << " -> " << cur_stack_alloc_total << " for " << name << "\n"; name 151 src/CodeGen_Posix.cpp << " bytes for allocation " << name name 156 src/CodeGen_Posix.cpp allocation.name = free->name; name 161 src/CodeGen_Posix.cpp debug(4) << "Allocating " << stack_bytes << " bytes on the stack for " << name << "\n"; name 169 src/CodeGen_Posix.cpp allocation.ptr = create_alloca_at_entry(t, stack_size, false, name); name 173 src/CodeGen_Posix.cpp debug(4) << "cur_stack_alloc_total += " << allocation.stack_bytes << " -> " << cur_stack_alloc_total << " for " << name << "\n"; name 187 src/CodeGen_Posix.cpp debug(4) << "Creating call to halide_malloc for allocation " << name name 229 src/CodeGen_Posix.cpp debug(3) << "Pushing allocation called " << name << " onto the symbol table\n"; name 231 src/CodeGen_Posix.cpp allocations.push(name, allocation); name 236 src/CodeGen_Posix.cpp void CodeGen_Posix::free_allocation(const std::string &name) { name 237 src/CodeGen_Posix.cpp Allocation alloc = allocations.get(name); name 243 src/CodeGen_Posix.cpp debug(4) << "cur_stack_alloc_total -= " << alloc.stack_bytes << " -> " << cur_stack_alloc_total << " for " << name << "\n"; name 249 src/CodeGen_Posix.cpp allocations.pop(name); name 250 src/CodeGen_Posix.cpp sym_pop(name); name 255 src/CodeGen_Posix.cpp return allocations.get(n).name; name 262 src/CodeGen_Posix.cpp if (sym_exists(alloc->name)) { name 264 src/CodeGen_Posix.cpp << alloc->name << "\n"; name 267 src/CodeGen_Posix.cpp Allocation allocation = create_allocation(alloc->name, alloc->type, name 270 src/CodeGen_Posix.cpp sym_push(alloc->name, allocation.ptr); name 275 src/CodeGen_Posix.cpp if (allocations.contains(alloc->name)) { name 276 src/CodeGen_Posix.cpp free_allocation(alloc->name); name 281 src/CodeGen_Posix.cpp free_allocation(stmt->name); name 64 src/CodeGen_Posix.h std::string name; name 88 src/CodeGen_Posix.h llvm::Value *codegen_allocation_size(const std::string &name, Type type, const std::vector<Expr> &extents); name 103 src/CodeGen_Posix.h Allocation create_allocation(const std::string &name, Type type, name 109 src/CodeGen_Posix.h void free_allocation(const std::string &name); name 13 src/DebugArguments.cpp stmts.push_back(Evaluate::make(print("Entering Pipeline " + func->name))); name 15 src/DebugArguments.cpp std::ostringstream name; name 16 src/DebugArguments.cpp Expr scalar_var = Variable::make(arg.type, arg.name); name 17 src/DebugArguments.cpp Expr buffer_var = Variable::make(type_of<halide_buffer_t *>(), arg.name + ".buffer"); name 21 src/DebugArguments.cpp name << " Input " << arg.type << ' ' << arg.name << ':'; name 25 src/DebugArguments.cpp name << " Input Buffer " << arg.name << ':'; name 29 src/DebugArguments.cpp name << " Output Buffer " << arg.name << ':'; name 33 src/DebugArguments.cpp stmts.push_back(Evaluate::make(print(name.str(), value))); name 36 src/DebugArguments.cpp stmts.push_back(Evaluate::make(print("Exiting Pipeline " + func->name))); name 23 src/DebugToFile.cpp map<string, Function>::const_iterator iter = env.find(op->name); name 70 src/DebugToFile.cpp Expr buf = Variable::make(Handle(), f.name() + ".buffer"); name 78 src/DebugToFile.cpp {f.name(), f.debug_file(), call_result_var}, name 83 src/DebugToFile.cpp stmt = Realize::make(op->name, op->types, op->bounds, op->condition, body); name 101 src/DebugToFile.cpp if (op->name == f.name()) { name 119 src/DebugToFile.cpp Expr min = Variable::make(Int(32), out.name() + ".min." + dim); name 120 src/DebugToFile.cpp Expr extent = Variable::make(Int(32), out.name() + ".extent." + dim); name 123 src/DebugToFile.cpp s = Realize::make(out.name(), out.output_types(), output_bounds, const_true(), s); name 19 src/DeepCopy.cpp copied_map[iter.second] = Function(iter.second.name()); name 35 src/DeepCopy.cpp copy_env.emplace(iter.first.name(), iter.second); name 41 src/DeepCopy.cpp debug(4) << "Adding deep-copied version to outputs: " << func.name() << "\n"; name 44 src/DeepCopy.cpp debug(4) << "Adding original version to outputs: " << func.name() << "\n"; name 23 src/Deinterleave.cpp StoreCollector(const std::string &name, int stride, int ms, name 26 src/Deinterleave.cpp store_name(name), store_stride(stride), max_stores(ms), name 54 src/Deinterleave.cpp if (op->name == store_name) { name 84 src/Deinterleave.cpp if (op->name != store_name) { name 137 src/Deinterleave.cpp Stmt collect_strided_stores(Stmt stmt, const std::string& name, int stride, int max_stores, name 140 src/Deinterleave.cpp StoreCollector collect(name, stride, max_stores, lets, stores); name 174 src/Deinterleave.cpp expr = Load::make(t, op->name, mutate(op->index), op->image, op->param, mutate(op->predicate)); name 192 src/Deinterleave.cpp if (internal.contains(op->name)) { name 193 src/Deinterleave.cpp expr = internal.get(op->name); name 194 src/Deinterleave.cpp } else if (external_lets.contains(op->name) && name 197 src/Deinterleave.cpp expr = Variable::make(t, op->name + ".even_lanes", op->image, op->param, op->reduction_domain); name 198 src/Deinterleave.cpp } else if (external_lets.contains(op->name) && name 201 src/Deinterleave.cpp expr = Variable::make(t, op->name + ".odd_lanes", op->image, op->param, op->reduction_domain); name 202 src/Deinterleave.cpp } else if (external_lets.contains(op->name) && name 205 src/Deinterleave.cpp expr = Variable::make(t, op->name + ".lanes_0_of_3", op->image, op->param, op->reduction_domain); name 206 src/Deinterleave.cpp } else if (external_lets.contains(op->name) && name 209 src/Deinterleave.cpp expr = Variable::make(t, op->name + ".lanes_1_of_3", op->image, op->param, op->reduction_domain); name 210 src/Deinterleave.cpp } else if (external_lets.contains(op->name) && name 213 src/Deinterleave.cpp expr = Variable::make(t, op->name + ".lanes_2_of_3", op->image, op->param, op->reduction_domain); name 263 src/Deinterleave.cpp expr = Call::make(t, op->name, args, op->call_type, name 274 src/Deinterleave.cpp internal.push(op->name, new_var); name 276 src/Deinterleave.cpp internal.pop(op->name); name 282 src/Deinterleave.cpp expr = Let::make(op->name, op->value, expr); name 414 src/Deinterleave.cpp alignment_info.push(op->name, modulus_remainder(value, alignment_info)); name 418 src/Deinterleave.cpp vector_lets.push(op->name, 0); name 422 src/Deinterleave.cpp vector_lets.pop(op->name); name 425 src/Deinterleave.cpp alignment_info.pop(op->name); name 432 src/Deinterleave.cpp result = T::make(op->name, value, body); name 438 src/Deinterleave.cpp result = T::make(op->name + ".even_lanes", extract_even_lanes(value, vector_lets), result); name 439 src/Deinterleave.cpp result = T::make(op->name + ".odd_lanes", extract_odd_lanes(value, vector_lets), result); name 442 src/Deinterleave.cpp result = T::make(op->name + ".lanes_0_of_3", extract_mod3_lanes(value, 0, vector_lets), result); name 443 src/Deinterleave.cpp result = T::make(op->name + ".lanes_1_of_3", extract_mod3_lanes(value, 1, vector_lets), result); name 444 src/Deinterleave.cpp result = T::make(op->name + ".lanes_2_of_3", extract_mod3_lanes(value, 2, vector_lets), result); name 503 src/Deinterleave.cpp expr = Load::make(op->type, op->name, idx, op->image, op->param, predicate); name 509 src/Deinterleave.cpp expr = Load::make(op->type, op->name, idx, op->image, op->param, predicate); name 514 src/Deinterleave.cpp expr = Load::make(op->type, op->name, idx, op->image, op->param, predicate); name 516 src/Deinterleave.cpp expr = Load::make(op->type, op->name, idx, op->image, op->param, predicate); name 547 src/Deinterleave.cpp stmt = Store::make(op->name, value, idx, op->param, predicate); name 590 src/Deinterleave.cpp Stmt rest = collect_strided_stores(op->rest, store->name, name 648 src/Deinterleave.cpp load_name = load->name; name 652 src/Deinterleave.cpp if (load->name != load_name) goto fail; name 693 src/Deinterleave.cpp Stmt new_store = Store::make(store->name, value, index, store->param, predicate); name 702 src/Deinterleave.cpp stmt = LetStmt::make(let->name, let->value, stmt); name 56 src/DeviceArgument.cpp if (op->name == Call::glsl_texture_load || name 57 src/DeviceArgument.cpp op->name == Call::image_load) { name 59 src/DeviceArgument.cpp } else if (op->name == Call::glsl_texture_store || name 60 src/DeviceArgument.cpp op->name == Call::image_store) { name 77 src/DeviceArgument.cpp if (CodeGen_GPU_Dev::is_gpu_var(loop->name)) { name 79 src/DeviceArgument.cpp ignore.push(loop->name, 0); name 81 src/DeviceArgument.cpp ignore.pop(loop->name); name 22 src/DeviceArgument.h std::string name; name 75 src/DeviceArgument.h name(_name), name 32 src/DeviceInterface.cpp bool lookup_runtime_routine(const std::string &name, name 40 src/DeviceInterface.cpp runtime[i].exports().find(name); name 62 src/DeviceInterface.cpp std::string name; name 64 src/DeviceInterface.cpp name = "metal"; name 66 src/DeviceInterface.cpp name = "opencl"; name 68 src/DeviceInterface.cpp name = "cuda"; name 70 src/DeviceInterface.cpp name = "openglcompute"; name 72 src/DeviceInterface.cpp name = "opengl"; name 77 src/DeviceInterface.cpp if (lookup_runtime_routine("halide_" + name + "_device_interface", t, fn)) { name 40 src/EarlyFree.cpp if (func == load->name) { name 47 src/EarlyFree.cpp if (call->name == func) { name 50 src/EarlyFree.cpp if (call->name == "halide_device_malloc" && expr_uses_var(call, func + ".buffer")) { name 57 src/EarlyFree.cpp if (func == store->name) { name 64 src/EarlyFree.cpp if (var->name == func || var->name == func + ".buffer") { name 154 src/EarlyFree.cpp FindLastUse last_use(alloc->name); name 159 src/EarlyFree.cpp inject_marker.func = alloc->name; name 164 src/EarlyFree.cpp stmt = Allocate::make(alloc->name, alloc->type, alloc->extents, alloc->condition, name 165 src/EarlyFree.cpp Block::make(alloc->body, make_free(alloc->name, last_use.found_device_malloc)), name 265 src/Elf.cpp const char *assert_string_valid(const char *name, const char *data, size_t size) { name 266 src/Elf.cpp internal_assert(data <= name && name + strlen(name) + 1 <= data + size); name 267 src/Elf.cpp return name; name 306 src/Elf.cpp unsigned long elf_hash(const char *name) { name 309 src/Elf.cpp for (char c = *name; c; c = *name++) { name 359 src/Elf.cpp const char *name = assert_string_valid(&strings[sh->sh_name], data, size); name 360 src/Elf.cpp auto section = obj->add_section(name, (Section::Type)sh->sh_type); name 384 src/Elf.cpp const char *name = assert_string_valid(&strings[sym.st_name], data, size); name 385 src/Elf.cpp auto symbol = obj->add_symbol(name); name 402 src/Elf.cpp const char *name = assert_string_valid(&strings[sh->sh_name], data, size); name 403 src/Elf.cpp internal_assert(strncmp(name, ".rela.", 6) == 0); name 405 src/Elf.cpp auto to_relocate = obj->find_section(name + 5); name 429 src/Elf.cpp Object::symbol_iterator Object::add_symbol(const std::string &name) { name 430 src/Elf.cpp syms.emplace_back(name); name 434 src/Elf.cpp Object::section_iterator Object::add_section(const std::string &name, Section::Type type) { name 435 src/Elf.cpp secs.emplace_back(name, type); name 439 src/Elf.cpp Object::section_iterator Object::find_section(const std::string &name) { name 441 src/Elf.cpp if (i->get_name() == name) { name 448 src/Elf.cpp Object::symbol_iterator Object::find_symbol(const std::string &name) { name 450 src/Elf.cpp if (i->get_name() == name) { name 457 src/Elf.cpp Object::const_symbol_iterator Object::find_symbol(const std::string &name) const { name 459 src/Elf.cpp if (i->get_name() == name) { name 783 src/Elf.cpp const char *name = &strings.table[syms[i].st_name]; name 784 src/Elf.cpp uint32_t hash = elf_hash(name) % bucket_count; name 71 src/Elf.h std::string name; name 81 src/Elf.h Symbol(const std::string &name) : name(name) {} name 85 src/Elf.h Symbol &set_name(const std::string &name) { name 86 src/Elf.h this->name = name; name 89 src/Elf.h const std::string &get_name() const { return name; } name 216 src/Elf.h std::string name; name 227 src/Elf.h Section(const std::string &name, Type type) : name(name), type(type) {} name 229 src/Elf.h Section &set_name(const std::string &name) { name 230 src/Elf.h this->name = name; name 233 src/Elf.h const std::string &get_name() const { return name; } name 438 src/Elf.h section_iterator find_section(const std::string &name); name 440 src/Elf.h section_iterator add_section(const std::string &name, Section::Type type); name 454 src/Elf.h symbol_iterator find_symbol(const std::string &name); name 455 src/Elf.h const_symbol_iterator find_symbol(const std::string &name) const; name 457 src/Elf.h symbol_iterator add_symbol(const std::string &name); name 16 src/EliminateBoolVectors.cpp if (lets.contains(op->name)) { name 17 src/EliminateBoolVectors.cpp expr = Variable::make(lets.get(op->name), op->name); name 138 src/EliminateBoolVectors.cpp stmt = Store::make(op->name, value, index, op->param, predicate); name 202 src/EliminateBoolVectors.cpp lets.push(op->name, value.type()); name 206 src/EliminateBoolVectors.cpp lets.pop(op->name); name 210 src/EliminateBoolVectors.cpp return LetType::make(op->name, value, body); name 22 src/ExprUsesVar.h void visit_name(const std::string &name) { name 23 src/ExprUsesVar.h if (vars.contains(name)) { name 25 src/ExprUsesVar.h } else if (scope.contains(name)) { name 26 src/ExprUsesVar.h include(scope.get(name)); name 31 src/ExprUsesVar.h visit_name(op->name); name 35 src/ExprUsesVar.h visit_name(op->name); name 40 src/ExprUsesVar.h visit_name(op->name); name 14 src/Extern.h #define _halide_check_arg_type(t, name, e, n) \ name 15 src/Extern.h _halide_user_assert(e.type() == t) << "Type mismatch for argument " << n << " to extern function " << #name << ". Type expected is " << t << " but the argument " << e << " has type " << e.type() << ".\n"; name 17 src/Extern.h #define HalideExtern_1(rt, name, t1) \ name 18 src/Extern.h Halide::Expr name(const Halide::Expr &a1) { \ name 19 src/Extern.h _halide_check_arg_type(Halide::type_of<t1>(), name, a1, 1); \ name 20 src/Extern.h return Halide::Internal::Call::make(Halide::type_of<rt>(), #name, {a1}, Halide::Internal::Call::Extern); \ name 23 src/Extern.h #define HalideExtern_2(rt, name, t1, t2) \ name 24 src/Extern.h Halide::Expr name(const Halide::Expr &a1, const Halide::Expr &a2) { \ name 25 src/Extern.h _halide_check_arg_type(Halide::type_of<t1>(), name, a1, 1); \ name 26 src/Extern.h _halide_check_arg_type(Halide::type_of<t2>(), name, a2, 2); \ name 27 src/Extern.h return Halide::Internal::Call::make(Halide::type_of<rt>(), #name, {a1, a2}, Halide::Internal::Call::Extern); \ name 30 src/Extern.h #define HalideExtern_3(rt, name, t1, t2, t3) \ name 31 src/Extern.h Halide::Expr name(const Halide::Expr &a1, const Halide::Expr &a2,const Halide::Expr &a3) { \ name 32 src/Extern.h _halide_check_arg_type(Halide::type_of<t1>(), name, a1, 1); \ name 33 src/Extern.h _halide_check_arg_type(Halide::type_of<t2>(), name, a2, 2); \ name 34 src/Extern.h _halide_check_arg_type(Halide::type_of<t3>(), name, a3, 3); \ name 35 src/Extern.h return Halide::Internal::Call::make(Halide::type_of<rt>(), #name, {a1, a2, a3}, Halide::Internal::Call::Extern); \ name 38 src/Extern.h #define HalideExtern_4(rt, name, t1, t2, t3, t4) \ name 39 src/Extern.h Halide::Expr name(const Halide::Expr &a1, const Halide::Expr &a2, const Halide::Expr &a3, const Halide::Expr &a4) { \ name 40 src/Extern.h _halide_check_arg_type(Halide::type_of<t1>(), name, a1, 1); \ name 41 src/Extern.h _halide_check_arg_type(Halide::type_of<t2>(), name, a2, 2); \ name 42 src/Extern.h _halide_check_arg_type(Halide::type_of<t3>(), name, a3, 3); \ name 43 src/Extern.h _halide_check_arg_type(Halide::type_of<t4>(), name, a4, 4); \ name 44 src/Extern.h return Halide::Internal::Call::make(Halide::type_of<rt>(), #name, {a1, a2, a3, a4}, Halide::Internal::Call::Extern); \ name 47 src/Extern.h #define HalideExtern_5(rt, name, t1, t2, t3, t4, t5) \ name 48 src/Extern.h Halide::Expr name(const Halide::Expr &a1, const Halide::Expr &a2, const Halide::Expr &a3, const Halide::Expr &a4, const Halide::Expr &a5) { \ name 49 src/Extern.h _halide_check_arg_type(Halide::type_of<t1>(), name, a1, 1); \ name 50 src/Extern.h _halide_check_arg_type(Halide::type_of<t2>(), name, a2, 2); \ name 51 src/Extern.h _halide_check_arg_type(Halide::type_of<t3>(), name, a3, 3); \ name 52 src/Extern.h _halide_check_arg_type(Halide::type_of<t4>(), name, a4, 4); \ name 53 src/Extern.h _halide_check_arg_type(Halide::type_of<t5>(), name, a5, 5); \ name 54 src/Extern.h return Halide::Internal::Call::make(Halide::type_of<rt>(), #name, {a1, a2, a3, a4, a5}, Halide::Internal::Call::Extern); \ name 57 src/Extern.h #define HalidePureExtern_1(rt, name, t1) \ name 58 src/Extern.h Halide::Expr name(const Halide::Expr &a1) { \ name 59 src/Extern.h _halide_check_arg_type(Halide::type_of<t1>(), name, a1, 1); \ name 60 src/Extern.h return Halide::Internal::Call::make(Halide::type_of<rt>(), #name, {a1}, Halide::Internal::Call::PureExtern); \ name 63 src/Extern.h #define HalidePureExtern_2(rt, name, t1, t2) \ name 64 src/Extern.h Halide::Expr name(const Halide::Expr &a1, const Halide::Expr &a2) { \ name 65 src/Extern.h _halide_check_arg_type(Halide::type_of<t1>(), name, a1, 1); \ name 66 src/Extern.h _halide_check_arg_type(Halide::type_of<t2>(), name, a2, 2); \ name 67 src/Extern.h return Halide::Internal::Call::make(Halide::type_of<rt>(), #name, {a1, a2}, Halide::Internal::Call::PureExtern); \ name 70 src/Extern.h #define HalidePureExtern_3(rt, name, t1, t2, t3) \ name 71 src/Extern.h Halide::Expr name(const Halide::Expr &a1, const Halide::Expr &a2, const Halide::Expr &a3) { \ name 72 src/Extern.h _halide_check_arg_type(Halide::type_of<t1>(), name, a1, 1); \ name 73 src/Extern.h _halide_check_arg_type(Halide::type_of<t2>(), name, a2, 2); \ name 74 src/Extern.h _halide_check_arg_type(Halide::type_of<t3>(), name, a3, 3); \ name 75 src/Extern.h return Halide::Internal::Call::make(Halide::type_of<rt>(), #name, {a1, a2, a3}, Halide::Internal::Call::PureExtern); \ name 78 src/Extern.h #define HalidePureExtern_4(rt, name, t1, t2, t3, t4) \ name 79 src/Extern.h Halide::Expr name(const Halide::Expr &a1, const Halide::Expr &a2, const Halide::Expr &a3, const Halide::Expr &a4) { \ name 80 src/Extern.h _halide_check_arg_type(Halide::type_of<t1>(), name, a1, 1); \ name 81 src/Extern.h _halide_check_arg_type(Halide::type_of<t2>(), name, a2, 2); \ name 82 src/Extern.h _halide_check_arg_type(Halide::type_of<t3>(), name, a3, 3); \ name 83 src/Extern.h _halide_check_arg_type(Halide::type_of<t4>(), name, a4, 4); \ name 84 src/Extern.h return Halide::Internal::Call::make(Halide::type_of<rt>(), #name, {a1, a2, a3, a4}, Halide::Internal::Call::PureExtern); \ name 87 src/Extern.h #define HalidePureExtern_5(rt, name, t1, t2, t3, t4, t5) \ name 88 src/Extern.h Halide::Expr name(const Halide::Expr &a1, const Halide::Expr &a2, const Halide::Expr &a3, const Halide::Expr &a4, const Halide::Expr &a5) { \ name 89 src/Extern.h _halide_check_arg_type(Halide::type_of<t1>(), name, a1, 1); \ name 90 src/Extern.h _halide_check_arg_type(Halide::type_of<t2>(), name, a2, 2); \ name 91 src/Extern.h _halide_check_arg_type(Halide::type_of<t3>(), name, a3, 3); \ name 92 src/Extern.h _halide_check_arg_type(Halide::type_of<t4>(), name, a4, 4); \ name 93 src/Extern.h _halide_check_arg_type(Halide::type_of<t5>(), name, a5, 5); \ name 94 src/Extern.h return Halide::Internal::Call::make(Halide::type_of<rt>(), #name, {a1, a2, a3, a4, a5}, Halide::Internal::Call::PureExtern); \ name 27 src/ExternalCode.h ExternalCode(Kind kind, const Target &llvm_target, DeviceAPI device_api, const std::vector<uint8_t> &code, const std::string &name) name 28 src/ExternalCode.h : kind(kind), llvm_target(llvm_target), device_code_kind(device_api), code(code), nametag(name) { name 44 src/ExternalCode.h static ExternalCode bitcode_wrapper(const Target &cpu_type, const std::vector<uint8_t> &code, const std::string &name) { name 45 src/ExternalCode.h return ExternalCode(LLVMBitcode, cpu_type, DeviceAPI::None, code, name); name 69 src/ExternalCode.h static ExternalCode device_code_wrapper(DeviceAPI device_api, const std::vector<uint8_t> &code, const std::string &name) { name 70 src/ExternalCode.h return ExternalCode(DeviceCode, Target(), device_api, code, name); name 87 src/ExternalCode.h static ExternalCode c_plus_plus_code_wrapper(const std::vector<uint8_t> &code, const std::string &name) { name 88 src/ExternalCode.h return ExternalCode(CPlusPlusSource, Target(), DeviceAPI::None, code, name); name 124 src/ExternalCode.h const std::string &name() const { return nametag; } name 20 src/FindCalls.cpp map<string, Function>::iterator iter = calls.find(f.name()); name 22 src/FindCalls.cpp calls[f.name()] = f; name 26 src/FindCalls.cpp << f.name() << "\n"; name 42 src/FindCalls.cpp map<string, Function>::const_iterator iter = env.find(f.name()); name 46 src/FindCalls.cpp << f.name() << "\n"; name 56 src/FindCalls.cpp calls.calls[g.name()] = g; name 64 src/FindCalls.cpp env[f.name()] = f; name 47 src/Func.cpp Func::Func(const string &name) : func(unique_name(name)) {} name 58 src/Func.cpp return func.name(); name 78 src/Func.cpp << "Can't call Func::value() on Func \"" << name() << "\", because it has multiple values.\n"; name 93 src/Func.cpp << "Can't call Func::update_args() on Func \"" << name() name 105 src/Func.cpp << "Can't call Func::update_args() on Func \"" << name() << "\" as it has no update definition. " name 110 src/Func.cpp << "Can't call Func::update_value() on Func \"" << name() << "\", because it has multiple values.\n"; name 117 src/Func.cpp << "Can't call Func::update_args() on Func \"" << name() << "\" as it has no update definition. " name 130 src/Func.cpp << "Can't call Func::update_args() on Func \"" << name() << "\" as it has no update definition. " name 218 src/Func.cpp Internal::debug(2) << "Adding implicit var " << i << " to call to " << name() << "\n"; name 226 src/Func.cpp user_error << "Func \"" << name() << "\" was called with " name 239 src/Func.cpp if (var && var->name == _.name()) name 248 src/Func.cpp Internal::debug(2) << "Adding implicit var " << i << " to call to " << name() << "\n"; name 256 src/Func.cpp user_error << "Func \"" << name() << "\" was called with " name 281 src/Func.cpp if (var_name_match(dims[i].var, var.name())) { name 292 src/Func.cpp << ", marking var " << var.name() name 307 src/Func.cpp << ", can't vectorize across " << var.name() name 315 src/Func.cpp << var.name() name 326 src/Func.cpp if (var_name_match(dims[i].var, var.name())) { name 335 src/Func.cpp << var.name() name 366 src/Func.cpp if ((c->call_type == Call::Halide) && (func == c->name)) { name 369 src/Func.cpp debug(4) << "...Replace call to Func \"" << c->name << "\" with " name 370 src/Func.cpp << "\"" << substitute.name() << "\"\n"; name 396 src/Func.cpp void substitute_var_in_exprs(const string &name, Expr value, vector<Expr> &exprs) { name 398 src/Func.cpp expr = substitute(name, value, expr); name 412 src/Func.cpp substitute_var_in_exprs(res.name, res.value, predicates); name 413 src/Func.cpp substitute_var_in_exprs(res.name, res.value, args); name 414 src/Func.cpp substitute_var_in_exprs(res.name, res.value, values); name 624 src/Func.cpp [&rv](const Dim& dim) { return var_name_match(dim.var, rv.name()); }); name 627 src/Func.cpp << ", can't perform rfactor() on " << rv.name() name 635 src/Func.cpp [&v](const Dim& dim) { return var_name_match(dim.var, v.name()); }); name 638 src/Func.cpp << ", can't rename the rvars " << rv.name() << " into " << v.name() name 681 src/Func.cpp [&rv](const pair<RVar, Var>& pair) { return var_name_match(rv.var, pair.first.name()); }); name 696 src/Func.cpp [&lhs](const ReductionVariable& rv) { return var_name_match(rv.var, lhs.first.name()); }); name 698 src/Func.cpp [&rhs](const ReductionVariable& rv) { return var_name_match(rv.var, rhs.first.name()); }); name 718 src/Func.cpp [&rv](const RVar &rvar) { return var_name_match(rv.var, rvar.name()); }); name 770 src/Func.cpp [&rvar_kept](const ReductionVariable &rv) { return var_name_match(rv.var, rvar_kept.name()); }); name 829 src/Func.cpp [&v](const Dim& dim) { return var_name_match(dim.var, v.name()); }); name 831 src/Func.cpp Dim d = {v.name(), ForType::Serial, DeviceAPI::None, Dim::Type::PureVar}; name 1018 src/Func.cpp user_assert(outer.is_rvar) << "Can't split RVar " << old.name() << " into Var " << outer.name() << "\n"; name 1019 src/Func.cpp user_assert(inner.is_rvar) << "Can't split RVar " << old.name() << " into Var " << inner.name() << "\n"; name 1021 src/Func.cpp user_assert(!outer.is_rvar) << "Can't split Var " << old.name() << " into RVar " << outer.name() << "\n"; name 1022 src/Func.cpp user_assert(!inner.is_rvar) << "Can't split Var " << old.name() << " into RVar " << inner.name() << "\n"; name 1024 src/Func.cpp split(old.name(), outer.name(), inner.name(), factor, old.is_rvar, tail); name 1030 src/Func.cpp user_assert(outer.is_rvar) << "Can't fuse RVar " << inner.name() name 1031 src/Func.cpp << " with Var " << outer.name() << "\n"; name 1032 src/Func.cpp user_assert(fused.is_rvar) << "Can't fuse RVar " << inner.name() name 1033 src/Func.cpp << "into Var " << fused.name() << "\n"; name 1035 src/Func.cpp user_assert(!outer.is_rvar) << "Can't fuse Var " << inner.name() name 1036 src/Func.cpp << " with RVar " << outer.name() << "\n"; name 1037 src/Func.cpp user_assert(!fused.is_rvar) << "Can't fuse Var " << inner.name() name 1038 src/Func.cpp << "into RVar " << fused.name() << "\n"; name 1041 src/Func.cpp debug(4) << "In schedule for " << stage_name << ", fuse " << outer.name() name 1042 src/Func.cpp << " and " << inner.name() << " into " << fused.name() << "\n"; name 1051 src/Func.cpp if (var_name_match(dims[i].var, outer.name())) { name 1061 src/Func.cpp << outer.name() name 1067 src/Func.cpp if (var_name_match(dims[i].var, inner.name())) { name 1070 src/Func.cpp fused_name = inner_name + "." + fused.name(); name 1088 src/Func.cpp << inner.name() name 1107 src/Func.cpp offending_var = var->name; name 1155 src/Func.cpp << ", can't rename " << (old_var.is_rvar ? "RVar " : "Var ") << old_var.name() name 1156 src/Func.cpp << " to " << (new_var.is_rvar ? "RVar " : "Var ") << new_var.name() name 1160 src/Func.cpp << old_var.name() << " to Var " << new_var.name() << "\n"; name 1166 src/Func.cpp string old_name, new_name = new_var.name(); name 1170 src/Func.cpp if (var_name_match(dims[i].var, old_var.name())) { name 1182 src/Func.cpp << old_var.name() name 1292 src/Func.cpp << ", can't rename RVar " << old_var.name() name 1293 src/Func.cpp << " to Var " << new_var.name() << "\n"; name 1297 src/Func.cpp << ", can't rename Var " << old_var.name() name 1298 src/Func.cpp << " to RVar " << new_var.name() << "\n"; name 1301 src/Func.cpp debug(4) << "In schedule for " << stage_name << ", rename " << old_var.name() name 1302 src/Func.cpp << " to " << new_var.name() << "\n"; name 1311 src/Func.cpp if (var_name_match(dims[i].var, old_var.name())) { name 1314 src/Func.cpp dims[i].var += "." + new_var.name(); name 1318 src/Func.cpp string new_name = old_name + "." + new_var.name(); name 1324 src/Func.cpp << old_var.name() name 1472 src/Func.cpp if (var_name_match(dims[j].var, vars[i].name())) { name 1478 src/Func.cpp << "In schedule for " << stage.name() name 1479 src/Func.cpp << ", could not find var " << vars[i].name() name 1492 src/Func.cpp << "In schedule for " << stage.name() name 1493 src/Func.cpp << ", can't reorder RVars " << vars[i].name() name 1494 src/Func.cpp << " and " << vars[j].name() name 1736 src/Func.cpp PrefetchDirective prefetch = {f.name(), var.name(), offset, strategy, Parameter()}; name 1742 src/Func.cpp PrefetchDirective prefetch = {param.name(), var.name(), offset, strategy, param}; name 1755 src/Func.cpp user_assert(name() != f.name()) << "Cannot call 'in()' on itself\n"; name 1757 src/Func.cpp const auto &iter = wrappers.find(f.name()); name 1759 src/Func.cpp Func wrapper(name() + "_in_" + f.name()); name 1761 src/Func.cpp func.add_wrapper(f.name(), wrapper.func); name 1770 src/Func.cpp if (it.first == f.name()) { name 1774 src/Func.cpp << "Redefinition of shared wrapper with " << it.first << " [" << name() << " -> " name 1775 src/Func.cpp << Function(wrapper_contents).name() << "] in " << f.name() << " is not allowed\n"; name 1792 src/Func.cpp const auto &iter = wrappers.find(fs[0].name()); name 1796 src/Func.cpp user_assert(wrappers.count(fs[i].name()) == 0) name 1797 src/Func.cpp << "Cannot define the wrapper since " << fs[i].name() name 1798 src/Func.cpp << " already has a wrapper while " << fs[0].name() << " doesn't \n"; name 1800 src/Func.cpp Func wrapper(name() + "_wrapper"); name 1803 src/Func.cpp user_assert(name() != f.name()) << "Cannot call 'in()' on itself\n"; name 1804 src/Func.cpp func.add_wrapper(f.name(), wrapper.func); name 1815 src/Func.cpp if (it.first == fs[0].name()) { name 1819 src/Func.cpp fs.begin(), fs.end(), [&it](const Func& f) { return f.name() == it.first; }); name 1824 src/Func.cpp << it.first << " should have shared the same wrapper as " << fs[0].name() << "\n"; name 1827 src/Func.cpp << "Redefinition of shared wrapper [" << name() << " -> " name 1828 src/Func.cpp << Function(wrapper_contents).name() << "] in " << fs[0].name() << " is illegal since " name 1842 src/Func.cpp Func wrapper(name() + "_global_wrapper"); name 1857 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).split(old, outer, inner, factor, tail); name 1863 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).fuse(inner, outer, fused); name 1869 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).rename(old_name, new_name); name 1874 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).allow_race_conditions(); name 1886 src/Func.cpp return Stage(func.definition(), name(), args(), func.schedule().storage_dims()).specialize(c); name 1891 src/Func.cpp (void) Stage(func.definition(), name(), args(), func.schedule().storage_dims()).specialize_fail(message); name 1896 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).serial(var); name 1902 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).parallel(var); name 1908 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).vectorize(var); name 1914 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).unroll(var); name 1920 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).parallel(var, factor, tail); name 1926 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).vectorize(var, factor, tail); name 1932 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).unroll(var, factor, tail); name 1949 src/Func.cpp if (var.name() == func.args()[i]) { name 1954 src/Func.cpp << "Can't bound variable " << var.name() name 1955 src/Func.cpp << " of function " << name() name 1956 src/Func.cpp << " because " << var.name() name 1957 src/Func.cpp << " is not one of the pure variables of " << name() << ".\n"; name 1959 src/Func.cpp Bound b = {var.name(), min, extent, Expr(), Expr()}; name 1984 src/Func.cpp if (var.name() == func.args()[i]) { name 1989 src/Func.cpp << "Can't align bounds of variable " << var.name() name 1990 src/Func.cpp << " of function " << name() name 1991 src/Func.cpp << " because " << var.name() name 1992 src/Func.cpp << " is not one of the pure variables of " << name() << ".\n"; name 1994 src/Func.cpp Bound b = {var.name(), Expr(), Expr(), modulus, remainder}; name 2005 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).tile(x, y, xo, yo, xi, yi, xfactor, yfactor, tail); name 2014 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).tile(x, y, xi, yi, xfactor, yfactor, tail); name 2020 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).reorder(vars); name 2026 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_threads(tx, device_api); name 2032 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_threads(tx, ty, device_api); name 2038 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_threads(tx, ty, tz, device_api); name 2044 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_blocks(bx, device_api); name 2050 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_blocks(bx, by, device_api); name 2056 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_blocks(bx, by, bz, device_api); name 2062 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_single_thread(device_api); name 2068 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu(bx, tx, device_api); name 2074 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu(bx, by, tx, ty, device_api); name 2080 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu(bx, by, bz, tx, ty, tz, device_api); name 2086 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_tile(x, bx, tx, x_size, tail, device_api); name 2092 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_tile(x, bx, tx, x_size, tail, device_api); name 2098 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_tile(x, tx, x_size, tail, device_api); name 2109 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()) name 2120 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()) name 2131 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()) name 2143 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()) name 2154 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()) name 2161 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_tile(x, x_size, tail, device_api); name 2170 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_tile(x, y, x_size, y_size, tail, device_api); name 2179 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_tile(x, y, z, x_size, y_size, z_size, tail, device_api); name 2192 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).gpu_blocks(x, y, device_api); name 2197 src/Func.cpp if (c.name() == sched.bounds()[i].var) { name 2214 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).hexagon(x); name 2220 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).prefetch(f, var, offset, strategy); name 2226 src/Func.cpp Stage(func.definition(), name(), args(), func.schedule().storage_dims()).prefetch(param, var, offset, strategy); name 2237 src/Func.cpp if (var_name_match(dims[i].var, y.name())) { name 2240 src/Func.cpp } else if (var_name_match(dims[i].var, x.name())) { name 2245 src/Func.cpp user_error << "Could not find variables " << x.name() name 2246 src/Func.cpp << " and " << y.name() << " to reorder in schedule.\n"; name 2274 src/Func.cpp if (var_name_match(dims[i].var, dim.name())) { name 2279 src/Func.cpp user_error << "Could not find variable " << dim.name() name 2289 src/Func.cpp if (var_name_match(dims[i].var, dim.name())) { name 2295 src/Func.cpp user_error << "Could not find variable " << dim.name() name 2369 src/Func.cpp name() << "\".\n"; name 2372 src/Func.cpp name() + ".update(" + std::to_string(idx) + ")", name 2378 src/Func.cpp return Stage(func.definition(), name(), args(), func.schedule().storage_dims()); name 2395 src/Func.cpp int index = Var::implicit_index(v->name); name 2406 src/Func.cpp Internal::check_call_arg_types(f.name(), &args, args.size()); name 2423 src/Func.cpp << "Argument " << (i+1) << " in call to \"" << func.name() << "\" is undefined.\n"; name 2427 src/Func.cpp << "Value " << (i+1) << " in definition of \"" << func.name() << "\" is undefined.\n"; name 2441 src/Func.cpp << "The update definition of " << func.name() << " uses " << count.count name 2448 src/Func.cpp Internal::debug(2) << "Adding " << count.count << " implicit vars to LHS of " << func.name() << "\n"; name 2464 src/Func.cpp if (arg->name == v.name()) { name 2470 src/Func.cpp << "Right-hand-side of update definition of " << func.name() name 2488 src/Func.cpp << func.name() << "\" is not a Var.\n"; name 2497 src/Func.cpp expanded_args_str[i] = v->name; name 2500 src/Func.cpp return Stage(func.definition(), func.name(), func.args(), func.schedule().storage_dims()); name 2507 src/Func.cpp func.name() + ".update(" + std::to_string(update_stage) + ")", name 2533 src/Func.cpp pure_args[i] = Var(v->name); name 2655 src/Func.cpp << "Can't call Func \"" << func.name() << "\" because it has not yet been defined.\n"; name 2658 src/Func.cpp << "Can't convert a reference Func \"" << func.name() name 2659 src/Func.cpp << "\" to an Expr, because " << func.name() << " returns a Tuple.\n"; name 2666 src/Func.cpp << "Can't call Func \"" << func.name() << "\" because it has not yet been defined.\n"; name 2669 src/Func.cpp << "Can't index into a reference to Func \"" << func.name() name 2673 src/Func.cpp << "Tuple index out of range in reference to Func \"" << func.name() << "\".\n"; name 2686 src/Func.cpp << "Func " << ref.function().name() << " does not return a Tuple\n"; name 2780 src/Func.cpp << "Can't call Func::output_buffer on Func \"" << name() name 34 src/Func.h const std::string &name() const { name 35 src/Func.h if (is_rvar) return rvar.name(); name 36 src/Func.h else return var.name(); name 95 src/Func.h EXPORT const std::string &name() const; name 521 src/Func.h EXPORT explicit Func(const std::string &name); name 879 src/Func.h EXPORT const std::string &name() const; name 36 src/Function.cpp std::string name; name 130 src/Function.cpp const std::string name; name 134 src/Function.cpp name(n) {} name 140 src/Function.cpp defined_internally.push(let->name, 0); name 142 src/Function.cpp defined_internally.pop(let->name); name 147 src/Function.cpp if (op->name == name && op->call_type == Call::Halide) { name 151 src/Function.cpp user_assert(var && var->name == pure_args[i]) name 152 src/Function.cpp << "In definition of Func \"" << name << "\":\n" name 166 src/Function.cpp if (defined_internally.contains(var->name)) return; name 170 src/Function.cpp if (var->name == pure_args[i]) return; name 182 src/Function.cpp user_error << "Multiple reduction domains found in definition of Func \"" << name << "\"\n"; name 188 src/Function.cpp if (rv.var == var->name) { name 194 src/Function.cpp user_error << "Undefined variable \"" << var->name << "\" in definition of Func \"" << name << "\"\n"; name 212 src/Function.cpp expr = Call::make(c->type, c->name, c->args, c->call_type, name 230 src/Function.cpp op->name != func) { name 259 src/Function.cpp contents->name = n; name 303 src/Function.cpp debug(4) << "Deep-copy function contents: \"" << src->name << "\"\n"; name 307 src/Function.cpp dst->name = src->name; name 364 src/Function.cpp << old_func.name() << " is deep-copied twice\n"; name 373 src/Function.cpp << "Func " << name() << " cannot be given a new pure definition, " name 376 src/Function.cpp << "In pure definition of Func \"" << name() << "\":\n" name 378 src/Function.cpp user_assert(!name().empty()) << "A Func may not have an empty name.\n"; name 381 src/Function.cpp << "In pure definition of Func \"" << name() << "\":\n" name 387 src/Function.cpp CheckVars check(name()); name 394 src/Function.cpp FreezeFunctions freezer(name()); name 402 src/Function.cpp << "In pure definition of Func \"" << name() << "\":\n" name 407 src/Function.cpp << "In pure definition of Func \"" << name() << "\":\n" name 425 src/Function.cpp << "In pure definition of Func \"" << name() << "\":\n" name 430 src/Function.cpp contents->name = unique_name('f'); name 436 src/Function.cpp << "In pure definition of Func \"" << name() << "\":\n" name 455 src/Function.cpp Dim d = {Var::outermost().name(), ForType::Serial, DeviceAPI::None, Dim::Type::PureVar}; name 465 src/Function.cpp string buffer_name = name(); name 477 src/Function.cpp user_assert(!name().empty()) name 480 src/Function.cpp << "In update definition " << update_idx << " of Func \"" << name() << "\":\n" name 483 src/Function.cpp << "Func " << name() << " cannot be given a new update definition, " name 488 src/Function.cpp << "In update definition " << update_idx << " of Func \"" << name() << "\":\n" name 495 src/Function.cpp << "In update definition " << update_idx << " of Func \"" << name() << "\":\n" name 499 src/Function.cpp << "In update definition " << update_idx << " of Func \"" << name() << "\":\n" name 511 src/Function.cpp err << "In update definition " << update_idx << " of Func \"" << name() << "\":\n"; name 537 src/Function.cpp << "In update definition " << update_idx << " of Func \"" << name() << "\":\n" name 545 src/Function.cpp var->name == pure_var->name) { name 546 src/Function.cpp pure_args[i] = var->name; name 559 src/Function.cpp CheckVars check(name()); name 573 src/Function.cpp FreezeFunctions freezer(name()); name 641 src/Function.cpp bool pure = can_parallelize_rvar(v, name(), r); name 659 src/Function.cpp Dim d = {Var::outermost().name(), ForType::Serial, DeviceAPI::None, Dim::Type::PureVar}; name 670 src/Function.cpp << "In update definition " << update_idx << " of Func \"" << name() << "\":\n" name 689 src/Function.cpp << "In extern definition for Func \"" << name() << "\":\n" name 693 src/Function.cpp << "In extern definition for Func \"" << name() << "\":\n" name 703 src/Function.cpp string buffer_name = name(); name 727 src/Function.cpp return contents->name; name 744 src/Function.cpp arg_names[i] = var->name; name 904 src/Function.cpp debug(4) << "...Replace call to Func \"" << c->name << "\" with " name 905 src/Function.cpp << "\"" << subs.name() << "\"\n"; name 932 src/Function.cpp debug(4) << "Substituting calls in " << name() << "\n"; name 130 src/Function.h EXPORT const std::string &name() const; name 39 src/FuseGPUThreadLoops.cpp if (CodeGen_GPU_Dev::is_gpu_thread_var(op->name)) { name 83 src/FuseGPUThreadLoops.cpp if (ends_with(op->name, thread_names[i])) { name 91 src/FuseGPUThreadLoops.cpp scope.push(op->name, name 92 src/FuseGPUThreadLoops.cpp Interval(Variable::make(Int(32), op->name + ".loop_min"), name 93 src/FuseGPUThreadLoops.cpp Variable::make(Int(32), op->name + ".loop_max"))); name 96 src/FuseGPUThreadLoops.cpp expr_uses_var(block_extent[i], op->name)) { name 106 src/FuseGPUThreadLoops.cpp expr_uses_var(block_extent[i], op->name)) { name 107 src/FuseGPUThreadLoops.cpp block_extent[i] = simplify(Let::make(op->name, op->value, block_extent[i])); name 146 src/FuseGPUThreadLoops.cpp string name = thread_names[max_depth]; name 147 src/FuseGPUThreadLoops.cpp s = For::make("." + name, 0, 1, ForType::GPUThread, device_api, s); name 170 src/FuseGPUThreadLoops.cpp if (CodeGen_GPU_Dev::is_gpu_thread_var(op->name)) { name 193 src/FuseGPUThreadLoops.cpp if (CodeGen_GPU_Dev::is_gpu_thread_var(op->name)) { name 196 src/FuseGPUThreadLoops.cpp if (ends_with(op->name, thread_names[dim])) { name 206 src/FuseGPUThreadLoops.cpp body = substitute(op->name, var + op->min, body); name 234 src/FuseGPUThreadLoops.cpp string name; name 274 src/FuseGPUThreadLoops.cpp if (CodeGen_GPU_Dev::is_gpu_thread_var(op->name)) { name 289 src/FuseGPUThreadLoops.cpp scope.push(op->name, Interval(Variable::make(Int(32), op->name + ".loop_min"), name 290 src/FuseGPUThreadLoops.cpp Variable::make(Int(32), op->name + ".loop_max"))); name 294 src/FuseGPUThreadLoops.cpp if (expr_uses_var(s.size, op->name)) { name 306 src/FuseGPUThreadLoops.cpp stmt = For::make(op->name, mutate(op->min), mutate(op->extent), op->for_type, op->device_api, body); name 336 src/FuseGPUThreadLoops.cpp shared.emplace(op->name, IntInterval(barrier_stage, barrier_stage)); name 342 src/FuseGPUThreadLoops.cpp alloc.name = op->name; name 344 src/FuseGPUThreadLoops.cpp alloc.liveness = shared[op->name]; name 351 src/FuseGPUThreadLoops.cpp shared.erase(op->name); name 356 src/FuseGPUThreadLoops.cpp if (shared.count(op->name)) { name 359 src/FuseGPUThreadLoops.cpp shared[op->name].max = barrier_stage; name 361 src/FuseGPUThreadLoops.cpp expr = Load::make(op->type, shared_mem_name + "_" + op->name, name 364 src/FuseGPUThreadLoops.cpp Expr base = Variable::make(Int(32), op->name + ".shared_offset"); name 375 src/FuseGPUThreadLoops.cpp if (shared.count(op->name)) { name 376 src/FuseGPUThreadLoops.cpp shared[op->name].max = barrier_stage; name 381 src/FuseGPUThreadLoops.cpp stmt = Store::make(shared_mem_name + "_" + op->name, value, index, name 384 src/FuseGPUThreadLoops.cpp Expr base = Variable::make(Int(32), op->name + ".shared_offset"); name 402 src/FuseGPUThreadLoops.cpp if (expr_uses_var(s.size, op->name)) { name 403 src/FuseGPUThreadLoops.cpp s.size = simplify(Let::make(op->name, op->value, s.size)); name 410 src/FuseGPUThreadLoops.cpp stmt = LetStmt::make(op->name, value, body); name 505 src/FuseGPUThreadLoops.cpp if (mem_allocs[j].group.back().name == allocations[i].name) { name 527 src/FuseGPUThreadLoops.cpp s = Allocate::make(shared_mem_name + "_" + alloc.name, name 547 src/FuseGPUThreadLoops.cpp sentinel.name = "sentinel"; name 565 src/FuseGPUThreadLoops.cpp s = LetStmt::make(alloc.name + ".shared_offset", simplify(offset), s); name 590 src/FuseGPUThreadLoops.cpp if (ends_with(op->name, ".__block_id_x")) { name 630 src/FuseGPUThreadLoops.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, body); name 654 src/FuseGPUThreadLoops.cpp user_assert(!(CodeGen_GPU_Dev::is_gpu_thread_var(op->name))) name 655 src/FuseGPUThreadLoops.cpp << "Loops over GPU thread variable: \"" << op->name name 661 src/FuseGPUThreadLoops.cpp if (CodeGen_GPU_Dev::is_gpu_block_var(op->name)) { name 693 src/FuseGPUThreadLoops.cpp if (CodeGen_GPU_Dev::is_gpu_var(op->name) && !is_zero(op->min)) { name 696 src/FuseGPUThreadLoops.cpp Expr adjusted = Variable::make(Int(32), op->name) + op->min; name 697 src/FuseGPUThreadLoops.cpp Stmt body = substitute(op->name, adjusted, op->body); name 698 src/FuseGPUThreadLoops.cpp stmt = For::make(op->name, 0, op->extent, op->for_type, op->device_api, body); name 721 src/FuseGPUThreadLoops.cpp if (ends_with(op->name, block_names[4-i])) { name 723 src/FuseGPUThreadLoops.cpp << "Invalid schedule: Loop over " << op->name name 726 src/FuseGPUThreadLoops.cpp << "Invalid schedule: Loop over " << op->name name 728 src/FuseGPUThreadLoops.cpp innermost_block_var = op->name; name 731 src/FuseGPUThreadLoops.cpp if (ends_with(op->name, thread_names[4-i])) { name 733 src/FuseGPUThreadLoops.cpp << "Invalid schedule: Loop over " << op->name name 736 src/FuseGPUThreadLoops.cpp << "Invalid schedule: Loop over " << op->name name 738 src/FuseGPUThreadLoops.cpp innermost_thread_var = op->name; name 21 src/FuzzFloatStores.cpp stmt = Store::make(op->name, value, op->index, op->param, op->predicate); name 106 src/Generator.cpp return Argument(param.name(), name 160 src/Generator.cpp Func make_param_func(const Parameter &p, const std::string &name) { name 169 src/Generator.cpp Func f = Func(name + "_im"); name 187 src/Generator.cpp void ValueTracker::track_values(const std::string &name, const std::vector<Expr> &values) { name 188 src/Generator.cpp std::vector<std::vector<Expr>> &history = values_history[name]; name 199 src/Generator.cpp << " for name " << name << "\n"; name 290 src/Generator.cpp if (p->name == "target") continue; name 315 src/Generator.cpp std::string name = "GeneratorParams"; name 316 src/Generator.cpp stream << indent() << "struct " << name << " final {\n"; name 320 src/Generator.cpp stream << indent() << p->get_c_type() << " " << p->name << "{ " << p->get_default_value() << " };\n"; name 325 src/Generator.cpp stream << indent() << name << "() {}\n"; name 329 src/Generator.cpp stream << indent() << name << "(\n"; name 333 src/Generator.cpp stream << indent() << comma << p->get_c_type() << " " << p->name << "\n"; name 341 src/Generator.cpp stream << indent() << comma << p->name << "(" << p->name << ")\n"; name 354 src/Generator.cpp stream << indent() << "if (" << p->name << " != " << p->get_default_value() << ") " name 355 src/Generator.cpp << "m[\"" << p->name << "\"] = " << p->call_to_string(p->name) << ";\n"; name 391 src/Generator.cpp std::string name; name 399 src/Generator.cpp in_info.push_back({c_type, input->name()}); name 402 src/Generator.cpp const std::string name = "Inputs"; name 403 src/Generator.cpp stream << indent() << "struct " << name << " final {\n"; name 406 src/Generator.cpp stream << indent() << in.c_type << " " << in.name << ";\n"; name 410 src/Generator.cpp stream << indent() << name << "() {}\n"; name 413 src/Generator.cpp stream << indent() << name << "(\n"; name 417 src/Generator.cpp stream << indent() << comma << "const " << in.c_type << "& " << in.name << "\n"; name 425 src/Generator.cpp stream << indent() << comma << in.name << "(" << in.name << ")\n"; name 451 src/Generator.cpp std::string name; name 463 src/Generator.cpp output->name(), name 465 src/Generator.cpp getter + "(\"" + output->name() + "\")" name 516 src/Generator.cpp stream << indent() << sp->name() << "(\"" << sp->name() << "\")" << comma << "\n"; name 537 src/Generator.cpp stream << indent() << "to_stub_input_vector(inputs." << inputs[i]->name() << ")"; name 543 src/Generator.cpp stream << indent() << ", " << sp->name() << "(get_schedule_param(\"" << sp->name() << "\"))\n"; name 546 src/Generator.cpp stream << indent() << ", " << out.name << "(" << out.getter << ")\n"; name 580 src/Generator.cpp stream << indent() << comma << "typename" << " " << p->name << " = std::ratio<" << ratio.first << ", " << ratio.second << ">\n"; name 582 src/Generator.cpp stream << indent() << comma << type << " " << p->name << " = " << value << "\n"; name 596 src/Generator.cpp stream << indent() << comma << "Halide::type_of<" << p->name << ">()\n"; name 598 src/Generator.cpp stream << indent() << comma << "ratio_to_double<" << p->name << ">()\n"; name 600 src/Generator.cpp stream << indent() << comma << p->name << "\n"; name 628 src/Generator.cpp stream << indent() << ", " << sp->name() << "(std::move(that." << sp->name() << "))\n"; name 631 src/Generator.cpp stream << indent() << ", " << out.name << "(std::move(that." << out.name << "))\n"; name 643 src/Generator.cpp stream << indent() << sp->name() << " = std::move(that." << sp->name() << ");\n"; name 646 src/Generator.cpp stream << indent() << out.name << " = std::move(that." << out.name << ");\n"; name 656 src/Generator.cpp stream << indent() << "ScheduleParam<" << c_type << "> " << sp->name() << ";\n"; name 663 src/Generator.cpp stream << indent() << out.ctype << " " << out.name << ";\n"; name 676 src/Generator.cpp stream << indent() << "verify_same_funcs(" << out.name << ", " << out.getter << ");\n"; name 716 src/Generator.cpp << "Expected Func " << a.name() << " and " << b.name() << " to match.\n"; name 837 src/Generator.cpp for (auto name : generator_names) { name 838 src/Generator.cpp cerr << " " << name << "\n"; name 952 src/Generator.cpp (const std::string &name, const Target &target) -> Module { name 958 src/Generator.cpp return gen->build_module(name); name 974 src/Generator.cpp GeneratorParamBase::GeneratorParamBase(const std::string &name) : name(name) { name 982 src/Generator.cpp user_assert(generator && generator->phase >= GeneratorBase::GenerateCalled) << "The GeneratorParam " << name << " cannot be read before build() or generate() is called.\n"; name 989 src/Generator.cpp if (name == "target") return; name 990 src/Generator.cpp user_assert(generator->phase < GeneratorBase::GenerateCalled) << "The GeneratorParam " << name << " cannot be written after build() or generate() is called.\n"; name 994 src/Generator.cpp user_error << "The GeneratorParam " << name << " cannot be set with a value of type " << type << ".\n"; name 1004 src/Generator.cpp void GeneratorRegistry::register_factory(const std::string &name, name 1006 src/Generator.cpp for (auto n : split_string(name, "::")) { name 1011 src/Generator.cpp internal_assert(registry.factories.find(name) == registry.factories.end()) name 1012 src/Generator.cpp << "Duplicate Generator name: " << name; name 1013 src/Generator.cpp registry.factories[name] = std::move(factory); name 1017 src/Generator.cpp void GeneratorRegistry::unregister_factory(const std::string &name) { name 1020 src/Generator.cpp internal_assert(registry.factories.find(name) != registry.factories.end()) name 1021 src/Generator.cpp << "Generator not found: " << name; name 1022 src/Generator.cpp registry.factories.erase(name); name 1026 src/Generator.cpp std::unique_ptr<GeneratorBase> GeneratorRegistry::create(const std::string &name, name 1031 src/Generator.cpp auto it = registry.factories.find(name); name 1034 src/Generator.cpp o << "Generator not found: " << name << "\n"; name 1086 src/Generator.cpp user_assert(param->is_explicit_name()) << "Params in Generators must have explicit names: " << param->name(); name 1087 src/Generator.cpp user_assert(is_valid_name(param->name())) << "Invalid Param name: " << param->name(); name 1088 src/Generator.cpp user_assert(!names.count(param->name())) << "Duplicate Param name: " << param->name(); name 1089 src/Generator.cpp names.insert(param->name()); name 1097 src/Generator.cpp const std::string &n = gio->name(); name 1115 src/Generator.cpp user_assert(is_valid_name(input->name())) << "Invalid Input name: (" << input->name() << ")\n"; name 1116 src/Generator.cpp user_assert(!names.count(input->name())) << "Duplicate Input name: " << input->name(); name 1117 src/Generator.cpp names.insert(input->name()); name 1129 src/Generator.cpp user_assert(is_valid_name(output->name())) << "Invalid Output name: (" << output->name() << ")\n"; name 1130 src/Generator.cpp user_assert(!names.count(output->name())) << "Duplicate Output name: " << output->name(); name 1131 src/Generator.cpp names.insert(output->name()); name 1156 src/Generator.cpp user_assert(is_valid_name(param->name)) << "Invalid GeneratorParam name: " << param->name; name 1157 src/Generator.cpp user_assert(!names.count(param->name)) << "Duplicate GeneratorParam name: " << param->name; name 1158 src/Generator.cpp names.insert(param->name); name 1166 src/Generator.cpp generator_params_by_name[g->name] = g; name 1178 src/Generator.cpp user_assert(!param->name().empty()) << "ScheduleParams must have explicit names when used in Generators."; name 1179 src/Generator.cpp user_assert(is_valid_name(param->name())) << "Invalid ScheduleParam name: " << param->name(); name 1180 src/Generator.cpp user_assert(!names.count(param->name())) << "Duplicate ScheduleParam name: " << param->name(); name 1181 src/Generator.cpp names.insert(param->name()); name 1183 src/Generator.cpp schedule_params_by_name[param->name()] = param; name 1196 src/Generator.cpp return get_output(pi.filter_outputs[0]->name()); name 1204 src/Generator.cpp if (output->name() == n) { name 1221 src/Generator.cpp if (output->name() == n) { name 1233 src/Generator.cpp Internal::GeneratorParamBase &GeneratorBase::find_generator_param_by_name(const std::string &name) { name 1235 src/Generator.cpp auto it = pi.generator_params_by_name.find(name); name 1236 src/Generator.cpp user_assert(it != pi.generator_params_by_name.end()) << "Generator has no GeneratorParam named: " << name << "\n"; name 1258 src/Generator.cpp Internal::ScheduleParamBase &GeneratorBase::find_schedule_param_by_name(const std::string &name) { name 1260 src/Generator.cpp auto it = pi.schedule_params_by_name.find(name); name 1261 src/Generator.cpp user_assert(it != pi.schedule_params_by_name.end()) << "Generator has no ScheduleParam named: " << name << "\n"; name 1291 src/Generator.cpp value_tracker->track_values(p.name(), parameter_constraints(p)); name 1299 src/Generator.cpp value_tracker->track_values(p.name(), parameter_constraints(p)); name 1385 src/Generator.cpp user_assert(f.defined()) << "Output \"" << f.name() << "\" was not defined.\n"; name 1387 src/Generator.cpp user_assert(f.dimensions() == output->dimensions()) << "Output \"" << f.name() name 1392 src/Generator.cpp user_assert((int)f.outputs() == (int)output->types().size()) << "Output \"" << f.name() name 1398 src/Generator.cpp user_assert(expected == actual) << "Output \"" << f.name() name 1462 src/Generator.cpp << "Input " << in->name() << " is an array, and must be set with a vector type."; name 1467 src/Generator.cpp << "Input " << in->name() << " is not an array, and must not be set with a vector type."; name 1472 src/Generator.cpp << "Input " << in->name() << " cannot be set with the type specified."; name 1476 src/Generator.cpp const std::string &name, name 1480 src/Generator.cpp : array_size_(array_size), name_(name), kind_(kind), types_(types), dimensions_(dimensions) { name 1492 src/Generator.cpp internal_assert(array_size_defined()) << "ArraySize is unspecified for " << name() name 1494 src/Generator.cpp << name() << ".size = value in your build rules."; name 1515 src/Generator.cpp internal_assert(types_defined()) << "Type is unspecified for " << name() << "\n"; name 1520 src/Generator.cpp internal_assert(types_.size() == 1) << "Expected types_.size() == 1, saw " << types_.size() << " for " << name() << "\n"; name 1529 src/Generator.cpp internal_assert(dimensions_defined()) << "Dimensions unspecified for " << name() << "\n"; name 1548 src/Generator.cpp user_assert(f.defined()) << "Input/Output " << name() << " is not defined.\n"; name 1552 src/Generator.cpp << " for " << name() << "\n"; name 1556 src/Generator.cpp << " for " << name() << "\n"; name 1560 src/Generator.cpp << " for " << name() << "\n"; name 1564 src/Generator.cpp << " for " << name() << "\n"; name 1568 src/Generator.cpp user_assert(e.defined()) << "Input/Ouput " << name() << " is not defined.\n"; name 1572 src/Generator.cpp << " for " << name() << "\n"; name 1578 src/Generator.cpp std::string n = name(); name 1590 src/Generator.cpp user_assert(types().size() == t.size()) << "Type mismatch for " << name() << ": expected " << types().size() << " types but saw " << t.size(); name 1592 src/Generator.cpp user_assert(types().at(i) == t.at(i)) << "Type mismatch for " << name() << ": expected " << types().at(i) << " saw " << t.at(i); name 1599 src/Generator.cpp user_assert(dimensions() == d) << "Dimensions mismatch for " << name() << ": expected " << dimensions() << " saw " << d; name 1607 src/Generator.cpp user_assert(array_size() == size) << "ArraySize mismatch for " << name() << ": expected " << array_size() << " saw " << size; name 1614 src/Generator.cpp const std::string &name, name 1618 src/Generator.cpp : GIOBase(array_size, name, kind, t, d) { name 1622 src/Generator.cpp GeneratorInputBase::GeneratorInputBase(const std::string &name, IOKind kind, const std::vector<Type> &t, int d) name 1623 src/Generator.cpp : GeneratorInputBase(1, name, kind, t, d) { name 1632 src/Generator.cpp user_assert(generator && generator->phase == GeneratorBase::InputsSet) << "The Input " << name() << " cannot be set at this point.\n"; name 1652 src/Generator.cpp << expected << ", saw " << parameters_.size() << " for " << name() << "\n"; name 1656 src/Generator.cpp user_assert(array_size_defined()) << "ArraySize is not defined for Input " << name() << "; you may need to specify a GeneratorParam.\n"; name 1657 src/Generator.cpp user_assert(types_defined()) << "Type is not defined for Input " << name() << "; you may need to specify a GeneratorParam.\n"; name 1658 src/Generator.cpp user_assert(dimensions_defined()) << "Dimensions is not defined for Input " << name() << "; you may need to specify a GeneratorParam.\n"; name 1685 src/Generator.cpp user_assert(in.kind() == kind()) << "An input for " << name() << " is not of the expected kind.\n"; name 1699 src/Generator.cpp Func f(name() + "_im"); name 1703 src/Generator.cpp funcs_.push_back(make_param_func(p, name())); name 1719 src/Generator.cpp GeneratorOutputBase::GeneratorOutputBase(size_t array_size, const std::string &name, IOKind kind, const std::vector<Type> &t, int d) name 1720 src/Generator.cpp : GIOBase(array_size, name, kind, t, d) { name 1726 src/Generator.cpp GeneratorOutputBase::GeneratorOutputBase(const std::string &name, IOKind kind, const std::vector<Type> &t, int d) name 1727 src/Generator.cpp : GeneratorOutputBase(1, name, kind, t, d) { name 1736 src/Generator.cpp user_assert(generator && generator->phase == GeneratorBase::GenerateCalled) << "The Output " << name() << " can only be set inside generate().\n"; name 1751 src/Generator.cpp internal_assert(!array_size_defined()) << "You may only call " << name() name 251 src/Generator.h EXPORT void track_values(const std::string &name, const std::vector<Expr> &values); name 327 src/Generator.h EXPORT explicit GeneratorParamBase(const std::string &name); name 330 src/Generator.h const std::string name; name 416 src/Generator.h GeneratorParamImpl(const std::string &name, const T &value) : GeneratorParamBase(name), value_(value) {} name 478 src/Generator.h GeneratorParam_Target(const std::string &name, const T &value) : GeneratorParamImpl<T>(name, value) {} name 502 src/Generator.h GeneratorParam_Arithmetic(const std::string &name, name 506 src/Generator.h : GeneratorParamImpl<T>(name, value), min(min), max(max) { name 567 src/Generator.h GeneratorParam_Bool(const std::string &name, const T &value) : GeneratorParam_Arithmetic<T>(name, value) {} name 599 src/Generator.h GeneratorParam_Enum(const std::string &name, const T &value, const std::map<std::string, T> &enum_map) name 600 src/Generator.h : GeneratorParamImpl<T>(name, value), enum_map(enum_map) {} name 613 src/Generator.h return "Enum_" + this->name + "_map().at(" + v + ")"; name 617 src/Generator.h return "Enum_" + this->name; name 621 src/Generator.h return "Enum_" + this->name + "::" + enum_to_string(enum_map, this->value()); name 626 src/Generator.h oss << "enum class Enum_" << this->name << " {\n"; name 635 src/Generator.h oss << "inline NO_INLINE const std::map<Enum_" << this->name << ", std::string>& Enum_" << this->name << "_map() {\n"; name 636 src/Generator.h oss << " static const std::map<Enum_" << this->name << ", std::string> m = {\n"; name 638 src/Generator.h oss << " { Enum_" << this->name << "::" << key_value.first << ", \"" << key_value.first << "\"},\n"; name 653 src/Generator.h GeneratorParam_Type(const std::string &name, const T &value) name 654 src/Generator.h : GeneratorParam_Enum<T>(name, value, get_halide_type_enum_map()) {} name 724 src/Generator.h GeneratorParam(const std::string &name, const T &value) name 725 src/Generator.h : Internal::GeneratorParamImplBase<T>(name, value) {} name 727 src/Generator.h GeneratorParam(const std::string &name, const T &value, const T &min, const T &max) name 728 src/Generator.h : Internal::GeneratorParamImplBase<T>(name, value, min, max) {} name 730 src/Generator.h GeneratorParam(const std::string &name, const T &value, const std::map<std::string, T> &enum_map) name 731 src/Generator.h : Internal::GeneratorParamImplBase<T>(name, value, enum_map) {} name 733 src/Generator.h GeneratorParam(const std::string &name, const std::string &value) name 734 src/Generator.h : Internal::GeneratorParamImplBase<T>(name, value) {} name 1094 src/Generator.h EXPORT const std::string &name() const; name 1109 src/Generator.h const std::string &name, name 1177 src/Generator.h const std::string &name, name 1182 src/Generator.h EXPORT GeneratorInputBase(const std::string &name, IOKind kind, const std::vector<Type> &t, int d); name 1220 src/Generator.h GeneratorInputImpl(const std::string &name, IOKind kind, const std::vector<Type> &t, int d) name 1221 src/Generator.h : GeneratorInputBase(name, kind, t, d) { name 1228 src/Generator.h GeneratorInputImpl(const std::string &name, IOKind kind, const std::vector<Type> &t, int d) name 1229 src/Generator.h : GeneratorInputBase(std::extent<T2, 0>::value, name, kind, t, d) { name 1236 src/Generator.h GeneratorInputImpl(const std::string &name, IOKind kind, const std::vector<Type> &t, int d) name 1237 src/Generator.h : GeneratorInputBase(-1, name, kind, t, d) { name 1298 src/Generator.h GeneratorInput_Buffer(const std::string &name) name 1299 src/Generator.h : Super(name, IOKind::Buffer, name 1304 src/Generator.h GeneratorInput_Buffer(const std::string &name, const Type &t, int d = -1) name 1305 src/Generator.h : Super(name, IOKind::Buffer, {t}, d) { name 1309 src/Generator.h GeneratorInput_Buffer(const std::string &name, int d) name 1310 src/Generator.h : Super(name, IOKind::Buffer, T::has_static_halide_type() ? std::vector<Type>{ T::static_halide_type() } : std::vector<Type>{}, d) { name 1347 src/Generator.h GeneratorInput_Func(const std::string &name, const Type &t, int d) name 1348 src/Generator.h : Super(name, IOKind::Function, {t}, d) { name 1352 src/Generator.h GeneratorInput_Func(const std::string &name, int d) name 1353 src/Generator.h : Super(name, IOKind::Function, {}, d) { name 1357 src/Generator.h GeneratorInput_Func(const std::string &name, const Type &t) name 1358 src/Generator.h : Super(name, IOKind::Function, {t}, -1) { name 1362 src/Generator.h GeneratorInput_Func(const std::string &name) name 1363 src/Generator.h : Super(name, IOKind::Function, {}, -1) { name 1366 src/Generator.h GeneratorInput_Func(size_t array_size, const std::string &name, const Type &t, int d) name 1367 src/Generator.h : Super(array_size, name, IOKind::Function, {t}, d) { name 1371 src/Generator.h GeneratorInput_Func(size_t array_size, const std::string &name, int d) name 1372 src/Generator.h : Super(array_size, name, IOKind::Function, {}, d) { name 1376 src/Generator.h GeneratorInput_Func(size_t array_size, const std::string &name, const Type &t) name 1377 src/Generator.h : Super(array_size, name, IOKind::Function, {t}, -1) { name 1381 src/Generator.h GeneratorInput_Func(size_t array_size, const std::string &name) name 1382 src/Generator.h : Super(array_size, name, IOKind::Function, {}, -1) { name 1421 src/Generator.h explicit GeneratorInput_Scalar(const std::string &name, name 1423 src/Generator.h : Super(name, IOKind::Scalar, {type_of<TBase>()}, 0), def_(def) { name 1427 src/Generator.h const std::string &name, name 1429 src/Generator.h : Super(array_size, name, IOKind::Scalar, {type_of<TBase>()}, 0), def_(def) { name 1469 src/Generator.h explicit GeneratorInput_Arithmetic(const std::string &name, name 1471 src/Generator.h : Super(name, def), min_(Expr()), max_(Expr()) { name 1475 src/Generator.h const std::string &name, name 1477 src/Generator.h : Super(array_size, name, def), min_(Expr()), max_(Expr()) { name 1480 src/Generator.h GeneratorInput_Arithmetic(const std::string &name, name 1484 src/Generator.h : Super(name, def), min_(min), max_(max) { name 1488 src/Generator.h const std::string &name, name 1492 src/Generator.h : Super(array_size, name, def), min_(min), max_(max) { name 1535 src/Generator.h explicit GeneratorInput(const std::string &name) name 1536 src/Generator.h : Super(name) { name 1539 src/Generator.h GeneratorInput(const std::string &name, const TBase &def) name 1540 src/Generator.h : Super(name, def) { name 1543 src/Generator.h GeneratorInput(size_t array_size, const std::string &name, const TBase &def) name 1544 src/Generator.h : Super(array_size, name, def) { name 1547 src/Generator.h GeneratorInput(const std::string &name, name 1549 src/Generator.h : Super(name, def, min, max) { name 1552 src/Generator.h GeneratorInput(size_t array_size, const std::string &name, name 1554 src/Generator.h : Super(array_size, name, def, min, max) { name 1557 src/Generator.h GeneratorInput(const std::string &name, const Type &t, int d) name 1558 src/Generator.h : Super(name, t, d) { name 1561 src/Generator.h GeneratorInput(const std::string &name, const Type &t) name 1562 src/Generator.h : Super(name, t) { name 1566 src/Generator.h GeneratorInput(const std::string &name, IntIfNonScalar d) name 1567 src/Generator.h : Super(name, d) { name 1570 src/Generator.h GeneratorInput(size_t array_size, const std::string &name, const Type &t, int d) name 1571 src/Generator.h : Super(array_size, name, t, d) { name 1574 src/Generator.h GeneratorInput(size_t array_size, const std::string &name, const Type &t) name 1575 src/Generator.h : Super(array_size, name, t) { name 1580 src/Generator.h GeneratorInput(size_t array_size, const std::string &name, IntIfNonScalar d) name 1581 src/Generator.h : Super(array_size, name, d) { name 1584 src/Generator.h GeneratorInput(size_t array_size, const std::string &name) name 1585 src/Generator.h : Super(array_size, name) { name 1662 src/Generator.h const std::string &name, name 1667 src/Generator.h EXPORT GeneratorOutputBase(const std::string &name, name 1713 src/Generator.h GeneratorOutputImpl(const std::string &name, IOKind kind, const std::vector<Type> &t, int d) name 1714 src/Generator.h : GeneratorOutputBase(name, kind, t, d) { name 1721 src/Generator.h GeneratorOutputImpl(const std::string &name, IOKind kind, const std::vector<Type> &t, int d) name 1722 src/Generator.h : GeneratorOutputBase(std::extent<T2, 0>::value, name, kind, t, d) { name 1729 src/Generator.h GeneratorOutputImpl(const std::string &name, IOKind kind, const std::vector<Type> &t, int d) name 1730 src/Generator.h : GeneratorOutputBase(-1, name, kind, t, d) { name 1792 src/Generator.h GeneratorOutput_Buffer(const std::string &name) name 1793 src/Generator.h : Super(name, IOKind::Buffer, name 1798 src/Generator.h GeneratorOutput_Buffer(const std::string &name, const std::vector<Type> &t, int d = -1) name 1799 src/Generator.h : Super(name, IOKind::Buffer, name 1805 src/Generator.h user_assert(t.size() <= 1) << "Output<Buffer<>>(" << name << ") requires at most one Type, but has " << t.size() << "\n"; name 1809 src/Generator.h GeneratorOutput_Buffer(const std::string &name, int d) name 1810 src/Generator.h : Super(name, IOKind::Buffer, std::vector<Type>{ T::static_halide_type() }, d) { name 1842 src/Generator.h << "Cannot assign to the Output \"" << this->name() name 1877 src/Generator.h << "Cannot assign to the Output \"" << this->name() name 1912 src/Generator.h GeneratorOutput_Func(const std::string &name, const std::vector<Type> &t, int d) name 1913 src/Generator.h : Super(name, IOKind::Function, t, d) { name 1916 src/Generator.h GeneratorOutput_Func(size_t array_size, const std::string &name, const std::vector<Type> &t, int d) name 1917 src/Generator.h : Super(array_size, name, IOKind::Function, t, d) { name 1954 src/Generator.h explicit GeneratorOutput_Arithmetic(const std::string &name) name 1955 src/Generator.h : Super(name, IOKind::Function, {type_of<TBase>()}, 0) { name 1958 src/Generator.h GeneratorOutput_Arithmetic(size_t array_size, const std::string &name) name 1959 src/Generator.h : Super(array_size, name, IOKind::Function, {type_of<TBase>()}, 0) { name 1981 src/Generator.h explicit GeneratorOutput(const std::string &name) name 1982 src/Generator.h : Super(name) { name 1985 src/Generator.h explicit GeneratorOutput(const char *name) name 1986 src/Generator.h : GeneratorOutput(std::string(name)) { name 1989 src/Generator.h GeneratorOutput(size_t array_size, const std::string &name) name 1990 src/Generator.h : Super(array_size, name) { name 1993 src/Generator.h GeneratorOutput(const std::string &name, int d) name 1994 src/Generator.h : Super(name, {}, d) { name 1997 src/Generator.h GeneratorOutput(const std::string &name, const Type &t, int d) name 1998 src/Generator.h : Super(name, {t}, d) { name 2001 src/Generator.h GeneratorOutput(const std::string &name, const std::vector<Type> &t, int d) name 2002 src/Generator.h : Super(name, t, d) { name 2005 src/Generator.h GeneratorOutput(size_t array_size, const std::string &name, int d) name 2006 src/Generator.h : Super(array_size, name, {}, d) { name 2009 src/Generator.h GeneratorOutput(size_t array_size, const std::string &name, const Type &t, int d) name 2010 src/Generator.h : Super(array_size, name, {t}, d) { name 2013 src/Generator.h GeneratorOutput(size_t array_size, const std::string &name, const std::vector<Type> &t, int d) name 2014 src/Generator.h : Super(array_size, name, t, d) { name 2083 src/Generator.h GeneratorParam_Synthetic(const std::string &name, GIOBase &gio, Which which) : GeneratorParamImpl<T>(name, T()), gio(gio), which(which) {} name 2246 src/Generator.h EXPORT void set_generator_param(const std::string &name, const std::string &value); name 2250 src/Generator.h GeneratorBase &set_generator_param(const std::string &name, const T &value) { name 2251 src/Generator.h find_generator_param_by_name(name).set(value); name 2256 src/Generator.h GeneratorBase &set_schedule_param(const std::string &name, const T &value) { name 2257 src/Generator.h find_schedule_param_by_name(name).set(value); name 2436 src/Generator.h EXPORT Internal::GeneratorParamBase &find_generator_param_by_name(const std::string &name); name 2437 src/Generator.h EXPORT Internal::ScheduleParamBase &find_schedule_param_by_name(const std::string &name); name 2480 src/Generator.h Halide::Func f(arg.name() + "_im"); name 2637 src/Generator.h EXPORT static void register_factory(const std::string &name, std::unique_ptr<GeneratorFactory> factory); name 2638 src/Generator.h EXPORT static void unregister_factory(const std::string &name); name 2642 src/Generator.h EXPORT static std::unique_ptr<GeneratorBase> create(const std::string &name, name 2806 src/Generator.h GeneratorStub &set_schedule_param(const std::string &name, const T &value) { name 2807 src/Generator.h generator->set_schedule_param(name, value); name 577 src/HexagonOffload.cpp auto i = replacements.find(op->name); name 579 src/HexagonOffload.cpp expr = Load::make(op->type, op->name, mutate(op->index), op->image, name 587 src/HexagonOffload.cpp auto i = replacements.find(op->name); name 589 src/HexagonOffload.cpp stmt = Store::make(op->name, mutate(op->value), mutate(op->index), name 614 src/HexagonOffload.cpp Expr state_var(const std::string& name, Type type) { name 615 src/HexagonOffload.cpp return Let::make(name, state_var_ptr(name, type), name 616 src/HexagonOffload.cpp Load::make(type_of<void*>(), name, 0, name 620 src/HexagonOffload.cpp Expr state_var_ptr(const std::string& name, Type type) { name 621 src/HexagonOffload.cpp Expr &buf = state_bufs[name]; name 623 src/HexagonOffload.cpp auto storage = Buffer<void *>::make_scalar(name + "_buf"); name 625 src/HexagonOffload.cpp buf = Variable::make(type_of<halide_buffer_t *>(), storage.name() + ".buffer", storage); name 640 src/HexagonOffload.cpp Expr buffer_ptr(const uint8_t* buffer, size_t size, const char* name) { name 641 src/HexagonOffload.cpp Buffer<uint8_t> code((int)size, name); name 643 src/HexagonOffload.cpp Expr buf = Variable::make(type_of<halide_buffer_t *>(), string(name) + ".buffer", code); name 661 src/HexagonOffload.cpp std::string hex_name = unique_name("offload_rpc." + loop->name); name 665 src/HexagonOffload.cpp Stmt body = For::make(loop->name, loop->min, loop->extent, loop->for_type, name 783 src/HexagonOffload.cpp alignment_info.push(op->name, modulus_remainder(op->value, alignment_info)); name 789 src/HexagonOffload.cpp alignment_info.pop(op->name); name 795 src/HexagonOffload.cpp alignment_info.push(op->name, modulus_remainder(op->value, alignment_info)); name 801 src/HexagonOffload.cpp alignment_info.pop(op->name); name 939 src/HexagonOffload.cpp Halide::Buffer<uint8_t> result_buf(shared_object.size(), device_code.name()); name 47 src/HexagonOptimize.cpp bool is_native_interleave_op(Expr x, const char *name) { name 50 src/HexagonOptimize.cpp return starts_with(c->name, name); name 85 src/HexagonOptimize.cpp expr = Variable::make(with_lanes(op->type), op->name); name 941 src/HexagonOptimize.cpp if (var && vars.contains(var->name + ".deinterleaved")) { name 970 src/HexagonOptimize.cpp if (var && vars.contains(var->name + ".weak_deinterleaved")) { name 1001 src/HexagonOptimize.cpp if (vars.contains(var->name + ".deinterleaved")) { name 1002 src/HexagonOptimize.cpp return Variable::make(var->type, var->name + ".deinterleaved"); name 1003 src/HexagonOptimize.cpp } else if (vars.contains(var->name + ".weak_deinterleaved")) { name 1004 src/HexagonOptimize.cpp return Variable::make(var->type, var->name + ".weak_deinterleaved"); name 1011 src/HexagonOptimize.cpp return Let::make(let->name, let->value, remove_interleave(let->body)); name 1116 src/HexagonOptimize.cpp deinterleaved_name = op->name + ".deinterleaved"; name 1122 src/HexagonOptimize.cpp deinterleaved_name = op->name + ".weak_deinterleaved"; name 1133 src/HexagonOptimize.cpp result = LetType::make(op->name, value, body); name 1138 src/HexagonOptimize.cpp bool interleaved_used = uses_var(result, op->name); name 1154 src/HexagonOptimize.cpp result = LetType::make(op->name, interleaved, result); name 1161 src/HexagonOptimize.cpp result = LetType::make(op->name, value, result); name 1164 src/HexagonOptimize.cpp internal_assert(!uses_var(op->body, op->name)) << "EliminateInterleaves eliminated a non-dead let.\n"; name 1175 src/HexagonOptimize.cpp expr = native_interleave(Let::make(let->name, let->value, remove_interleave(let->body))); name 1213 src/HexagonOptimize.cpp if (interleavable.count(op->name) != 0) return true; name 1226 src/HexagonOptimize.cpp if (not_interleavable.count(op->name) != 0) return false; name 1228 src/HexagonOptimize.cpp if (starts_with(op->name, "halide.hexagon.")) { name 1313 src/HexagonOptimize.cpp expr = Call::make(op->type, op->name, args, op->call_type, name 1317 src/HexagonOptimize.cpp } else if (deinterleaving_alts.find(op->name) != deinterleaving_alts.end() && name 1325 src/HexagonOptimize.cpp expr = Call::make(op->type, deinterleaving_alts[op->name], args, op->call_type); name 1326 src/HexagonOptimize.cpp } else if (interleaving_alts.count(op->name) && is_native_deinterleave(args[0])) { name 1332 src/HexagonOptimize.cpp expr = Call::make(op->type, interleaving_alts[op->name], { arg }, op->call_type, name 1335 src/HexagonOptimize.cpp expr = Call::make(op->type, op->name, args, op->call_type, name 1358 src/HexagonOptimize.cpp buffers.push(op->name, BufferState::Unknown); name 1360 src/HexagonOptimize.cpp bool deinterleave = buffers.get(op->name) == BufferState::Interleaved; name 1361 src/HexagonOptimize.cpp buffers.pop(op->name); name 1366 src/HexagonOptimize.cpp deinterleave_buffers.push(op->name, true); name 1368 src/HexagonOptimize.cpp deinterleave_buffers.pop(op->name); name 1372 src/HexagonOptimize.cpp stmt = Allocate::make(op->name, op->type, op->extents, condition, body, name 1384 src/HexagonOptimize.cpp if (buffers.contains(op->name)) { name 1386 src/HexagonOptimize.cpp BufferState &state = buffers.ref(op->name); name 1408 src/HexagonOptimize.cpp if (deinterleave_buffers.contains(op->name)) { name 1418 src/HexagonOptimize.cpp stmt = Store::make(op->name, value, index, op->param, predicate); name 1423 src/HexagonOptimize.cpp if (buffers.contains(op->name)) { name 1437 src/HexagonOptimize.cpp BufferState &state = buffers.ref(op->name); name 1442 src/HexagonOptimize.cpp if (deinterleave_buffers.contains(op->name)) { name 1473 src/HexagonOptimize.cpp if (arg->name == i.first) { name 1530 src/HexagonOptimize.cpp bounds.push(op->name, bounds_of_expr_in_scope(op->value, bounds)); name 1534 src/HexagonOptimize.cpp bounds.pop(op->name); name 1539 src/HexagonOptimize.cpp lets.push_back({op->name, op->value}); name 1584 src/HexagonOptimize.cpp Expr lut = Load::make(op->type.with_lanes(const_extent), op->name, name 1599 src/HexagonOptimize.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, op->predicate); name 232 src/IR.cpp Expr Load::make(Type type, const std::string &name, const Expr &index, Buffer<> image, Parameter param, const Expr &predicate) { name 241 src/IR.cpp node->name = name; name 277 src/IR.cpp Expr Let::make(const std::string &name, const Expr &value, const Expr &body) { name 283 src/IR.cpp node->name = name; name 289 src/IR.cpp Stmt LetStmt::make(const std::string &name, const Expr &value, const Stmt &body) { name 294 src/IR.cpp node->name = name; name 310 src/IR.cpp Stmt ProducerConsumer::make(const std::string &name, bool is_producer, const Stmt &body) { name 314 src/IR.cpp node->name = name; name 320 src/IR.cpp Stmt ProducerConsumer::make_produce(const std::string &name, const Stmt &body) { name 321 src/IR.cpp return ProducerConsumer::make(name, true, body); name 324 src/IR.cpp Stmt ProducerConsumer::make_consume(const std::string &name, const Stmt &body) { name 325 src/IR.cpp return ProducerConsumer::make(name, false, body); name 328 src/IR.cpp Stmt For::make(const std::string &name, const Expr &min, const Expr &extent, ForType for_type, DeviceAPI device_api, const Stmt &body) { name 336 src/IR.cpp node->name = name; name 345 src/IR.cpp Stmt Store::make(const std::string &name, const Expr &value, const Expr &index, Parameter param, const Expr &predicate) { name 354 src/IR.cpp node->name = name; name 362 src/IR.cpp Stmt Provide::make(const std::string &name, const std::vector<Expr> &values, const std::vector<Expr> &args) { name 372 src/IR.cpp node->name = name; name 378 src/IR.cpp Stmt Allocate::make(const std::string &name, Type type, const std::vector<Expr> &extents, name 390 src/IR.cpp node->name = name; name 400 src/IR.cpp int32_t Allocate::constant_allocation_size(const std::vector<Expr> &extents, const std::string &name) { name 420 src/IR.cpp << "Total size for allocation " << name name 432 src/IR.cpp return Allocate::constant_allocation_size(extents, name); name 435 src/IR.cpp Stmt Free::make(const std::string &name) { name 437 src/IR.cpp node->name = name; name 441 src/IR.cpp Stmt Realize::make(const std::string &name, const std::vector<Type> &types, const Region &bounds, const Expr &condition, const Stmt &body) { name 454 src/IR.cpp node->name = name; name 462 src/IR.cpp Stmt Prefetch::make(const std::string &name, const std::vector<Type> &types, const Region &bounds, Parameter param) { name 472 src/IR.cpp node->name = name; name 533 src/IR.cpp return make(func.output_types()[(size_t)idx], func.name(), args, Halide, name 537 src/IR.cpp Expr Call::make(Type type, const std::string &name, const std::vector<Expr> &args, CallType call_type, name 540 src/IR.cpp if (name == Call::prefetch && call_type == Call::Intrinsic) { name 563 src/IR.cpp node->name = name; name 573 src/IR.cpp Expr Variable::make(Type type, const std::string &name, Buffer<> image, Parameter param, ReductionDomain reduction_domain) { name 574 src/IR.cpp internal_assert(!name.empty()); name 577 src/IR.cpp node->name = name; name 199 src/IR.h std::string name; name 210 src/IR.h EXPORT static Expr make(Type type, const std::string &name, name 247 src/IR.h std::string name; name 250 src/IR.h EXPORT static Expr make(const std::string &name, const Expr &value, const Expr &body); name 258 src/IR.h std::string name; name 262 src/IR.h EXPORT static Stmt make(const std::string &name, const Expr &value, const Stmt &body); name 291 src/IR.h std::string name; name 295 src/IR.h EXPORT static Stmt make(const std::string &name, bool is_producer, const Stmt &body); name 297 src/IR.h EXPORT static Stmt make_produce(const std::string &name, const Stmt &body); name 298 src/IR.h EXPORT static Stmt make_consume(const std::string &name, const Stmt &body); name 309 src/IR.h std::string name; name 314 src/IR.h EXPORT static Stmt make(const std::string &name, const Expr &value, const Expr &index, name 326 src/IR.h std::string name; name 330 src/IR.h EXPORT static Stmt make(const std::string &name, const std::vector<Expr> &values, const std::vector<Expr> &args); name 343 src/IR.h std::string name; name 359 src/IR.h EXPORT static Stmt make(const std::string &name, Type type, const std::vector<Expr> &extents, name 368 src/IR.h EXPORT static int32_t constant_allocation_size(const std::vector<Expr> &extents, const std::string &name); name 376 src/IR.h std::string name; name 378 src/IR.h EXPORT static Stmt make(const std::string &name); name 403 src/IR.h std::string name; name 409 src/IR.h EXPORT static Stmt make(const std::string &name, const std::vector<Type> &types, const Region &bounds, const Expr &condition, const Stmt &body); name 454 src/IR.h std::string name; name 559 src/IR.h EXPORT static Expr make(Type type, const std::string &name, const std::vector<Expr> &args, CallType call_type, name 568 src/IR.h return make(image.type(), image.name(), args, Image, nullptr, 0, image, Parameter()); name 573 src/IR.h return make(param.type(), param.name(), args, Image, nullptr, 0, Buffer<>(), param); name 592 src/IR.h name == intrin_name); name 602 src/IR.h std::string name; name 614 src/IR.h static Expr make(Type type, const std::string &name) { name 615 src/IR.h return make(type, name, Buffer<>(), Parameter(), ReductionDomain()); name 618 src/IR.h static Expr make(Type type, const std::string &name, Parameter param) { name 619 src/IR.h return make(type, name, Buffer<>(), param, ReductionDomain()); name 622 src/IR.h static Expr make(Type type, const std::string &name, Buffer<> image) { name 623 src/IR.h return make(type, name, image, Parameter(), ReductionDomain()); name 626 src/IR.h static Expr make(Type type, const std::string &name, ReductionDomain reduction_domain) { name 627 src/IR.h return make(type, name, Buffer<>(), Parameter(), reduction_domain); name 630 src/IR.h EXPORT static Expr make(Type type, const std::string &name, Buffer<> image, name 649 src/IR.h std::string name; name 655 src/IR.h EXPORT static Stmt make(const std::string &name, const Expr &min, const Expr &extent, ForType for_type, DeviceAPI device_api, const Stmt &body); name 722 src/IR.h std::string name; name 729 src/IR.h EXPORT static Stmt make(const std::string &name, const std::vector<Type> &types, name 260 src/IREquality.cpp compare_names(e->name, op->name); name 303 src/IREquality.cpp compare_names(op->name, e->name); name 323 src/IREquality.cpp compare_names(e->name, op->name); name 332 src/IREquality.cpp compare_names(e->name, op->name); name 340 src/IREquality.cpp compare_names(s->name, op->name); name 355 src/IREquality.cpp compare_names(s->name, op->name); name 363 src/IREquality.cpp compare_names(s->name, op->name); name 373 src/IREquality.cpp compare_names(s->name, op->name); name 383 src/IREquality.cpp compare_names(s->name, op->name); name 391 src/IREquality.cpp compare_names(s->name, op->name); name 402 src/IREquality.cpp compare_names(s->name, op->name); name 426 src/IREquality.cpp compare_names(s->name, op->name); name 457 src/IREquality.cpp compare_names(s->name, op->name); name 121 src/IRMatch.cpp if (op->name == "*") { name 125 src/IRMatch.cpp result = e && (e->name == op->name); name 128 src/IRMatch.cpp Expr &match = (*var_matches)[op->name]; name 192 src/IRMatch.cpp if (result && e && types_match(op->type, e->type) && e->name == op->name) { name 228 src/IRMatch.cpp e->name == op->name && name 243 src/IRMatch.cpp if (result && e && e->name == op->name) { name 121 src/IRMutator.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, predicate); name 157 src/IRMutator.cpp expr = Call::make(op->type, op->name, new_args, op->call_type, name 169 src/IRMutator.cpp expr = Let::make(op->name, value, body); name 180 src/IRMutator.cpp stmt = LetStmt::make(op->name, value, body); name 200 src/IRMutator.cpp stmt = ProducerConsumer::make(op->name, op->is_producer, body); name 213 src/IRMutator.cpp stmt = For::make(op->name, min, extent, op->for_type, op->device_api, body); name 224 src/IRMutator.cpp stmt = Store::make(op->name, value, index, op->param, predicate); name 251 src/IRMutator.cpp stmt = Provide::make(op->name, new_values, new_args); name 274 src/IRMutator.cpp stmt = Allocate::make(op->name, op->type, new_extents, condition, body, new_expr, op->free_function); name 296 src/IRMutator.cpp stmt = Realize::make(op->name, op->types, new_bounds, name 311 src/IRMutator.cpp stmt = Prefetch::make(op->name, op->types, new_bounds, op->param); name 30 src/IRPrinter.cpp out << "(" << type.handle_type->inner_name.name << " *)"; name 54 src/IRPrinter.cpp return stream << "buffer " << buffer.name() << " = {...}\n"; name 221 src/IRPrinter.cpp stream << function.linkage << " func " << function.name << " ("; name 223 src/IRPrinter.cpp stream << function.args[i].name; name 345 src/IRPrinter.cpp stream << op->name; name 484 src/IRPrinter.cpp stream << op->name << "["; name 509 src/IRPrinter.cpp stream << op->name << "("; name 521 src/IRPrinter.cpp stream << "(let " << op->name << " = "; name 530 src/IRPrinter.cpp stream << "let " << op->name << " = "; name 549 src/IRPrinter.cpp stream << "produce " << op->name << " {\n"; name 564 src/IRPrinter.cpp stream << op->for_type << op->device_api << " (" << op->name << ", "; name 580 src/IRPrinter.cpp stream << op->name << "["; name 593 src/IRPrinter.cpp stream << op->name << "("; name 609 src/IRPrinter.cpp stream << "allocate " << op->name << "[" << op->type; name 631 src/IRPrinter.cpp stream << "free " << op->name; name 637 src/IRPrinter.cpp stream << "realize " << op->name << "("; name 663 src/IRPrinter.cpp stream << "prefetch " << op->name << "("; name 7 src/ImageParam.cpp , func(name() + "_im") { name 14 src/ImageParam.cpp , func(name() + "_im") { name 34 src/ImageParam.cpp << "Can't bind ImageParam " << name() name 36 src/ImageParam.cpp << " to Buffer " << b.name() name 38 src/InferArguments.cpp bool already_have(const string &name) { name 41 src/InferArguments.cpp if (name == output.name() || starts_with(name, output.name() + ".")) { name 46 src/InferArguments.cpp if (arg.arg.name == name) { name 65 src/InferArguments.cpp if (visited_functions.count(func.name())) return; name 66 src/InferArguments.cpp visited_functions.insert(func.name()); name 89 src/InferArguments.cpp if (already_have(p.name())) return; name 99 src/InferArguments.cpp Argument(p.name(), name 122 src/InferArguments.cpp if (already_have(b.name())) return; name 125 src/InferArguments.cpp Argument(b.name(), Argument::InputBuffer, b.type(), b.dimensions()), name 35 src/InferArguments.h return arg.name < other.arg.name; name 18 src/InjectHostDevBufferCopies.cpp Stmt call_extern_and_assert(const string& name, const vector<Expr>& args) { name 19 src/InjectHostDevBufferCopies.cpp Expr call = Call::make(Int(32), name, args, Call::Extern); name 20 src/InjectHostDevBufferCopies.cpp string call_result_name = unique_name(name + "_result"); name 64 src/InjectHostDevBufferCopies.cpp debug(2) << "Buffers to track: Setting Allocate for loop " << op->name << " to " << static_cast<int>(device_api) << "\n"; name 65 src/InjectHostDevBufferCopies.cpp internal_assert(internal.find(op->name) == internal.end()) << "Duplicate Allocate node in FindBuffersToTrack.\n"; name 66 src/InjectHostDevBufferCopies.cpp auto it = internal.insert({ op->name, device_api }); name 74 src/InjectHostDevBufferCopies.cpp " to " << static_cast<int>(op->device_api) << " for loop " << op->name << "\n"; name 93 src/InjectHostDevBufferCopies.cpp if (ends_with(op->name, ".buffer") && name 94 src/InjectHostDevBufferCopies.cpp c && c->name == Call::buffer_init) { name 95 src/InjectHostDevBufferCopies.cpp buffers_to_track.erase(op->name.substr(0, op->name.size() - 7)); name 102 src/InjectHostDevBufferCopies.cpp if (internal.find(op->name) == internal.end() || name 103 src/InjectHostDevBufferCopies.cpp different_device_api(device_api, internal[op->name], target)) { name 104 src/InjectHostDevBufferCopies.cpp buffers_to_track.insert(op->name); name 110 src/InjectHostDevBufferCopies.cpp if (internal.find(op->name) == internal.end() || name 111 src/InjectHostDevBufferCopies.cpp different_device_api(device_api, internal[op->name], target)) { name 112 src/InjectHostDevBufferCopies.cpp buffers_to_track.insert(op->name); name 118 src/InjectHostDevBufferCopies.cpp if (op->type.is_handle() && ends_with(op->name, ".buffer")) { name 119 src/InjectHostDevBufferCopies.cpp buffers_to_track.insert(op->name.substr(0, op->name.size() - 7)); name 132 src/InjectHostDevBufferCopies.cpp if (op->name == buf_name) { name 412 src/InjectHostDevBufferCopies.cpp if (!should_track(op->name)) { name 416 src/InjectHostDevBufferCopies.cpp debug(4) << "Device " << static_cast<int>(device_api) << " writes buffer " << op->name << "\n"; name 417 src/InjectHostDevBufferCopies.cpp state[op->name].devices_writing.insert(device_api); name 418 src/InjectHostDevBufferCopies.cpp state[op->name].devices_touched.insert(device_api); name 424 src/InjectHostDevBufferCopies.cpp if (!should_track(op->name)) { name 428 src/InjectHostDevBufferCopies.cpp debug(4) << "Device " << static_cast<int>(device_api) << " reads buffer " << op->name << "\n"; name 429 src/InjectHostDevBufferCopies.cpp state[op->name].devices_reading.insert(device_api); name 430 src/InjectHostDevBufferCopies.cpp state[op->name].devices_touched.insert(device_api); name 439 src/InjectHostDevBufferCopies.cpp internal_assert(buffer_var && ends_with(buffer_var->name, ".buffer")); name 440 src/InjectHostDevBufferCopies.cpp string buf_name = buffer_var->name.substr(0, buffer_var->name.size() - 7); name 441 src/InjectHostDevBufferCopies.cpp debug(4) << "Adding image read via image_load for " << buffer_var->name << "\n"; name 450 src/InjectHostDevBufferCopies.cpp internal_assert(buffer_var && ends_with(buffer_var->name, ".buffer")); name 451 src/InjectHostDevBufferCopies.cpp string buf_name = buffer_var->name.substr(0, buffer_var->name.size() - 7); name 452 src/InjectHostDevBufferCopies.cpp debug(4) << "Adding image write via image_store for " << buffer_var->name << "\n"; name 472 src/InjectHostDevBufferCopies.cpp stmt = ProducerConsumer::make(op->name, op->is_producer, body); name 480 src/InjectHostDevBufferCopies.cpp if (buf_name == op->name || starts_with(buf_name, op->name + ".")) { name 490 src/InjectHostDevBufferCopies.cpp if ((buf_name == op->name || starts_with(buf_name, op->name + ".")) && name 513 src/InjectHostDevBufferCopies.cpp if (ends_with(op->name, ".buffer")) { name 514 src/InjectHostDevBufferCopies.cpp string buf_name = op->name.substr(0, op->name.size() - 7); name 524 src/InjectHostDevBufferCopies.cpp !should_track(op->name)) { name 529 src/InjectHostDevBufferCopies.cpp string buf_name = op->name; name 545 src/InjectHostDevBufferCopies.cpp << "Buffer " << op->name name 556 src/InjectHostDevBufferCopies.cpp debug(4) << "Eliding host alloc for " << op->name << "\n"; name 557 src/InjectHostDevBufferCopies.cpp stmt = Allocate::make(op->name, op->type, op->extents, const_false(), op->body); name 561 src/InjectHostDevBufferCopies.cpp debug(4) << "Making combined host/device alloc for " << op->name << "\n"; name 569 src/InjectHostDevBufferCopies.cpp if (inner_let->name == op->name + ".buffer") { name 576 src/InjectHostDevBufferCopies.cpp Stmt combined_malloc = make_dev_malloc(op->name, buf_info.device_first_touched, true); name 586 src/InjectHostDevBufferCopies.cpp inner_body = Allocate::make(op->name, op->type, op->extents, op->condition, inner_body, name 588 src/InjectHostDevBufferCopies.cpp { Variable::make(type_of<struct halide_buffer_t *>(), op->name + ".buffer") }, name 596 src/InjectHostDevBufferCopies.cpp internal_assert(buffer_init_let) << "Could not find definition of " << op->name << ".buffer\n"; name 604 src/InjectHostDevBufferCopies.cpp Expr buf = NullifyHostField(op->name).mutate(buffer_init_let->value); name 605 src/InjectHostDevBufferCopies.cpp stmt = LetStmt::make(op->name + ".buffer", buf, inner_body); name 609 src/InjectHostDevBufferCopies.cpp stmt = LetStmt::make(body_lets[i - 1]->name, body_lets[i - 1]->value, stmt); name 625 src/InjectHostDevBufferCopies.cpp if (ends_with(op->name, ".buffer")) { name 626 src/InjectHostDevBufferCopies.cpp string buf_name = op->name.substr(0, op->name.size() - 7); name 634 src/InjectHostDevBufferCopies.cpp stmt = LetStmt::make(op->name, value, op->body); name 730 src/InjectHostDevBufferCopies.cpp loop_level = op->name; name 734 src/InjectHostDevBufferCopies.cpp static_cast<int>(op->device_api) << " in for loop " << op->name <<"\n"; name 16 src/InjectHostDevBufferCopies.h EXPORT Stmt call_extern_and_assert(const std::string& name, const std::vector<Expr>& args); name 28 src/InjectImageIntrinsics.cpp kernel_scope_allocations.contains(provide->name)) { name 42 src/InjectImageIntrinsics.cpp provide->name, name 43 src/InjectImageIntrinsics.cpp Variable::make(type_of<struct halide_buffer_t *>(), provide->name + ".buffer"), name 59 src/InjectImageIntrinsics.cpp kernel_scope_allocations.contains(call->name)) { name 64 src/InjectImageIntrinsics.cpp string name = call->name; name 65 src/InjectImageIntrinsics.cpp auto it = env.find(name); name 69 src/InjectImageIntrinsics.cpp name = name + '.' + std::to_string(call->value_index); name 83 src/InjectImageIntrinsics.cpp args[0] = call->name; name 84 src/InjectImageIntrinsics.cpp args[1] = Variable::make(type_of<struct halide_buffer_t *>(), call->name + ".buffer"); name 94 src/InjectImageIntrinsics.cpp string min_name = name + ".min." + d; name 99 src/InjectImageIntrinsics.cpp string extent_name = name + ".extent." + d; name 132 src/InjectImageIntrinsics.cpp bool constrained_version_exists = ends_with(let->name, ".constrained"); name 134 src/InjectImageIntrinsics.cpp scope.push(let->name, 0); name 140 src/InjectImageIntrinsics.cpp scope.pop(let->name); name 156 src/InjectImageIntrinsics.cpp kernel_scope_allocations.push(op->name, 0); name 158 src/InjectImageIntrinsics.cpp kernel_scope_allocations.pop(op->name); name 22 src/Inline.cpp user_error << "Function " << f.name() << " is scheduled to be computed inline, " name 29 src/Inline.cpp << "Function " << f.name() << " is scheduled inline, so it" name 35 src/Inline.cpp << f.name() << " because the function is scheduled inline.\n"; name 43 src/Inline.cpp << f.name() << " because the function is scheduled inline.\n"; name 47 src/Inline.cpp << f.name() << " because the function is scheduled inline.\n"; name 51 src/Inline.cpp << f.name() << " because the function is scheduled inline.\n"; name 59 src/Inline.cpp << f.name() << " to " << s.splits()[i].outer name 60 src/Inline.cpp << " because " << f.name() << " is scheduled inline.\n"; name 64 src/Inline.cpp << " because " << f.name() << " is scheduled inline.\n"; name 68 src/Inline.cpp << f.name() << " into " name 72 src/Inline.cpp << f.name() << " is scheduled inline.\n"; name 80 src/Inline.cpp << f.name() << " to be within [" name 86 src/Inline.cpp << f.name() << " to have modulus/remainder [" name 99 src/Inline.cpp if (op->name == func.name()) { name 107 src/Inline.cpp Expr body = qualify(func.name() + ".", func.values()[op->value_index]); name 115 src/Inline.cpp body = Let::make(func.name() + "." + func_args[i], args[i], body); name 144 src/Inline.cpp internal_assert(f.can_be_inlined()) << "Illegal to inline " << f.name() << "\n"; name 29 src/InlineReductions.cpp const string &name; name 37 src/InlineReductions.cpp internal.push(op->name, 0); name 39 src/InlineReductions.cpp internal.pop(op->name); name 44 src/InlineReductions.cpp expr = Let::make(op->name, value, body); name 50 src/InlineReductions.cpp string var_name = v->name; name 79 src/InlineReductions.cpp user_error << "Inline reduction \"" << name name 81 src/InlineReductions.cpp << v->name << ", " << rdom.x.name() << "\n"; name 95 src/InlineReductions.cpp if (var_name == free_vars[i].name()) return; name 104 src/InlineReductions.cpp Expr sum(Expr e, const std::string &name) { name 105 src/InlineReductions.cpp return sum(RDom(), e, name); name 108 src/InlineReductions.cpp Expr sum(RDom r, Expr e, const std::string &name) { name 109 src/InlineReductions.cpp Internal::FindFreeVars v(r, name); name 114 src/InlineReductions.cpp Func f(name); name 119 src/InlineReductions.cpp Expr product(Expr e, const std::string &name) { name 120 src/InlineReductions.cpp return product(RDom(), e, name); name 123 src/InlineReductions.cpp Expr product(RDom r, Expr e, const std::string &name) { name 124 src/InlineReductions.cpp Internal::FindFreeVars v(r, name); name 129 src/InlineReductions.cpp Func f(name); name 134 src/InlineReductions.cpp Expr maximum(Expr e, const std::string &name) { name 135 src/InlineReductions.cpp return maximum(RDom(), e, name); name 138 src/InlineReductions.cpp Expr maximum(RDom r, Expr e, const std::string &name) { name 139 src/InlineReductions.cpp Internal::FindFreeVars v(r, name); name 144 src/InlineReductions.cpp Func f(name); name 150 src/InlineReductions.cpp Expr minimum(Expr e, const std::string &name) { name 151 src/InlineReductions.cpp return minimum(RDom(), e, name); name 154 src/InlineReductions.cpp Expr minimum(RDom r, Expr e, const std::string &name) { name 155 src/InlineReductions.cpp Internal::FindFreeVars v(r, name); name 160 src/InlineReductions.cpp Func f(name); name 166 src/InlineReductions.cpp Tuple argmax(Expr e, const std::string &name) { name 167 src/InlineReductions.cpp return argmax(RDom(), e, name); name 170 src/InlineReductions.cpp Tuple argmax(RDom r, Expr e, const std::string &name) { name 171 src/InlineReductions.cpp Internal::FindFreeVars v(r, name); name 174 src/InlineReductions.cpp Func f(name); name 195 src/InlineReductions.cpp Tuple argmin(Expr e, const std::string &name) { name 196 src/InlineReductions.cpp return argmin(RDom(), e, name); name 199 src/InlineReductions.cpp Tuple argmin(RDom r, Expr e, const std::string &name) { name 200 src/InlineReductions.cpp Internal::FindFreeVars v(r, name); name 203 src/InlineReductions.cpp Func f(name); name 29 src/Introspection.cpp void get_program_name(char *name, int32_t size) { name 30 src/Introspection.cpp _NSGetExecutablePath(name, &size); name 35 src/Introspection.cpp void get_program_name(char *name, int32_t size) { name 36 src/Introspection.cpp strncpy(name, program_invocation_name, size); name 45 src/Introspection.cpp uint64_t name, form; name 46 src/Introspection.cpp FieldFormat() : name(0), form(0) {} name 47 src/Introspection.cpp FieldFormat(uint64_t n, uint64_t f) : name(n), form(f) {} name 65 src/Introspection.cpp std::string name; name 70 src/Introspection.cpp GlobalVariable() : name(""), name 87 src/Introspection.cpp std::string name; name 98 src/Introspection.cpp std::string name; name 108 src/Introspection.cpp LocalVariable() : name(""), name 117 src/Introspection.cpp std::string name; name 126 src/Introspection.cpp FunctionInfo() : name(""), pc_begin(0), pc_end(0), def_loc(0), spec_loc(0) {} name 146 src/Introspection.cpp std::string name; name 200 src/Introspection.cpp if (functions[i].name == "HalideIntrospectionCanary::offset_marker" && name 351 src/Introspection.cpp debug(5) << "Closest global is " << v.name << " at " << std::hex << v.addr << std::dec; name 353 src/Introspection.cpp debug(5) << " with type " << v.type->name << "\n"; name 360 src/Introspection.cpp (v.type && type_name_match(v.type->name, type_name)))) { name 361 src/Introspection.cpp return v.name; name 364 src/Introspection.cpp (elem_type && type_name_match(elem_type->name, type_name)))) { name 371 src/Introspection.cpp oss << v.name << '[' << (pos_bytes / elem_type->size) << ']'; name 390 src/Introspection.cpp debug(5) << "helper object is " << ptr.name << " at " << std::hex << ptr.addr << std::dec; name 392 src/Introspection.cpp debug(5) << " with type " << ptr.type->name << "\n"; name 404 src/Introspection.cpp debug(5) << "The object has type: " << object_type->name << "\n"; name 416 src/Introspection.cpp member.name = member_spec.name; name 421 src/Introspection.cpp debug(5) << member.name << " - " << (int)(member.type->type) << "\n"; name 450 src/Introspection.cpp child.name = parent.name; name 452 src/Introspection.cpp child.name = ""; // the '[index]' gets added in the query routine. name 454 src/Introspection.cpp child.name = member_spec.name; name 460 src/Introspection.cpp debug(5) << child.name << " - " << (int)(child.type->type) << "\n"; name 469 src/Introspection.cpp debug(5) << "Children of heap object of type " << object_type->name << " at " << obj << ":\n"; name 472 src/Introspection.cpp debug(5) << std::hex << mem.addr << std::dec << ": " << mem.type->name << " " << mem.name << "\n"; name 512 src/Introspection.cpp std::ostringstream name; name 520 src/Introspection.cpp debug(5) << "Comparing to member " << obj.members[i].name name 522 src/Introspection.cpp << " with type " << t->name name 527 src/Introspection.cpp type_name_match(t->name, type_name)) { name 528 src/Introspection.cpp name << obj.members[i].name; name 529 src/Introspection.cpp return name.str(); name 546 src/Introspection.cpp name << obj.members[i].name << '[' << containing_elem << ']'; name 556 src/Introspection.cpp name << obj.members[i].name << '.'; name 658 src/Introspection.cpp debug(5) << "Var " << var.name << " is at offset " << var.stack_offset << "\n"; name 683 src/Introspection.cpp debug(5) << "Considering match: " << var.type->name << ", " << var.name << "\n"; name 688 src/Introspection.cpp (type && type_name_match(type->name, type_name)))) { name 690 src/Introspection.cpp return var.name; name 694 src/Introspection.cpp type_name_match(elem_type->name, type_name)))) { name 701 src/Introspection.cpp oss << var.name << '[' << (pos_bytes / elem_type->size) << ']'; name 757 src/Introspection.cpp debug(5) << "Containing function is " << f->name << "\n"; name 760 src/Introspection.cpp if (f->name.size() > 8 && name 761 src/Introspection.cpp f->name.substr(0, 8) == "Halide::") { name 798 src/Introspection.cpp types[i].name.c_str(), name 805 src/Introspection.cpp type_name = c->name.c_str(); name 808 src/Introspection.cpp types[i].members[j].name.c_str(), name 819 src/Introspection.cpp f.name.c_str(), name 828 src/Introspection.cpp type_name = c->name.c_str(); name 831 src/Introspection.cpp v.name.c_str(), name 857 src/Introspection.cpp type_name = c->name.c_str(); name 860 src/Introspection.cpp v.name.c_str(), name 920 src/Introspection.cpp llvm::StringRef name; name 921 src/Introspection.cpp iter->getName(name); name 922 src/Introspection.cpp debug(2) << "Section: " << name.str() << "\n"; name 923 src/Introspection.cpp if (name == prefix + "debug_info") { name 925 src/Introspection.cpp } else if (name == prefix + "debug_abbrev") { name 927 src/Introspection.cpp } else if (name == prefix + "debug_str") { name 929 src/Introspection.cpp } else if (name == prefix + "debug_line") { name 931 src/Introspection.cpp } else if (name == prefix + "debug_ranges") { name 978 src/Introspection.cpp uint64_t name = e.getULEB128(&off); name 980 src/Introspection.cpp if (!name && !form) break; name 983 src/Introspection.cpp FieldFormat f_fmt(name, form); name 1126 src/Introspection.cpp containing_namespace = type_stack.back().first.name + "::"; name 1143 src/Introspection.cpp unsigned attr = fmt.fields[i].name; name 1327 src/Introspection.cpp func.name = containing_namespace + std::string((const char *)payload); name 1358 src/Introspection.cpp type_info.name = containing_namespace + std::string((const char *)payload); name 1365 src/Introspection.cpp type_info.name = containing_namespace + std::string((const char *)payload); name 1372 src/Introspection.cpp type_info.name = containing_namespace + std::string((const char *)payload); name 1379 src/Introspection.cpp type_info.name = containing_namespace + std::string((const char *)payload); name 1442 src/Introspection.cpp gvar.name = containing_namespace + std::string((const char *)payload); name 1445 src/Introspection.cpp gvar.name = var.name = std::string((const char *)payload); name 1475 src/Introspection.cpp var.name = std::string((const char *)payload); name 1477 src/Introspection.cpp gvar.name = type_stack.back().first.name + "::" + var.name; name 1479 src/Introspection.cpp gvar.name = var.name; name 1604 src/Introspection.cpp functions[i].name = spec->name; name 1626 src/Introspection.cpp v.name = origin->name; name 1642 src/Introspection.cpp debug(5) << "var " << var.name << " is at " << var.def_loc << "\n"; name 1643 src/Introspection.cpp if (var.spec_loc || var.name.empty()) { name 1652 src/Introspection.cpp if (var.name.empty() && var.spec_loc) { name 1655 src/Introspection.cpp var.name = spec->name; name 1726 src/Introspection.cpp types[i].name = t->name; name 1728 src/Introspection.cpp types[i].name += " " + suffix.back(); name 1754 src/Introspection.cpp new_vars[j+1].name = new_vars[j].name; name 1760 src/Introspection.cpp if (new_vars[j+k+1].name.size() && name 1761 src/Introspection.cpp new_vars[j].name.size()) { name 1762 src/Introspection.cpp new_vars[j+k+1].name = new_vars[j].name + "." + new_vars[j+k+1].name; name 1771 src/Introspection.cpp debug(5) << "Function " << functions[i].name << ":\n"; name 1774 src/Introspection.cpp debug(5) << " " << functions[i].variables[j].type->name << " " << functions[i].variables[j].name << "\n"; name 1788 src/Introspection.cpp debug(5) << "Unpacking members of " << v.name << " at " << std::hex << v.addr << "\n"; name 1792 src/Introspection.cpp if (!v.name.empty() && !members[j].name.empty()) { name 1793 src/Introspection.cpp mem.name = v.name + "." + members[j].name; name 1796 src/Introspection.cpp mem.name = members[j].name; name 1801 src/Introspection.cpp debug(5) << " Member " << mem.name << " goes at " << mem.addr << "\n"; name 1817 src/Introspection.cpp f.name.empty()) { name 1825 src/Introspection.cpp if (!v.name.empty() && v.type && v.stack_offset != no_location) { name 1843 src/Introspection.cpp if (!v.name.empty() && v.addr) { name 1913 src/Introspection.cpp const char *name = e.getCStr(&off); name 1914 src/Introspection.cpp if (name && name[0]) { name 1921 src/Introspection.cpp source_files.push_back(include_dirs[dir] + "/" + name); name 1989 src/Introspection.cpp const char *name = e.getCStr(&off); name 1996 src/Introspection.cpp source_files.push_back(include_dirs[dir_index] + "/" + name); name 2127 src/Introspection.cpp debug(5) << "At function " << functions[mid].name name 2185 src/Introspection.cpp std::string name = debug_sections->get_stack_variable_name(var, expected_type); name 2186 src/Introspection.cpp if (name.empty()) { name 2188 src/Introspection.cpp name = debug_sections->get_heap_member_name(var, expected_type); name 2190 src/Introspection.cpp if (name.empty()) { name 2192 src/Introspection.cpp name = debug_sections->get_global_variable_name(var, expected_type); name 2195 src/Introspection.cpp return name; name 74 src/Introspection.h std::string name = Introspection::get_variable_name(var, type); name 75 src/Introspection.h return name == correct_name && loc == correct_loc; name 143 src/JITModule.cpp std::string name; name 155 src/JITModule.cpp JITModule::Symbol compile_and_get_function(ExecutionEngine &ee, const string &name) { name 156 src/JITModule.cpp debug(2) << "JIT Compiling " << name << "\n"; name 157 src/JITModule.cpp llvm::Function *fn = ee.FindFunctionNamed(name.c_str()); name 158 src/JITModule.cpp void *f = (void *)ee.getFunctionAddress(name); name 160 src/JITModule.cpp internal_error << "Compiling " << name << " returned nullptr\n"; name 165 src/JITModule.cpp debug(2) << "Function " << name << " is at " << f << "\n"; name 180 src/JITModule.cpp virtual uint64_t getSymbolAddress(const std::string &name) override { name 183 src/JITModule.cpp std::map<std::string, JITModule::Symbol>::const_iterator iter = m.exports().find(name); name 184 src/JITModule.cpp if (iter == m.exports().end() && starts_with(name, "_")) { name 185 src/JITModule.cpp iter = m.exports().find(name.substr(1)); name 191 src/JITModule.cpp return SectionMemoryManager::getSymbolAddress(name); name 249 src/JITModule.cpp compile_module(std::move(llvm_module), fn.name, m.target(), deps_with_runtime); name 356 src/JITModule.cpp jit_module->name = function_name; name 363 src/JITModule.cpp JITModule::Symbol JITModule::find_symbol_by_name(const std::string &name) const { name 364 src/JITModule.cpp std::map<std::string, JITModule::Symbol>::iterator it = jit_module->exports.find(name); name 369 src/JITModule.cpp JITModule::Symbol s = dep.find_symbol_by_name(name); name 414 src/JITModule.cpp void JITModule::add_symbol_for_export(const std::string &name, const Symbol &extern_symbol) { name 415 src/JITModule.cpp jit_module->exports[name] = extern_symbol; name 418 src/JITModule.cpp void JITModule::add_extern_for_export(const std::string &name, const ExternCFunction &extern_c_function) { name 449 src/JITModule.cpp jit_module->exports[name] = symbol; name 569 src/JITModule.cpp void *get_symbol_handler(const char *name) { name 570 src/JITModule.cpp return (*active_handlers.custom_get_symbol)(name); name 573 src/JITModule.cpp void *load_library_handler(const char *name) { name 574 src/JITModule.cpp return (*active_handlers.custom_load_library)(name); name 577 src/JITModule.cpp void *get_library_symbol_handler(void *lib, const char *name) { name 578 src/JITModule.cpp return (*active_handlers.custom_get_library_symbol)(lib, name); name 593 src/JITModule.cpp debug(2) << "Adjusting refcount for module " << module->name << " by " << count << "\n"; name 748 src/JITModule.cpp runtime.jit_module->name = "MainShared"; name 750 src/JITModule.cpp runtime.jit_module->name = "GPU"; name 98 src/JITModule.h EXPORT void add_symbol_for_export(const std::string &name, const Symbol &extern_symbol); name 103 src/JITModule.h EXPORT void add_extern_for_export(const std::string &name, name 133 src/JITModule.h void *(*custom_get_symbol)(const char *name){nullptr}; name 134 src/JITModule.h void *(*custom_load_library)(const char *name){nullptr}; name 135 src/JITModule.h void *(*custom_get_library_symbol)(void *lib, const char *name){nullptr}; name 958 src/LLVM_Runtime_Linker.cpp const std::vector<uint8_t> &bitcode, const std::string &name) { name 960 src/LLVM_Runtime_Linker.cpp std::unique_ptr<llvm::Module> add_in = parse_bitcode_file(sb, context, name.c_str()); name 969 src/LLVM_Runtime_Linker.cpp internal_error << "Failure linking in additional module: " << name << "\n"; name 31 src/LLVM_Runtime_Linker.h const std::vector<uint8_t> &bitcode, const std::string &name); name 31 src/LoopCarry.cpp if (linear.contains(v->name)) { name 32 src/LoopCarry.cpp return linear.get(v->name); name 144 src/LoopCarry.cpp if (linear.contains(op->name)) { name 145 src/LoopCarry.cpp Expr step = linear.get(op->name); name 203 src/LoopCarry.cpp linear.push(op->name, step); name 205 src/LoopCarry.cpp containing_lets.push_back({ op->name, value }); name 212 src/LoopCarry.cpp stmt = LetStmt::make(op->name, value, body); name 216 src/LoopCarry.cpp linear.pop(op->name); name 266 src/LoopCarry.cpp in_consume.contains(load->name)); name 297 src/LoopCarry.cpp if (loads[i][0]->name == loads[j][0]->name && name 425 src/LoopCarry.cpp initial_lets.push_back({ l->name, l->value }); name 489 src/LoopCarry.cpp string name; name 508 src/LoopCarry.cpp in_consume.push(op->name, 0); name 510 src/LoopCarry.cpp in_consume.pop(op->name); name 511 src/LoopCarry.cpp stmt = ProducerConsumer::make(op->name, op->is_producer, body); name 518 src/LoopCarry.cpp LoopCarryOverLoop carry(op->name, in_consume, max_carried_values); name 523 src/LoopCarry.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, body); name 528 src/LoopCarry.cpp stmt = Block::make(substitute(op->name, op->min, alloc.initial_stores), stmt); name 529 src/LoopCarry.cpp stmt = Allocate::make(alloc.name, alloc.type, {alloc.size}, const_true(), stmt); name 332 src/Lower.cpp public_args.push_back(Argument(buf.name(), name 340 src/Lower.cpp if (arg.param.defined() && arg.param.name() == "__user_context") { name 350 src/Lower.cpp found |= (a.name == arg.arg.name); name 356 src/Lower.cpp debug(1) << "Embedding image " << arg.buffer.name() << "\n"; name 364 src/Lower.cpp err << "parameter " << arg.arg.name name 369 src/Lower.cpp err << args[i].name << " "; name 373 src/Lower.cpp if (ia.arg.name != "__user_context") { name 374 src/Lower.cpp err << ia.arg.name << " "; name 411 src/Lower.cpp if (!ia.arg.name.empty() && ia.arg.is_input()) { name 33 src/Memoization.cpp extern_args[i].buffer.name())); name 88 src/Memoization.cpp internal_error << "Buffer parameter " << parameter.name() << name 94 src/Memoization.cpp internal_error << "Handle parameter " << parameter.name() << name 101 src/Memoization.cpp info.value_expr = Internal::Variable::make(info.type, parameter.name(), parameter); name 104 src/Memoization.cpp dependency_info[DependencyKey(info.type.bytes(), parameter.name())] = info; name 119 src/Memoization.cpp std::string name; name 125 src/Memoization.cpp return name < rhs.name; name 184 src/Memoization.cpp KeyInfo(const Function &function, const std::string &name) name 185 src/Memoization.cpp : top_level_name(name), function_name(function.name()) name 314 src/Memoization.cpp InjectMemoization(const std::map<std::string, Function> &e, const std::string &name, name 316 src/Memoization.cpp env(e), top_level_name(name), outputs(outputs) {} name 322 src/Memoization.cpp std::map<std::string, Function>::const_iterator iter = env.find(op->name); name 330 src/Memoization.cpp user_error << "Function " << f.name() << " cannot be memoized because " name 342 src/Memoization.cpp user_error << "Function " << f.name() << " cannot be memoized because " name 350 src/Memoization.cpp std::string cache_key_name = op->name + ".cache_key"; name 351 src/Memoization.cpp std::string cache_result_name = op->name + ".cache_result"; name 352 src/Memoization.cpp std::string cache_miss_name = op->name + ".cache_miss"; name 353 src/Memoization.cpp std::string computed_bounds_name = op->name + ".computed_bounds.buffer"; name 363 src/Memoization.cpp key_info.generate_lookup(cache_key_name, computed_bounds_name, f.outputs(), op->name), name 371 src/Memoization.cpp std::string prefix = op->name + ".s" + max_stage_num + "." + arg; name 386 src/Memoization.cpp stmt = Realize::make(op->name, op->types, op->bounds, op->condition, cache_key_alloc); name 393 src/Memoization.cpp std::map<std::string, Function>::const_iterator iter = env.find(op->name); name 402 src/Memoization.cpp std::string cache_miss_name = op->name + ".cache_miss"; name 407 src/Memoization.cpp stmt = ProducerConsumer::make(op->name, op->is_producer, mutated_body); name 412 src/Memoization.cpp std::string cache_key_name = op->name + ".cache_key"; name 413 src/Memoization.cpp std::string computed_bounds_name = op->name + ".computed_bounds.buffer"; name 416 src/Memoization.cpp IfThenElse::make(cache_miss, key_info.store_computation(cache_key_name, computed_bounds_name, f.outputs(), op->name)); name 419 src/Memoization.cpp stmt = ProducerConsumer::make(op->name, op->is_producer, mutated_body); name 428 src/Memoization.cpp const std::string &name, name 430 src/Memoization.cpp InjectMemoization injector(env, name, outputs); name 463 src/Memoization.cpp std::string realization_name = get_realization_name(allocation->name); name 481 src/Memoization.cpp call->name == Call::buffer_init) { name 487 src/Memoization.cpp if (var && get_realization_name(var->name) == innermost_realization_name) { name 502 src/Memoization.cpp if (let->name == innermost_realization_name + ".cache_miss") { name 512 src/Memoization.cpp body = Allocate::make(allocation->name, allocation->type, allocation->extents, allocation->condition, body, name 514 src/Memoization.cpp { Variable::make(type_of<struct halide_buffer_t *>(), allocation->name + ".buffer") }, Call::Extern), name 520 src/Memoization.cpp stmt = LetStmt::make(let->name, value, body); name 24 src/Memoization.h const std::string &name, name 56 src/Module.cpp std::string name = dir_path + "/" + base_name + suffix + ext; name 57 src/Module.cpp debug(1) << "add_temp_object_file: " << name << "\n"; name 59 src/Module.cpp dir_files.insert(dir_files.begin(), name); name 61 src/Module.cpp dir_files.push_back(name); name 63 src/Module.cpp return name; name 111 src/Module.cpp std::string name; name 129 src/Module.cpp LoweredFunc::LoweredFunc(const std::string &name, name 134 src/Module.cpp : name(name), args(args), body(body), linkage(linkage), name_mangling(name_mangling) {} name 136 src/Module.cpp LoweredFunc::LoweredFunc(const std::string &name, name 141 src/Module.cpp : name(name), body(body), linkage(linkage), name_mangling(name_mangling) { name 151 src/Module.cpp Module::Module(const std::string &name, const Target &target) : name 153 src/Module.cpp contents->name = name; name 162 src/Module.cpp return contents->name; name 185 src/Module.cpp Internal::LoweredFunc Module::get_function_by_name(const std::string &name) const { name 187 src/Module.cpp if (f.name == name) { name 191 src/Module.cpp user_error << "get_function_by_name: function " << name << " not found.\n"; name 211 src/Module.cpp Module link_modules(const std::string &name, const std::vector<Module> &modules) { name 212 src/Module.cpp Module output(name, modules.front().target()); name 219 src/Module.cpp << output.name() << ", " << output.target().to_string() name 221 src/Module.cpp << input.name() << ", " << input.target().to_string() << ")\n"; name 253 src/Module.cpp debug(2) << "Submodule assembly for " << name() << ": " << "\n"; name 260 src/Module.cpp Buffer<uint8_t> result(object.size(), name()); name 270 src/Module.cpp Module lowered_module(name(), target()); name 289 src/Module.cpp if (ec_sub.name() == ec.name()) { name 41 src/Module.h std::string name; name 63 src/Module.h LoweredFunc(const std::string &name, name 68 src/Module.h LoweredFunc(const std::string &name, name 87 src/Module.h EXPORT Module(const std::string &name, const Target &target); name 94 src/Module.h EXPORT const std::string &name() const; name 107 src/Module.h EXPORT Internal::LoweredFunc get_function_by_name(const std::string &name) const; name 132 src/Module.h EXPORT Module link_modules(const std::string &name, const std::vector<Module> &modules); name 168 src/ModulusRemainder.cpp if (scope.contains(op->name)) { name 169 src/ModulusRemainder.cpp ModulusRemainder mod_rem = scope.get(op->name); name 383 src/ModulusRemainder.cpp scope.push(op->name, val); name 387 src/ModulusRemainder.cpp scope.pop(op->name); name 55 src/Monotonic.cpp if (op->name == var) { name 57 src/Monotonic.cpp } else if (scope.contains(op->name)) { name 58 src/Monotonic.cpp result = scope.get(op->name); name 316 src/Monotonic.cpp scope.push(op->name, result); name 318 src/Monotonic.cpp scope.pop(op->name); name 13 src/OutputImageParam.cpp return param.name(); name 85 src/OutputImageParam.cpp return Argument(name(), kind, type(), dimensions()); name 38 src/OutputImageParam.h EXPORT const std::string &name() const; name 27 src/ParallelRVar.cpp if (op->name == func && op->call_type == Call::Halide) { name 37 src/ParallelRVar.cpp loads[i][j] = substitute(op->name, op->value, loads[i][j]); name 56 src/ParallelRVar.cpp expr = Variable::make(op->type, get_new_name(op->name)); name 84 src/ParallelRVar.cpp expr = substitute(op->name, mutate(op->value), mutate(op->body)); name 26 src/Param.h user_assert(param.name() != "__user_context") << "Param<void*>(\"__user_context\") " name 84 src/Param.h const std::string &name() const { name 85 src/Param.h return param.name(); name 148 src/Param.h return Internal::Variable::make(type_of<T>(), name(), param); name 161 src/Param.h return Argument(name(), Argument::InputScalar, type(), 0, name 14 src/Parameter.cpp const std::string name; name 28 src/Parameter.cpp : type(t), dimensions(d), name(n), buffer(Buffer<>()), data(0), name 56 src/Parameter.cpp user_assert(contents->is_buffer) << "Parameter " << name() << " is not a Buffer\n"; name 61 src/Parameter.cpp user_assert(!contents->is_buffer) << "Parameter " << name() << " is a Buffer\n"; name 82 src/Parameter.cpp Parameter::Parameter(Type t, bool is_buffer, int d, const std::string &name, bool is_explicit_name, bool register_instance, bool is_bound_before_lowering) : name 83 src/Parameter.cpp contents(new ParameterContents(t, is_buffer, d, name, is_explicit_name, register_instance, is_bound_before_lowering)) { name 132 src/Parameter.cpp return contents->name; name 192 src/Parameter.cpp << "Can't bind Parameter " << name() name 194 src/Parameter.cpp << " to Buffer " << b.name() name 262 src/Parameter.cpp << "Can't set parameter " << name() name 279 src/Parameter.cpp << "Can't set parameter " << name() name 304 src/Parameter.cpp s << param.name() << ".min." << d; name 310 src/Parameter.cpp s << param.name() << ".extent." << d; name 320 src/Parameter.cpp s << param.name() << ".stride." << d; name 352 src/Parameter.cpp void check_call_arg_types(const std::string &name, std::vector<Expr> *args, int dims) { name 355 src/Parameter.cpp << name << "\", which has " << dims << " dimensions.\n"; name 359 src/Parameter.cpp << "Argument " << i << " to call to \"" << name << "\" is an undefined Expr\n"; name 363 src/Parameter.cpp << " in call to \"" << name << "\" is not allowed. Use an explicit cast.\n"; name 51 src/Parameter.h const std::string &name, bool is_explicit_name = false, name 66 src/Parameter.h EXPORT const std::string &name() const; name 228 src/Parameter.h void check_call_arg_types(const std::string &name, std::vector<Expr> *args, int dims); name 72 src/PartitionLoops.cpp stmt = Store::make(op->name, value, index, op->param, predicate); name 226 src/PartitionLoops.cpp if (invalid_buffers.contains(op->name)) { name 252 src/PartitionLoops.cpp buffers.push(op->name, 0); name 337 src/PartitionLoops.cpp if (expr_uses_var(s.condition, op->name)) { name 339 src/PartitionLoops.cpp varying.push(op->name, Interval(op->min, op->min + op->extent - 1)); name 341 src/PartitionLoops.cpp internal_assert(!expr_uses_var(relaxed, op->name)) name 342 src/PartitionLoops.cpp << "Should not have had used the loop var (" << op->name name 359 src/PartitionLoops.cpp depends_on_loop_var.push(op->name, 0); name 365 src/PartitionLoops.cpp if (expr_uses_var(s.condition, op->name)) { name 366 src/PartitionLoops.cpp s.condition = Let::make(op->name, op->value, s.condition); name 371 src/PartitionLoops.cpp depends_on_loop_var.pop(op->name); name 419 src/PartitionLoops.cpp if (op->name == "halide_gpu_thread_barrier") { name 441 src/PartitionLoops.cpp in_gpu_loop |= CodeGen_GPU_Dev::is_gpu_var(op->name); name 460 src/PartitionLoops.cpp FindSimplifications finder(op->name); name 468 src/PartitionLoops.cpp debug(3) << "\n\n**** Partitioning loop over " << op->name << "\n"; name 475 src/PartitionLoops.cpp s.interval = solve_for_inner_interval(s.condition, op->name); name 479 src/PartitionLoops.cpp Interval outer = solve_for_outer_interval(s.condition, op->name); name 598 src/PartitionLoops.cpp string prologue_name = unique_name(op->name + ".prologue"); name 599 src/PartitionLoops.cpp string epilogue_name = unique_name(op->name + ".epilogue"); name 614 src/PartitionLoops.cpp internal_assert(!expr_uses_var(prologue_val, op->name)); name 629 src/PartitionLoops.cpp internal_assert(!expr_uses_var(epilogue_val, op->name)); name 634 src/PartitionLoops.cpp stmt = For::make(op->name, min_steady, max_steady - min_steady, name 638 src/PartitionLoops.cpp prologue = For::make(op->name, op->min, min_steady - op->min, name 643 src/PartitionLoops.cpp epilogue = For::make(op->name, max_steady, op->min + op->extent - max_steady, name 651 src/PartitionLoops.cpp Expr loop_var = Variable::make(Int(32), op->name); name 663 src/PartitionLoops.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, stmt); name 732 src/PartitionLoops.cpp if (ends_with(op->name, "__thread_id_x")) { name 741 src/PartitionLoops.cpp if (in_gpu_loop || CodeGen_GPU_Dev::is_gpu_var(op->name)) { name 742 src/PartitionLoops.cpp gpu_vars.push(op->name, 0); name 775 src/PartitionLoops.cpp stmt = mutate(substitute(op->name, new_var, op->body)); name 779 src/PartitionLoops.cpp gpu_vars.push(op->name, 0); name 791 src/PartitionLoops.cpp internal_assert(!expr_uses_var(f->min, op->name) && name 792 src/PartitionLoops.cpp !expr_uses_var(f->extent, op->name)); name 793 src/PartitionLoops.cpp Stmt inner = LetStmt::make(op->name, op->value, f->body); name 794 src/PartitionLoops.cpp inner = For::make(f->name, f->min, f->extent, f->for_type, f->device_api, inner); name 797 src/PartitionLoops.cpp internal_assert(a->name == "__shared" && a->extents.size() == 1); name 798 src/PartitionLoops.cpp if (expr_uses_var(a->extents[0], op->name)) { name 806 src/PartitionLoops.cpp Stmt inner = LetStmt::make(op->name, op->value, a->body); name 807 src/PartitionLoops.cpp inner = Allocate::make(a->name, a->type, a->extents, a->condition, inner); name 841 src/PartitionLoops.cpp allocate_a->name == "__shared" && name 842 src/PartitionLoops.cpp allocate_b->name == "__shared") { name 844 src/PartitionLoops.cpp inner = Allocate::make(allocate_a->name, allocate_a->type, allocate_a->extents, allocate_a->condition, inner); name 846 src/PartitionLoops.cpp } else if (let_a && let_b && let_a->name == let_b->name) { name 850 src/PartitionLoops.cpp inner = LetStmt::make(let_a->name, select(condition, let_a->value, let_b->value), inner); name 854 src/PartitionLoops.cpp string new_name = unique_name(let_a->name); name 856 src/PartitionLoops.cpp inner = substitute(let_a->name, Variable::make(let_a->value.type(), new_name), inner); name 861 src/PartitionLoops.cpp string new_name = unique_name(let_b->name); name 863 src/PartitionLoops.cpp inner = substitute(let_b->name, Variable::make(let_b->value.type(), new_name), inner); name 868 src/PartitionLoops.cpp for_a->name == for_b->name && name 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); name 29 src/Pipeline.cpp return output_name(filename, m.name(), ext); name 51 src/Pipeline.cpp string name; name 247 src/Pipeline.cpp auto module_producer = [this, &args](const std::string &name, const Target &target) -> Module { name 248 src/Pipeline.cpp return compile_to_module(args, name, target); name 276 src/Pipeline.cpp if (arg.arg.name == contents->user_context_arg.arg.name) { name 289 src/Pipeline.cpp debug(1) << "Inferred argument: " << arg.arg.type << " " << arg.arg.name << "\n"; name 291 src/Pipeline.cpp arg.arg.name != contents->user_context_arg.arg.name) { name 324 src/Pipeline.cpp if (arg.name == contents->user_context_arg.arg.name) { name 339 src/Pipeline.cpp if (lf.name == fn_name) { name 371 src/Pipeline.cpp string name = contents->outputs[0].name(); name 372 src/Pipeline.cpp for (size_t i = 0; i < name.size(); i++) { name 373 src/Pipeline.cpp if (!isalnum(name[i])) { name 374 src/Pipeline.cpp name[i] = '_'; name 377 src/Pipeline.cpp return name; name 412 src/Pipeline.cpp string name = generate_function_name(); name 415 src/Pipeline.cpp Module module = compile_to_module(args, name, target).resolve_submodules(); name 416 src/Pipeline.cpp auto f = module.get_function_by_name(name); name 430 src/Pipeline.cpp string file_name = program_name + "_" + name + "_" + unique_name('g').substr(1) + ".bc"; name 688 src/Pipeline.cpp << "Can't realize Func \"" << func.name() name 691 src/Pipeline.cpp << "-dimensional, but Func \"" << func.name() name 694 src/Pipeline.cpp << "Can't realize Func \"" << func.name() name 697 src/Pipeline.cpp << ", but Func \"" << func.name() name 725 src/Pipeline.cpp debug(1) << arg.arg.name << " @ " << ptr << "\n"; name 46 src/Prefetch.cpp if (!current_func || !starts_with(loop_name, current_func->name() + ".s" + std::to_string(stage))) { name 73 src/Prefetch.cpp Box get_buffer_bounds(string name, int dims) { name 74 src/Prefetch.cpp if (buffer_bounds.contains(name)) { name 75 src/Prefetch.cpp const Box &b = buffer_bounds.ref(name); name 81 src/Prefetch.cpp user_assert(env.find(name) == env.end()) name 82 src/Prefetch.cpp << "Prefetch to buffer \"" << name << "\" which has not been allocated\n" ; name 86 src/Prefetch.cpp Expr buf_min_i = Variable::make(Int(32), name + ".min." + dim_name); name 87 src/Prefetch.cpp Expr buf_extent_i = Variable::make(Int(32), name + ".extent." + dim_name); name 100 src/Prefetch.cpp buffer_bounds.push(op->name, b); name 102 src/Prefetch.cpp buffer_bounds.pop(op->name); name 122 src/Prefetch.cpp scope.push(op->name, value_bounds); name 124 src/Prefetch.cpp scope.pop(op->name); name 129 src/Prefetch.cpp scope.push(op->name, Interval(Variable::make(op->value.type(), min_name), name 132 src/Prefetch.cpp scope.pop(op->name); name 146 src/Prefetch.cpp return LetOrLetStmt::make(op->name, op->value, body); name 193 src/Prefetch.cpp const vector<PrefetchDirective> &prefetch_list = get_prefetch_list(op->name); name 196 src/Prefetch.cpp Expr loop_var = Variable::make(Int(32), op->name); name 197 src/Prefetch.cpp scope.push(op->name, Interval(loop_var, loop_var)); name 199 src/Prefetch.cpp scope.pop(op->name); name 207 src/Prefetch.cpp if (!ends_with(op->name, "." + p.var) || (seen.find(p.name) != seen.end())) { name 210 src/Prefetch.cpp seen.insert(p.name); name 214 src/Prefetch.cpp scope.push(op->name, Interval(fetch_at, fetch_at)); name 216 src/Prefetch.cpp scope.pop(op->name); name 225 src/Prefetch.cpp const auto &b = boxes_rw.find(p.name); name 252 src/Prefetch.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, body); name 289 src/Prefetch.cpp string index_name = "prefetch_reduce_" + base->name + "." + std::to_string((i-1)/2); name 341 src/Prefetch.cpp string index_name = "prefetch_split_" + base->name + "." + std::to_string((i-1)/2); name 81 src/PrintLoopNest.cpp out << op->for_type << ' ' << simplify_var_name(op->name); name 88 src/PrintLoopNest.cpp if (min_var && constants.contains(min_var->name)) { name 89 src/PrintLoopNest.cpp min_val = constants.get(min_var->name); name 92 src/PrintLoopNest.cpp if (extent_var && constants.contains(extent_var->name)) { name 93 src/PrintLoopNest.cpp extent_val = constants.get(extent_var->name); name 113 src/PrintLoopNest.cpp auto it = env.find(op->name); name 118 src/PrintLoopNest.cpp out << "store " << simplify_func_name(op->name) << ":\n"; name 130 src/PrintLoopNest.cpp out << "produce " << simplify_func_name(op->name) << ":\n"; name 132 src/PrintLoopNest.cpp out << "consume " << simplify_func_name(op->name) << ":\n"; name 141 src/PrintLoopNest.cpp out << simplify_func_name(op->name) << "(...) = ...\n"; name 146 src/PrintLoopNest.cpp constants.push(op->name, op->value); name 148 src/PrintLoopNest.cpp constants.pop(op->name); name 51 src/Profiling.cpp string normalize_name(const string &name) { name 52 src/Profiling.cpp vector<string> v = split_string(name, "."); name 57 src/Profiling.cpp int get_func_id(const string &name) { name 58 src/Profiling.cpp string norm_name = normalize_name(name); name 73 src/Profiling.cpp const std::string &name, name 82 src/Profiling.cpp int32_t constant_size = Allocate::constant_allocation_size(extents, name); name 104 src/Profiling.cpp int idx = get_func_id(op->name); name 115 src/Profiling.cpp Expr size = compute_allocation_size(new_extents, condition, op->type, op->name, on_stack); name 117 src/Profiling.cpp func_alloc_sizes.push(op->name, {on_stack, size}); name 127 src/Profiling.cpp debug(3) << " Allocation on stack: " << op->name << "(" << size << ") in pipeline " << pipeline_name name 142 src/Profiling.cpp stmt = Allocate::make(op->name, op->type, new_extents, condition, body, new_expr, op->free_function); name 147 src/Profiling.cpp debug(3) << " Allocation on heap: " << op->name << "(" << size << ") in pipeline " << pipeline_name << "\n"; name 155 src/Profiling.cpp int idx = get_func_id(op->name); name 157 src/Profiling.cpp AllocSize alloc = func_alloc_sizes.get(op->name); name 159 src/Profiling.cpp func_alloc_sizes.pop(op->name); name 168 src/Profiling.cpp debug(3) << " Free on heap: " << op->name << "(" << alloc.size << ") in pipeline " << pipeline_name << "\n"; name 178 src/Profiling.cpp debug(3) << " Free on stack: " << op->name << "(" << alloc.size << ") in pipeline " << pipeline_name name 188 src/Profiling.cpp idx = get_func_id(op->name); name 208 src/Profiling.cpp stmt = ProducerConsumer::make(op->name, op->is_producer, body); name 257 src/Profiling.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, body); name 19 src/Qualify.cpp expr = Variable::make(v->type, prefix + v->name, v->reduction_domain); name 25 src/Qualify.cpp expr = Let::make(prefix + op->name, value, body); name 19 src/RDom.cpp (name().empty() ? "<unknown>" : name()) << "\n"; name 21 src/RDom.cpp return Variable::make(Int(32), name(), domain()); name 57 src/RDom.cpp void RDom::init_vars(string name) { name 67 src/RDom.cpp *(vars[i]) = RVar(name + "$" + var_names[i]); name 86 src/RDom.cpp offending_func = op->name; name 92 src/RDom.cpp offending_free_var = op->name; name 101 src/RDom.cpp void RDom::initialize_from_ranges(const std::vector<std::pair<Expr, Expr>> &ranges, string name) { name 102 src/RDom.cpp if (name.empty()) { name 103 src/RDom.cpp name = make_entity_name(this, "Halide::RDom", 'r'); name 112 src/RDom.cpp << "The bounds of the RDom " << name name 119 src/RDom.cpp << "The bounds of the RDom " << name name 135 src/RDom.cpp rv.var = name + "$" + rvar_uniquifier; name 141 src/RDom.cpp init_vars(name); name 145 src/RDom.cpp string name = unique_name('r'); name 150 src/RDom.cpp name + "$" + var_names[i], name 158 src/RDom.cpp init_vars(name); name 166 src/RDom.cpp p.name() + "$" + var_names[i], name 174 src/RDom.cpp init_vars(p.name()); name 222 src/RDom.cpp stream << v.name() << "(" << v.min() << ", " << v.extent() << ")"; name 56 src/RDom.h EXPORT const std::string &name() const; name 182 src/RDom.h void init_vars(std::string name); name 184 src/RDom.h EXPORT void initialize_from_ranges(const std::vector<std::pair<Expr, Expr>> &ranges, std::string name = ""); name 199 src/RDom.h NO_INLINE RDom(const std::vector<std::pair<Expr, Expr>> &ranges, std::string name = "") { name 200 src/RDom.h initialize_from_ranges(ranges, name); name 74 src/Random.cpp string name = unique_name('R'); name 81 src/Random.cpp result = Let::make(name, result + cast<uint32_t>(e[i]), name 82 src/Random.cpp rng32(Variable::make(UInt(32), name))); name 58 src/RealizationOrder.cpp if (visited.find(f.name()) == visited.end()) { name 59 src/RealizationOrder.cpp realization_order_dfs(f.name(), graph, visited, result_set, order); name 167 src/Reduction.cpp expr = Variable::make(op->type, op->name); name 19 src/RemoveDeadAllocations.cpp if (var && ends_with(var->name, ".buffer")) { name 20 src/RemoveDeadAllocations.cpp std::string func = var->name.substr(0, var->name.find_first_of('.')); name 32 src/RemoveDeadAllocations.cpp if (allocs.contains(op->name)) { name 33 src/RemoveDeadAllocations.cpp allocs.pop(op->name); name 40 src/RemoveDeadAllocations.cpp if (allocs.contains(op->name)) { name 41 src/RemoveDeadAllocations.cpp allocs.pop(op->name); name 48 src/RemoveDeadAllocations.cpp allocs.push(op->name, 1); name 51 src/RemoveDeadAllocations.cpp if (allocs.contains(op->name)) { name 53 src/RemoveDeadAllocations.cpp allocs.pop(op->name); name 57 src/RemoveDeadAllocations.cpp stmt = Allocate::make(op->name, op->type, op->extents, op->condition, body, op->new_expr, op->free_function); name 62 src/RemoveDeadAllocations.cpp if (allocs.contains(op->name)) { name 27 src/RemoveTrivialForLoops.cpp << for_loop->name << " has extent one. " name 31 src/RemoveTrivialForLoops.cpp << for_loop->name << " has extent one. " name 34 src/RemoveTrivialForLoops.cpp stmt = LetStmt::make(for_loop->name, for_loop->min, body); name 39 src/RemoveTrivialForLoops.cpp stmt = LetStmt::make(for_loop->name, for_loop->min, body); name 44 src/RemoveTrivialForLoops.cpp stmt = For::make(for_loop->name, for_loop->min, for_loop->extent, for_loop->for_type, for_loop->device_api, body); name 22 src/RemoveUndef.cpp if (dead_vars.contains(op->name)) { name 126 src/RemoveUndef.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, pred); name 171 src/RemoveUndef.cpp expr = Call::make(op->type, op->name, new_args, op->call_type, name 179 src/RemoveUndef.cpp dead_vars.push(op->name, 0); name 183 src/RemoveUndef.cpp dead_vars.pop(op->name); name 192 src/RemoveUndef.cpp expr = Let::make(op->name, value, body); name 193 src/RemoveUndef.cpp predicate = substitute(op->name, value, predicate); name 200 src/RemoveUndef.cpp dead_vars.push(op->name, 0); name 204 src/RemoveUndef.cpp dead_vars.pop(op->name); name 213 src/RemoveUndef.cpp stmt = LetStmt::make(op->name, value, body); name 243 src/RemoveUndef.cpp stmt = ProducerConsumer::make(op->name, op->is_producer, body); name 265 src/RemoveUndef.cpp stmt = For::make(op->name, min, extent, op->for_type, op->device_api, body); name 287 src/RemoveUndef.cpp stmt = IfThenElse::make(predicate, Store::make(op->name, value, index, op->param, pred)); name 294 src/RemoveUndef.cpp stmt = Store::make(op->name, value, index, op->param, pred); name 356 src/RemoveUndef.cpp stmt = IfThenElse::make(predicate, Provide::make(op->name, new_values, new_args)); name 361 src/RemoveUndef.cpp stmt = Provide::make(op->name, new_values, new_args); name 393 src/RemoveUndef.cpp stmt = Allocate::make(op->name, op->type, new_extents, condition, body, new_expr, op->free_function); name 435 src/RemoveUndef.cpp stmt = Realize::make(op->name, op->types, new_bounds, condition, body); name 43 src/Schedule.cpp LoopLevel::LoopLevel(Internal::Function f, VarOrRVar v) : LoopLevel(f.name(), v.name(), v.is_rvar) {} name 45 src/Schedule.cpp LoopLevel::LoopLevel(Func f, VarOrRVar v) : LoopLevel(f.function().name(), v.name(), v.is_rvar) {} name 230 src/Schedule.h std::string name; name 34 src/ScheduleFunctions.cpp string name; name 106 src/ScheduleFunctions.cpp stmt = substitute(res.name, res.value, stmt); name 108 src/ScheduleFunctions.cpp stmt = LetStmt::make(res.name, res.value, stmt); name 132 src/ScheduleFunctions.cpp Container c = {Container::Let, 0, let->name, let->value}; name 164 src/ScheduleFunctions.cpp if (!expr_uses_var(nest[j+1].value, nest[j].name)) { name 192 src/ScheduleFunctions.cpp if (!expr_uses_var(nest[j+1].value, nest[j].name)) { name 204 src/ScheduleFunctions.cpp stmt = LetStmt::make(nest[i].name, nest[i].value, stmt); name 211 src/ScheduleFunctions.cpp Expr min = Variable::make(Int(32), nest[i].name + ".loop_min"); name 212 src/ScheduleFunctions.cpp Expr extent = Variable::make(Int(32), nest[i].name + ".loop_extent"); name 213 src/ScheduleFunctions.cpp stmt = For::make(nest[i].name, min, extent, dim.for_type, dim.device_api, stmt); name 231 src/ScheduleFunctions.cpp string o = prefix + Var::outermost().name(); name 350 src/ScheduleFunctions.cpp string buf_name = input.name(); name 362 src/ScheduleFunctions.cpp Parameter p(b.type(), true, b.dimensions(), b.name()); name 364 src/ScheduleFunctions.cpp Expr buf = Variable::make(type_of<struct halide_buffer_t *>(), b.name() + ".buffer", p); name 370 src/ScheduleFunctions.cpp Expr buf = Variable::make(type_of<struct halide_buffer_t *>(), p.name() + ".buffer", p); name 389 src/ScheduleFunctions.cpp string buf_name = f.name(); name 403 src/ScheduleFunctions.cpp string stride_name = f.name(); name 407 src/ScheduleFunctions.cpp string stage_name = f.name() + ".s0."; name 410 src/ScheduleFunctions.cpp string src_buf_name = f.name(); name 441 src/ScheduleFunctions.cpp string buf_name = f.name() + "." + std::to_string(j) + ".tmp_buffer"; name 507 src/ScheduleFunctions.cpp string prefix = f.name() + ".s0."; name 509 src/ScheduleFunctions.cpp return build_provide_loop_nest(f.name(), prefix, dims, f.definition(), false); name 521 src/ScheduleFunctions.cpp string prefix = f.name() + ".s" + std::to_string(i+1) + "."; name 524 src/ScheduleFunctions.cpp Stmt loop = build_provide_loop_nest(f.name(), prefix, dims, def, true); name 548 src/ScheduleFunctions.cpp string prefix = func.name() + ".s" + std::to_string(stage) + "." + b.var; name 566 src/ScheduleFunctions.cpp {b.var, func.name(), min_val, max_val, min_var, max_var}, name 582 src/ScheduleFunctions.cpp if (op->name == func) result = true; name 588 src/ScheduleFunctions.cpp starts_with(op->name, func + ".") && name 589 src/ScheduleFunctions.cpp ends_with(op->name, ".buffer")) { name 596 src/ScheduleFunctions.cpp IsUsedInStmt(Function f) : func(f.name()), result(false) { name 636 src/ScheduleFunctions.cpp producer = ProducerConsumer::make_produce(func.name(), producer); name 640 src/ScheduleFunctions.cpp consumer = ProducerConsumer::make_consume(func.name(), consumer); name 655 src/ScheduleFunctions.cpp string name = func.name(); name 659 src/ScheduleFunctions.cpp Expr min = Variable::make(Int(32), name + "." + arg + ".min_realized"); name 660 src/ScheduleFunctions.cpp Expr extent = Variable::make(Int(32), name + "." + arg + ".extent_realized"); name 664 src/ScheduleFunctions.cpp s = Realize::make(name, func.output_types(), bounds, const_true(), s); name 681 src/ScheduleFunctions.cpp producing = op->name; name 688 src/ScheduleFunctions.cpp stmt = ProducerConsumer::make(op->name, op->is_producer, body); name 696 src/ScheduleFunctions.cpp debug(3) << "InjectRealization of " << func.name() << " entering for loop over " << for_loop->name << "\n"; name 705 src/ScheduleFunctions.cpp lets.push_back({ l->name, l->value }); name 716 src/ScheduleFunctions.cpp debug(2) << "Injecting realization of " << func.name() << " around node " << Stmt(for_loop) << "\n"; name 724 src/ScheduleFunctions.cpp if (compute_level.match(for_loop->name)) { name 732 src/ScheduleFunctions.cpp if (store_level.match(for_loop->name)) { name 752 src/ScheduleFunctions.cpp stmt = For::make(for_loop->name, name 763 src/ScheduleFunctions.cpp if (op->name != func.name() && name 800 src/ScheduleFunctions.cpp size_t first_dot = f->name.find('.'); name 801 src/ScheduleFunctions.cpp size_t last_dot = f->name.rfind('.'); name 803 src/ScheduleFunctions.cpp string func = f->name.substr(0, first_dot); name 804 src/ScheduleFunctions.cpp string var = f->name.substr(last_dot + 1); name 846 src/ScheduleFunctions.cpp if (c->name == func.name()) { name 853 src/ScheduleFunctions.cpp starts_with(v->name, func.name() + ".") && name 854 src/ScheduleFunctions.cpp ends_with(v->name, ".buffer")) { name 864 src/ScheduleFunctions.cpp ss << f.name(); name 872 src/ScheduleFunctions.cpp string store_var_name = store_at.var().name(); name 873 src/ScheduleFunctions.cpp if (store_var_name == Var::outermost().name()) { name 882 src/ScheduleFunctions.cpp string compute_var_name = compute_at.var().name(); name 883 src/ScheduleFunctions.cpp if (compute_var_name == Var::outermost().name()) { name 897 src/ScheduleFunctions.cpp if (op->name == func) { name 922 src/ScheduleFunctions.cpp if (ends_with(op->name, Var::outermost().name()) || name 923 src/ScheduleFunctions.cpp ends_with(op->name, LoopLevel::root().to_string())) { name 939 src/ScheduleFunctions.cpp stream << "for " << op->name << ":\n"; name 952 src/ScheduleFunctions.cpp caller = op->name; name 961 src/ScheduleFunctions.cpp if (op->name == func) { name 987 src/ScheduleFunctions.cpp << "Func " << g.name() << " cannot be scheduled to be computed inline, " name 988 src/ScheduleFunctions.cpp << "because it is used in the externally-computed function " << f.name() << "\n"; name 1004 src/ScheduleFunctions.cpp << " of function " << f.name() name 1008 src/ScheduleFunctions.cpp << f.name() << ".update(" << i << ") to suppress" name 1032 src/ScheduleFunctions.cpp user_error << "Schedule for Func " << f.name() name 1049 src/ScheduleFunctions.cpp user_error << "Func " << f.name() << " is an output, so must" name 1095 src/ScheduleFunctions.cpp err << "Func \"" << f.name() name 1105 src/ScheduleFunctions.cpp err << "Func \"" << f.name() << "\" is computed at the following invalid location:\n" name 1111 src/ScheduleFunctions.cpp err << "\"" << f.name() << "\" is used in the following places:\n"; name 1112 src/ScheduleFunctions.cpp PrintUsesOfFunc printer(f.name(), err); name 1125 src/ScheduleFunctions.cpp if (ends_with(op->name, ".__outermost") && name 1128 src/ScheduleFunctions.cpp stmt = mutate(substitute(op->name, op->min, op->body)); name 1135 src/ScheduleFunctions.cpp if (ends_with(op->name, ".__outermost.loop_extent") || name 1136 src/ScheduleFunctions.cpp ends_with(op->name, ".__outermost.loop_min") || name 1137 src/ScheduleFunctions.cpp ends_with(op->name, ".__outermost.loop_max")) { name 1138 src/ScheduleFunctions.cpp stmt = mutate(substitute(op->name, simplify(op->value), op->body)); name 7 src/ScheduleParam.cpp ScheduleParamBase::ScheduleParamBase(const Type &t, const std::string &name, bool is_explicit_name) name 8 src/ScheduleParam.cpp : sp_name(name), name 10 src/ScheduleParam.cpp scalar_parameter(t, /*is_buffer*/ false, 0, is_explicit_name ? name + ".schedule_param_param" : "", name 12 src/ScheduleParam.cpp scalar_expr(Variable::make(t, scalar_parameter.name() + ".schedule_param_var", scalar_parameter)), name 22 src/ScheduleParam.h const std::string &name() const { name 78 src/ScheduleParam.h EXPORT ScheduleParamBase(const Type &t, const std::string &name, bool is_explicit_name); name 134 src/ScheduleParam.h user_error << "The ScheduleParam " << name() << " cannot be set with a value of type " << type << ".\n"; name 148 src/ScheduleParam.h user_error << "The ScheduleParam " << name() << " cannot be set with a value of type " << type << ".\n"; name 159 src/ScheduleParam.h user_error << "Unable to parse " << name() << ": " << new_value_string; name 171 src/ScheduleParam.h user_error << "Unable to parse " << name() << ": " << new_value_string; name 181 src/ScheduleParam.h user_assert(!iss.fail() && iss.get() == EOF) << "Unable to parse " << name() << ": " << new_value_string; name 193 src/ScheduleParam.h explicit ScheduleParam(const std::string &name) : ScheduleParamBase(get_param_type(), name, true) {} name 195 src/ScheduleParam.h ScheduleParam(const std::string &name, const T &value) : ScheduleParamBase(get_param_type(), name, true) { name 105 src/Scope.h T get(const std::string &name) const { name 106 src/Scope.h typename std::map<std::string, SmallStack<T>>::const_iterator iter = table.find(name); name 109 src/Scope.h return containing_scope->get(name); name 111 src/Scope.h internal_error << "Symbol '" << name << "' not found\n"; name 118 src/Scope.h T &ref(const std::string &name) { name 119 src/Scope.h typename std::map<std::string, SmallStack<T>>::iterator iter = table.find(name); name 121 src/Scope.h internal_error << "Symbol '" << name << "' not found\n"; name 127 src/Scope.h bool contains(const std::string &name) const { name 128 src/Scope.h typename std::map<std::string, SmallStack<T>>::const_iterator iter = table.find(name); name 131 src/Scope.h return containing_scope->contains(name); name 142 src/Scope.h void push(const std::string &name, const T &value) { name 143 src/Scope.h table[name].push(value); name 149 src/Scope.h void pop(const std::string &name) { name 150 src/Scope.h typename std::map<std::string, SmallStack<T>>::iterator iter = table.find(name); name 151 src/Scope.h internal_assert(iter != table.end()) << "Name not in symbol table: " << name << "\n"; name 176 src/Scope.h const std::string &name() { name 214 src/Scope.h const std::string &name() { name 246 src/Scope.h stream << " " << iter.name() << "\n"; name 30 src/SelectGPUAPI.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, selected_api, op->body); name 55 src/Simplify.cpp bool is_var_relop_simple_const(const Expr &e, string* name) { name 60 src/Simplify.cpp *name = v->name; name 67 src/Simplify.cpp *name = v->name; name 75 src/Simplify.cpp bool is_var_simple_const_comparison(const Expr &e, string* name) { name 78 src/Simplify.cpp return is_var_relop_simple_const<EQ>(e, name) || name 79 src/Simplify.cpp is_var_relop_simple_const<NE>(e, name); name 187 src/Simplify.cpp bounds_info.push(iter.name(), { i_min, i_max }); name 242 src/Simplify.cpp void found_buffer_reference(const string &name, size_t dimensions = 0) { name 244 src/Simplify.cpp string stride = name + ".stride." + std::to_string(i); name 249 src/Simplify.cpp string min = name + ".min." + std::to_string(i); name 255 src/Simplify.cpp if (var_info.contains(name)) { name 256 src/Simplify.cpp var_info.ref(name).old_uses++; name 312 src/Simplify.cpp if (bounds_info.contains(v->name)) { name 313 src/Simplify.cpp pair<int64_t, int64_t> b = bounds_info.get(v->name); name 560 src/Simplify.cpp if (var_info.contains(op->name)) { name 561 src/Simplify.cpp VarInfo &info = var_info.ref(op->name); name 566 src/Simplify.cpp internal_assert(info.replacement.type() == op->type) << "Cannot replace variable " << op->name name 3464 src/Simplify.cpp expr_uses_var(b, eq_a->a.as<Variable>()->name)) { name 3470 src/Simplify.cpp expr_uses_var(a, eq_b->a.as<Variable>()->name)) { name 3478 src/Simplify.cpp } else if (var_a && expr_uses_var(b, var_a->name)) { name 3479 src/Simplify.cpp expr = mutate(a && substitute(var_a->name, make_one(a.type()), b)); name 3480 src/Simplify.cpp } else if (var_b && expr_uses_var(a, var_b->name)) { name 3481 src/Simplify.cpp expr = mutate(substitute(var_b->name, make_one(b.type()), a) && b); name 3639 src/Simplify.cpp } else if (var_a && expr_uses_var(b, var_a->name)) { name 3640 src/Simplify.cpp expr = mutate(a || substitute(var_a->name, make_zero(a.type()), b)); name 3641 src/Simplify.cpp } else if (var_b && expr_uses_var(a, var_b->name)) { name 3642 src/Simplify.cpp expr = mutate(substitute(var_b->name, make_zero(b.type()), a) || b); name 3936 src/Simplify.cpp then_case = substitute(var->name, eq->b, then_case); name 3939 src/Simplify.cpp else_case = substitute(var->name, !eq->b, else_case); name 3943 src/Simplify.cpp then_case = substitute(var->name, const_true(), then_case); name 3946 src/Simplify.cpp else_case = substitute(var->name, const_false(), else_case); name 3976 src/Simplify.cpp found_buffer_reference(op->name); name 3988 src/Simplify.cpp Expr load = Load::make(op->type.element_of(), op->name, b_index->value, op->image, op->param, b_pred->value); name 3993 src/Simplify.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, predicate); name 4000 src/Simplify.cpp found_buffer_reference(op->name, op->args.size()); name 4106 src/Simplify.cpp op->name == "is_nan_f32") { name 4114 src/Simplify.cpp expr = Call::make(op->type, op->name, {arg}, op->call_type); name 4162 src/Simplify.cpp expr = Call::make(op->type, op->name, new_args, op->call_type); name 4167 src/Simplify.cpp op->name == "sqrt_f32") { name 4175 src/Simplify.cpp expr = Call::make(op->type, op->name, {arg}, op->call_type); name 4180 src/Simplify.cpp op->name == "log_f32") { name 4188 src/Simplify.cpp expr = Call::make(op->type, op->name, {arg}, op->call_type); name 4193 src/Simplify.cpp op->name == "exp_f32") { name 4201 src/Simplify.cpp expr = Call::make(op->type, op->name, {arg}, op->call_type); name 4206 src/Simplify.cpp op->name == "pow_f32") { name 4217 src/Simplify.cpp expr = Call::make(op->type, op->name, {arg0, arg1}, op->call_type); name 4222 src/Simplify.cpp (op->name == "floor_f32" || op->name == "ceil_f32" || name 4223 src/Simplify.cpp op->name == "round_f32" || op->name == "trunc_f32")) { name 4231 src/Simplify.cpp if (op->name == "floor_f32") { name 4233 src/Simplify.cpp } else if (op->name == "ceil_f32") { name 4235 src/Simplify.cpp } else if (op->name == "round_f32") { name 4237 src/Simplify.cpp } else if (op->name == "trunc_f32") { name 4241 src/Simplify.cpp (call->name == "floor_f32" || call->name == "ceil_f32" || name 4242 src/Simplify.cpp call->name == "round_f32" || call->name == "trunc_f32")) { name 4247 src/Simplify.cpp expr = Call::make(op->type, op->name, {arg}, op->call_type); name 4335 src/Simplify.cpp if (load && load->name == first_load->name) { name 4358 src/Simplify.cpp expr = Load::make(t, first_load->name, shuffled_index, first_load->image, name 4552 src/Simplify.cpp internal_assert(!var_info.contains(op->name)) name 4553 src/Simplify.cpp << "Simplify only works on code where every name is unique. Repeated name: " << op->name << "\n"; name 4562 src/Simplify.cpp string new_name = op->name + ".s"; name 4566 src/Simplify.cpp debug(4) << "simplify let " << op->name << " = " << value << " in ... " << op->name << " ...\n"; name 4671 src/Simplify.cpp var_info.push(op->name, info); name 4691 src/Simplify.cpp alignment_info.push(op->name, mod_rem); name 4696 src/Simplify.cpp bounds_info.push(op->name, { val_min, val_max }); name 4704 src/Simplify.cpp alignment_info.pop(op->name); name 4707 src/Simplify.cpp bounds_info.pop(op->name); name 4716 src/Simplify.cpp info = var_info.get(op->name); name 4717 src/Simplify.cpp var_info.pop(op->name); name 4728 src/Simplify.cpp result = T::make(op->name, value, result); name 4735 src/Simplify.cpp new_op->name == op->name && name 4773 src/Simplify.cpp call && call->name == "halide_error_specialize_fail"; name 4794 src/Simplify.cpp bounds_info.push(op->name, { new_min_int, new_max_int }); name 4800 src/Simplify.cpp bounds_info.pop(op->name); name 4810 src/Simplify.cpp stmt = For::make(op->name, new_min, new_extent, op->for_type, op->device_api, new_body); name 4815 src/Simplify.cpp found_buffer_reference(op->name, op->args.size()); name 4820 src/Simplify.cpp found_buffer_reference(op->name); name 4834 src/Simplify.cpp Store::make(op->name, value, index, op->param, const_true(value.type().lanes()))); name 4835 src/Simplify.cpp } else if (is_undef(value) || (load && load->name == op->name && equal(load->index, index))) { name 4841 src/Simplify.cpp stmt = Store::make(op->name, value, index, op->param, predicate); name 4864 src/Simplify.cpp stmt = Allocate::make(op->name, op->type, new_extents, name 4874 src/Simplify.cpp stmt = Allocate::make(op->name, op->type, new_extents, name 4887 src/Simplify.cpp lets.push_back({let->name, let->value}); name 4910 src/Simplify.cpp stmt = ProducerConsumer::make(op->name, op->is_producer, body); name 4943 src/Simplify.cpp new_block = substitute(let_first->name, new_var, new_block); name 4944 src/Simplify.cpp new_block = substitute(let_rest->name, new_var, new_block); name 68 src/SimplifySpecializations.cpp vector<Definition> propagate_specialization_in_definition(Definition &def, const string &name) { name 90 src/SimplifySpecializations.cpp << old_c << ") -> (" << c << ") for function \"" << name << "\"\n"; name 103 src/SimplifySpecializations.cpp debug(1) << "Replacing default Schedule with const-true specialization for function \"" << name << "\"\n"; name 130 src/SimplifySpecializations.cpp vector<Definition> s_result = propagate_specialization_in_definition(s_def, name); name 134 src/SimplifySpecializations.cpp substitute_value_in_var(var->name, eq->b, s_result); name 138 src/SimplifySpecializations.cpp substitute_value_in_var(var->name, !eq->b, result); name 142 src/SimplifySpecializations.cpp substitute_value_in_var(var->name, const_true(), s_result); name 145 src/SimplifySpecializations.cpp substitute_value_in_var(var->name, const_false(), result); name 164 src/SimplifySpecializations.cpp propagate_specialization_in_definition(func.definition(), func.name()); name 25 src/SkipStages.cpp if (starts_with(op->name, "halide_memoization")) { name 31 src/SkipStages.cpp starts_with(var->name, func + ".") && name 32 src/SkipStages.cpp ends_with(var->name, ".buffer")) { name 61 src/SkipStages.cpp bool this_varies = varying.contains(op->name); name 73 src/SkipStages.cpp varying.push(op->name, 0); name 77 src/SkipStages.cpp varying.pop(op->name); name 79 src/SkipStages.cpp } else if (expr_uses_var(predicate, op->name)) { name 80 src/SkipStages.cpp predicate = Let::make(op->name, op->min, predicate); name 85 src/SkipStages.cpp void visit_let(const std::string &name, Expr value, T body) { name 92 src/SkipStages.cpp varying.push(name, 0); name 96 src/SkipStages.cpp varying.pop(name); name 98 src/SkipStages.cpp if (expr_uses_var(predicate, name)) { name 99 src/SkipStages.cpp predicate = Let::make(name, value, predicate); name 104 src/SkipStages.cpp visit_let(op->name, op->value, op->body); name 108 src/SkipStages.cpp visit_let(op->name, op->value, op->body); name 112 src/SkipStages.cpp in_pipeline.push(op->name, 0); name 114 src/SkipStages.cpp if (op->name != buffer) { name 120 src/SkipStages.cpp in_pipeline.pop(op->name); name 216 src/SkipStages.cpp varies |= in_pipeline.contains(op->name); name 220 src/SkipStages.cpp if (op->name == buffer || extern_call_uses_buffer(op, buffer)) { name 230 src/SkipStages.cpp varying.push(op->name, 0); name 231 src/SkipStages.cpp varying.push(op->name + ".buffer", 0); name 233 src/SkipStages.cpp varying.pop(op->name + ".buffer"); name 234 src/SkipStages.cpp varying.pop(op->name); name 251 src/SkipStages.cpp internal_assert(starts_with(op->name, "halide_memoization")); name 255 src/SkipStages.cpp starts_with(var->name, buffer + ".") && name 256 src/SkipStages.cpp ends_with(var->name, ".buffer")) { name 265 src/SkipStages.cpp if ((op->name == "halide_memoization_cache_lookup") && name 277 src/SkipStages.cpp } else if ((op->name == "halide_memoization_cache_store") && name 297 src/SkipStages.cpp if (op->name == buffer) { name 299 src/SkipStages.cpp stmt = ProducerConsumer::make(op->name, op->is_producer, body); name 320 src/SkipStages.cpp vector_vars.push(op->name, 0); name 327 src/SkipStages.cpp vector_vars.pop(op->name); name 338 src/SkipStages.cpp vector_vars.push(op->name, 0); name 344 src/SkipStages.cpp vector_vars.pop(op->name); name 349 src/SkipStages.cpp if (op->name == func) { name 350 src/SkipStages.cpp debug(3) << "Finding compute predicate for " << op->name << "\n"; name 351 src/SkipStages.cpp PredicateFinder find_compute(op->name, true); name 354 src/SkipStages.cpp debug(3) << "Simplifying compute predicate for " << op->name << ": " << find_compute.predicate << "\n"; name 357 src/SkipStages.cpp debug(3) << "Compute predicate for " << op->name << " : " << compute_predicate << "\n"; name 369 src/SkipStages.cpp debug(3) << "Finding allocate predicate for " << op->name << "\n"; name 370 src/SkipStages.cpp PredicateFinder find_alloc(op->name, false); name 372 src/SkipStages.cpp debug(3) << "Simplifying allocate predicate for " << op->name << "\n"; name 375 src/SkipStages.cpp debug(3) << "Allocate predicate for " << op->name << " : " << alloc_predicate << "\n"; name 377 src/SkipStages.cpp ProductionGuarder g(op->name, compute_predicate, alloc_predicate); name 380 src/SkipStages.cpp debug(3) << "Done guarding computation for " << op->name << "\n"; name 382 src/SkipStages.cpp stmt = Realize::make(op->name, op->types, op->bounds, name 401 src/SkipStages.cpp if (op->name == func || extern_call_uses_buffer(op, func)) { name 433 src/SkipStages.cpp if (op->name == func) { name 440 src/SkipStages.cpp if (!op->is_producer && (op->name == func)) { name 25 src/SlidingWindow.cpp if (op->name == var) result = true; name 32 src/SlidingWindow.cpp if (op->name != var) { name 57 src/SlidingWindow.cpp if (scope.contains(var->name)) { name 58 src/SlidingWindow.cpp expr = scope.get(var->name); name 59 src/SlidingWindow.cpp debug(3) << "Fully expanded " << var->name << " -> " << expr << "\n"; name 96 src/SlidingWindow.cpp if ((!var) || (var->name != dim)) { name 110 src/SlidingWindow.cpp if (!op->is_producer || (op->name != func.name())) { name 123 src/SlidingWindow.cpp debug(3) << "Considering sliding " << func.name() name 127 src/SlidingWindow.cpp string prefix = func.name() + ".s" + std::to_string(func.updates().size()) + "."; name 157 src/SlidingWindow.cpp << func.name() << " over " << loop_var << " because either zero " name 173 src/SlidingWindow.cpp << func.name() << " over " << loop_var << " because the function " name 195 src/SlidingWindow.cpp debug(3) << "Not sliding " << func.name() name 206 src/SlidingWindow.cpp debug(3) << "Sliding " << func.name() name 218 src/SlidingWindow.cpp debug(3) << "Not sliding " << func.name() name 239 src/SlidingWindow.cpp debug(3) << "Sliding " << func.name() << ", " << dim << "\n" name 251 src/SlidingWindow.cpp string n = func.name() + ".s" + std::to_string(i) + "." + dim; name 263 src/SlidingWindow.cpp Box b = box_provided(op->body, func.name()); name 284 src/SlidingWindow.cpp Stmt s = LetStmt::make(op->name, min, op->body); name 289 src/SlidingWindow.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, l->body); name 292 src/SlidingWindow.cpp debug(3) << "Not entering loop over " << op->name name 303 src/SlidingWindow.cpp scope.push(op->name, simplify(expand_expr(op->value, scope))); name 308 src/SlidingWindow.cpp map<string, Expr>::iterator iter = replacements.find(op->name); name 317 src/SlidingWindow.cpp stmt = LetStmt::make(op->name, value, new_body); name 319 src/SlidingWindow.cpp scope.pop(op->name); name 334 src/SlidingWindow.cpp debug(3) << " Doing sliding window analysis over loop: " << op->name << "\n"; name 342 src/SlidingWindow.cpp new_body = SlidingWindowOnFunctionAndLoop(func, op->name, op->min).mutate(new_body); name 348 src/SlidingWindow.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, new_body); name 364 src/SlidingWindow.cpp map<string, Function>::const_iterator iter = env.find(op->name); name 383 src/SlidingWindow.cpp debug(3) << "Doing sliding window analysis on realization of " << op->name << "\n"; name 392 src/SlidingWindow.cpp stmt = Realize::make(op->name, op->types, op->bounds, op->condition, new_body); name 699 src/Solve.cpp if (op->name == var) { name 702 src/Solve.cpp } else if (scope.contains(op->name)) { name 703 src/Solve.cpp CacheEntry e = scope.get(op->name); name 706 src/Solve.cpp } else if (external_scope.contains(op->name)) { name 707 src/Solve.cpp Expr e = external_scope.get(op->name); name 724 src/Solve.cpp scope.push(op->name, e); name 726 src/Solve.cpp scope.pop(op->name); name 847 src/Solve.cpp scope.push(op->name, op->value); name 851 src/Solve.cpp scope.pop(op->name); name 853 src/Solve.cpp if (result.has_lower_bound() && expr_uses_var(result.min, op->name)) { name 854 src/Solve.cpp result.min = Let::make(op->name, op->value, result.min); name 856 src/Solve.cpp if (result.has_upper_bound() && expr_uses_var(result.max, op->name)) { name 857 src/Solve.cpp result.max = Let::make(op->name, op->value, result.max); name 863 src/Solve.cpp if (scope.contains(op->name)) { name 864 src/Solve.cpp pair<string, bool> key = { op->name, target }; name 869 src/Solve.cpp scope.get(op->name).accept(this); name 928 src/Solve.cpp } else if (v && v->name == var) { name 985 src/Solve.cpp } else if (v && v->name == var) { name 1196 src/Solve.cpp if (scope.contains(op->name) && op->type.is_bool()) { name 1197 src/Solve.cpp Interval i = scope.get(op->name); name 1246 src/Solve.cpp string min_name = unique_name(op->name + ".min"); name 1247 src/Solve.cpp string max_name = unique_name(op->name + ".max"); name 1264 src/Solve.cpp scope.push(op->name, Interval(min_var, max_var)); name 1266 src/Solve.cpp scope.pop(op->name); name 1268 src/Solve.cpp if (expr_uses_var(expr, op->name)) { name 1269 src/Solve.cpp expr = Let::make(op->name, op->value, expr); name 1278 src/Solve.cpp bound_vars.push(op->name, op->value); name 1280 src/Solve.cpp bound_vars.pop(op->name); name 1284 src/Solve.cpp expr = Let::make(op->name, op->value, body); name 27 src/SplitTuples.cpp func_value_indices[call->name].insert(call->value_index); name 60 src/SplitTuples.cpp realizations.push(op->name, 0); name 65 src/SplitTuples.cpp body = Realize::make(op->name + "." + std::to_string(i), {op->types[i]}, op->bounds, op->condition, body); name 71 src/SplitTuples.cpp realizations.pop(op->name); name 90 src/SplitTuples.cpp const auto &indices = func_value_indices.find(op->name); name 95 src/SplitTuples.cpp stmt = Prefetch::make(op->name + "." + std::to_string(*it), {op->types[(*it)]}, op->bounds); name 98 src/SplitTuples.cpp stmt = Block::make(stmt, Prefetch::make(op->name + "." + std::to_string(*it), {op->types[(*it)]}, op->bounds)); name 107 src/SplitTuples.cpp auto it = env.find(op->name); name 110 src/SplitTuples.cpp string name = op->name; name 112 src/SplitTuples.cpp name += "." + std::to_string(op->value_index); name 122 src/SplitTuples.cpp expr = Call::make(op->type, name, args, op->call_type, f.get_contents()); name 139 src/SplitTuples.cpp if (!realizations.contains(op->name) && name 149 src/SplitTuples.cpp Box provided = box_provided(op, op->name); name 150 src/SplitTuples.cpp Box required = box_required(op, op->name); name 161 src/SplitTuples.cpp auto it = env.find(op->name); name 171 src/SplitTuples.cpp string name = op->name + "." + std::to_string(i); name 172 src/SplitTuples.cpp string var_name = name + ".value"; name 178 src/SplitTuples.cpp provides.push_back(Provide::make(name, {val}, args)); name 194 src/StmtToHtml.cpp stream << var(op->name); name 260 src/StmtToHtml.cpp stream << var(op->name) << "["; name 286 src/StmtToHtml.cpp print_list(symbol(op->name) + "(", op->args, ")"); name 291 src/StmtToHtml.cpp scope.push(op->name, unique_id()); name 295 src/StmtToHtml.cpp stream << var(op->name); name 303 src/StmtToHtml.cpp scope.pop(op->name); name 306 src/StmtToHtml.cpp scope.push(op->name, unique_id()); name 310 src/StmtToHtml.cpp stream << var(op->name); name 317 src/StmtToHtml.cpp scope.pop(op->name); name 328 src/StmtToHtml.cpp scope.push(op->name, unique_id()); name 334 src/StmtToHtml.cpp stream << var(op->name); name 342 src/StmtToHtml.cpp scope.pop(op->name); name 345 src/StmtToHtml.cpp scope.push(op->name, unique_id()); name 368 src/StmtToHtml.cpp print_list({Variable::make(Int(32), op->name), op->min, op->extent}); name 378 src/StmtToHtml.cpp scope.pop(op->name); name 383 src/StmtToHtml.cpp stream << var(op->name) << "["; name 400 src/StmtToHtml.cpp stream << var(op->name) << "("; name 413 src/StmtToHtml.cpp scope.push(op->name, unique_id()); name 417 src/StmtToHtml.cpp stream << var(op->name) << "["; name 450 src/StmtToHtml.cpp scope.pop(op->name); name 455 src/StmtToHtml.cpp stream << var(op->name); name 459 src/StmtToHtml.cpp scope.push(op->name, unique_id()); name 464 src/StmtToHtml.cpp stream << var(op->name); name 483 src/StmtToHtml.cpp scope.pop(op->name); name 489 src/StmtToHtml.cpp stream << var(op->name); name 602 src/StmtToHtml.cpp scope.push(op.name, unique_id()); name 609 src/StmtToHtml.cpp stream << " " << op.name << "("; name 615 src/StmtToHtml.cpp stream << var(op.args[i].name); name 626 src/StmtToHtml.cpp scope.pop(op.name); name 631 src/StmtToHtml.cpp stream << keyword("buffer ") << var(op.name()); name 29 src/StorageFlattening.cpp outputs.insert(f.name()); name 39 src/StorageFlattening.cpp Expr flatten_args(const string &name, const vector<Expr> &args, name 41 src/StorageFlattening.cpp bool internal = realizations.contains(name); name 48 src/StorageFlattening.cpp string stride_name = name + ".stride." + dim; name 49 src/StorageFlattening.cpp string min_name = name + ".min." + dim; name 98 src/StorageFlattening.cpp realizations.push(op->name, 0); name 110 src/StorageFlattening.cpp realizations.pop(op->name); name 114 src/StorageFlattening.cpp auto iter = env.find(op->name); name 143 src/StorageFlattening.cpp min_name[i] = op->name + ".min." + d; name 144 src/StorageFlattening.cpp stride_name[i] = op->name + ".stride." + d; name 145 src/StorageFlattening.cpp extent_name[i] = op->name + ".extent." + d; name 156 src/StorageFlattening.cpp builder.host = Variable::make(Handle(), op->name); name 164 src/StorageFlattening.cpp stmt = LetStmt::make(op->name + ".buffer", builder.build(), stmt); name 167 src/StorageFlattening.cpp stmt = Allocate::make(op->name, op->types[0], extents, condition, stmt); name 194 src/StorageFlattening.cpp auto it = env.find(op->name); name 204 src/StorageFlattening.cpp if (outputs.count(f.name())) { name 209 src/StorageFlattening.cpp Expr idx = mutate(flatten_args(op->name, op->args, Buffer<>(), output_buf)); name 211 src/StorageFlattening.cpp stmt = Store::make(op->name, value, idx, output_buf, const_true(value.type().lanes())); name 218 src/StorageFlattening.cpp Expr idx = mutate(flatten_args(op->name, op->args, op->image, op->param)); name 219 src/StorageFlattening.cpp expr = Load::make(op->type, op->name, idx, op->image, op->param, name 236 src/StorageFlattening.cpp prefetch_stride[i] = Variable::make(Int(32), op->name + ".stride." + std::to_string(i), op->param); name 239 src/StorageFlattening.cpp Expr base_offset = mutate(flatten_args(op->name, prefetch_min, Buffer<>(), op->param)); name 240 src/StorageFlattening.cpp Expr base_address = Variable::make(Handle(), op->name); name 243 src/StorageFlattening.cpp auto iter = env.find(op->name); name 280 src/StorageFlattening.cpp bool constrained_version_exists = ends_with(let->name, ".constrained"); name 282 src/StorageFlattening.cpp scope.push(let->name, 0); name 288 src/StorageFlattening.cpp scope.pop(let->name); name 305 src/StorageFlattening.cpp expr = Cast::make(op->type, Load::make(t, op->name, mutate(op->index), name 315 src/StorageFlattening.cpp stmt = Store::make(op->name, Cast::make(t, mutate(op->value)), mutate(op->index), name 329 src/StorageFlattening.cpp stmt = Allocate::make(op->name, t, extents, name 29 src/StorageFolding.cpp const std::string &name; name 32 src/StorageFolding.cpp if (op->is_producer && (op->name == name)) { name 44 src/StorageFolding.cpp CountProducers(const std::string &name) : name(name) {} name 47 src/StorageFolding.cpp int count_producers(Stmt in, const std::string &name) { name 48 src/StorageFolding.cpp CountProducers counter(name); name 65 src/StorageFolding.cpp if (op->name == func && op->call_type == Call::Halide) { name 69 src/StorageFolding.cpp expr = Call::make(op->type, op->name, args, op->call_type, name 78 src/StorageFolding.cpp if (op->name == func) { name 81 src/StorageFolding.cpp stmt = Provide::make(op->name, op->values, args); name 98 src/StorageFolding.cpp if (op->name == func.name()) { name 119 src/StorageFolding.cpp Box provided = box_provided(body, func.name()); name 120 src/StorageFolding.cpp Box required = box_required(body, func.name()); name 130 src/StorageFolding.cpp if (expr_uses_var(min, op->name) || expr_uses_var(max, op->name)) { name 138 src/StorageFolding.cpp debug(3) << "\nConsidering folding " << func.name() << " over for loop over " << op->name << '\n' name 145 src/StorageFolding.cpp (is_monotonic(min, op->name) == Monotonic::Increasing); name 148 src/StorageFolding.cpp (is_monotonic(max, op->name) == Monotonic::Decreasing); name 155 src/StorageFolding.cpp Expr loop_var = Variable::make(Int(32), op->name); name 157 src/StorageFolding.cpp Expr min_next = substitute(op->name, loop_var + 1, min); name 164 src/StorageFolding.cpp Expr max_next = substitute(op->name, loop_var + 1, max); name 172 src/StorageFolding.cpp {func.name(), storage_dim.var, op->name}, name 185 src/StorageFolding.cpp {func.name(), storage_dim.var, explicit_factor, op->name, extent}, name 193 src/StorageFolding.cpp scope.push(op->name, Interval(Variable::make(Int(32), op->name + ".loop_min"), name 194 src/StorageFolding.cpp Variable::make(Int(32), op->name + ".loop_max"))); name 196 src/StorageFolding.cpp scope.pop(op->name); name 216 src/StorageFolding.cpp body = FoldStorageOfFunction(func.name(), (int)i - 1, factor).mutate(body); name 218 src/StorageFolding.cpp Expr next_var = Variable::make(Int(32), op->name) + 1; name 219 src/StorageFolding.cpp Expr next_min = substitute(op->name, next_var, min); name 226 src/StorageFolding.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, body); name 250 src/StorageFolding.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, body); name 280 src/StorageFolding.cpp var->name == func + ".buffer") { name 295 src/StorageFolding.cpp IsBufferSpecial special(op->name); name 300 src/StorageFolding.cpp auto func_it = env.find(op->name); name 306 src/StorageFolding.cpp << "Dimension " << i.var << " of " << op->name name 310 src/StorageFolding.cpp debug(3) << "Not attempting to fold " << op->name << " because its buffer is used\n"; name 314 src/StorageFolding.cpp stmt = Realize::make(op->name, op->types, op->bounds, op->condition, body); name 319 src/StorageFolding.cpp bool explicit_only = count_producers(body, op->name) != 1; name 321 src/StorageFolding.cpp debug(3) << "Attempting to fold " << op->name << "\n"; name 327 src/StorageFolding.cpp stmt = Realize::make(op->name, op->types, op->bounds, op->condition, body); name 340 src/StorageFolding.cpp stmt = Realize::make(op->name, op->types, bounds, op->condition, body); name 360 src/StorageFolding.cpp scope.push(op->name, value); name 362 src/StorageFolding.cpp scope.pop(op->name); name 370 src/StorageFolding.cpp stmt = LetStmt::make(op->name, value, body); name 375 src/StorageFolding.cpp if (scope.contains(op->name)) { name 376 src/StorageFolding.cpp expr = scope.get(op->name); name 31 src/Substitute.cpp Expr r = find_replacement(v->name); name 41 src/Substitute.cpp hidden.push(op->name, 0); name 43 src/Substitute.cpp hidden.pop(op->name); name 49 src/Substitute.cpp expr = Let::make(op->name, new_value, new_body); name 55 src/Substitute.cpp hidden.push(op->name, 0); name 57 src/Substitute.cpp hidden.pop(op->name); name 63 src/Substitute.cpp stmt = LetStmt::make(op->name, new_value, new_body); name 71 src/Substitute.cpp hidden.push(op->name, 0); name 73 src/Substitute.cpp hidden.pop(op->name); name 80 src/Substitute.cpp stmt = For::make(op->name, new_min, new_extent, op->for_type, op->device_api, new_body); name 86 src/Substitute.cpp Expr substitute(const string &name, const Expr &replacement, const Expr &expr) { name 88 src/Substitute.cpp m[name] = replacement; name 93 src/Substitute.cpp Stmt substitute(const string &name, const Expr &replacement, const Stmt &stmt) { name 95 src/Substitute.cpp m[name] = replacement; name 148 src/Substitute.cpp if (op->name == var) { name 176 src/Substitute.cpp Expr graph_substitute(const string &name, const Expr &replacement, const Expr &expr) { name 177 src/Substitute.cpp return GraphSubstitute(name, replacement).mutate(expr); name 180 src/Substitute.cpp Stmt graph_substitute(const string &name, const Expr &replacement, const Stmt &stmt) { name 181 src/Substitute.cpp return GraphSubstitute(name, replacement).mutate(stmt); name 199 src/Substitute.cpp expr = graph_substitute(op->name, value, body); name 22 src/Substitute.h EXPORT Expr substitute(const std::string &name, const Expr &replacement, const Expr &expr); name 26 src/Substitute.h EXPORT Stmt substitute(const std::string &name, const Expr &replacement, const Stmt &stmt); name 43 src/Substitute.h Expr graph_substitute(const std::string &name, const Expr &replacement, const Expr &expr); name 44 src/Substitute.h Stmt graph_substitute(const std::string &name, const Expr &replacement, const Stmt &stmt); name 76 src/Tracing.cpp Function f = env.find(op->name)->second; name 80 src/Tracing.cpp trace_parent = Variable::make(Int(32), op->name + ".trace_id"); name 91 src/Tracing.cpp builder.func = op->name; name 111 src/Tracing.cpp map<string, Function>::const_iterator iter = env.find(op->name); name 123 src/Tracing.cpp builder.func = f.name(); name 126 src/Tracing.cpp builder.parent_id = Variable::make(Int(32), op->name + ".trace_id"); name 149 src/Tracing.cpp string name = unique_name('t'); name 150 src/Tracing.cpp lets.push_back({name, args[i]}); name 151 src/Tracing.cpp args[i] = Variable::make(args[i].type(), name); name 155 src/Tracing.cpp stmt = Provide::make(op->name, traces, args); name 167 src/Tracing.cpp map<string, Function>::const_iterator iter = env.find(op->name); name 173 src/Tracing.cpp builder.func = op->name; name 185 src/Tracing.cpp builder.parent_id = Variable::make(Int(32), op->name + ".trace_id"); name 189 src/Tracing.cpp new_body = LetStmt::make(op->name + ".trace_id", call_before, new_body); name 190 src/Tracing.cpp stmt = Realize::make(op->name, op->types, op->bounds, op->condition, new_body); name 194 src/Tracing.cpp new_body = LetStmt::make(op->name + ".trace_id", 0, new_body); name 195 src/Tracing.cpp stmt = Realize::make(op->name, op->types, op->bounds, op->condition, new_body); name 204 src/Tracing.cpp map<string, Function>::const_iterator iter = env.find(op->name); name 210 src/Tracing.cpp builder.func = op->name; name 211 src/Tracing.cpp builder.parent_id = Variable::make(Int(32), op->name + ".trace_id"); name 216 src/Tracing.cpp Expr min = Variable::make(Int(32), f.name() + ".s0." + f_args[i] + ".min"); name 217 src/Tracing.cpp Expr max = Variable::make(Int(32), f.name() + ".s0." + f_args[i] + ".max"); name 236 src/Tracing.cpp stmt = LetStmt::make(f.name() + ".trace_id", begin_op_call, name 237 src/Tracing.cpp ProducerConsumer::make(op->name, op->is_producer, new_body)); name 248 src/Tracing.cpp if (op->name == f.name()) { name 273 src/Tracing.cpp Expr min = Variable::make(Int(32), output_buf.name() + ".min." + d); name 274 src/Tracing.cpp Expr extent = Variable::make(Int(32), output_buf.name() + ".extent." + d); name 277 src/Tracing.cpp s = Realize::make(output.name(), output.output_types(), output_region, const_true(), s); name 45 src/TrimNoOps.cpp if (op->name == buffer) { name 93 src/TrimNoOps.cpp if (!loads_from_buffer(op->value, op->name)) { name 98 src/TrimNoOps.cpp Expr equivalent_load = Load::make(op->value.type(), op->name, op->index, name 121 src/TrimNoOps.cpp varying.push(op->name, Interval(op->min, op->min + op->extent - 1)); name 123 src/TrimNoOps.cpp debug(3) << "About to relax over " << op->name << " : " << condition << "\n"; name 160 src/TrimNoOps.cpp if (expr_uses_var(condition, op->name)) { name 161 src/TrimNoOps.cpp condition = Let::make(op->name, op->value, condition); name 304 src/TrimNoOps.cpp containing_loops.push_back({op->name, {value, value}}); name 307 src/TrimNoOps.cpp return LetStmtOrLet::make(op->name, value, body); name 322 src/TrimNoOps.cpp containing_loops.push_back({op->name, {min, min + extent - 1}}); name 325 src/TrimNoOps.cpp stmt = For::make(op->name, min, extent, op->for_type, op->device_api, body); name 340 src/TrimNoOps.cpp if (CodeGen_GPU_Dev::is_gpu_var(op->name)) { name 341 src/TrimNoOps.cpp debug(3) << "TrimNoOps found gpu loop var: " << op->name << "\n"; name 348 src/TrimNoOps.cpp debug(3) << "\n\n ***** Trim no ops in loop over " << op->name << "\n"; name 363 src/TrimNoOps.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, body); name 370 src/TrimNoOps.cpp Interval i = solve_for_outer_interval(!is_no_op.condition, op->name); name 376 src/TrimNoOps.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, body); name 388 src/TrimNoOps.cpp body = simplify(SimplifyUsingBounds(op->name, i).mutate(body)); name 390 src/TrimNoOps.cpp string new_min_name = unique_name(op->name + ".new_min"); name 391 src/TrimNoOps.cpp string new_max_name = unique_name(op->name + ".new_max"); name 392 src/TrimNoOps.cpp string old_max_name = unique_name(op->name + ".old_max"); name 419 src/TrimNoOps.cpp stmt = For::make(op->name, new_min_var, new_extent, op->for_type, op->device_api, body); name 10 src/Tuple.cpp << f.function().name() << "\" because it does not return a Tuple.\n"; name 48 src/Type.h std::string name; name 50 src/Type.h halide_cplusplus_type_name(CPPTypeType cpp_type_type, const std::string &name) name 51 src/Type.h : cpp_type_type(cpp_type_type), name(name) { name 56 src/Type.h name == rhs.name; name 66 src/Type.h name < rhs.name); name 127 src/Type.h static halide_cplusplus_type_name name() { \ name 204 src/Type.h halide_c_type_to_name<typename std::remove_cv<T>::type>::name(), name 215 src/Type.h the_info.inner_name.name = name 216 src/Type.h Halide::Internal::extract_namespaces(the_info.inner_name.name, name 40 src/UnifyDuplicateLets.cpp map<string, string>::iterator iter = rewrites.find(op->name); name 56 src/UnifyDuplicateLets.cpp is_impure |= ((op->name == producing) || name 57 src/UnifyDuplicateLets.cpp starts_with(op->name + ".", producing)); name 64 src/UnifyDuplicateLets.cpp producing = op->name; name 83 src/UnifyDuplicateLets.cpp scope[value] = op->name; name 87 src/UnifyDuplicateLets.cpp rewrites[op->name] = iter->second; name 98 src/UnifyDuplicateLets.cpp rewrites.erase(op->name); name 104 src/UnifyDuplicateLets.cpp stmt = LetStmt::make(op->name, value, body); name 43 src/UniquifyVariableNames.cpp push_name(op->name); name 44 src/UniquifyVariableNames.cpp string new_name = get_name(op->name); name 46 src/UniquifyVariableNames.cpp pop_name(op->name); name 48 src/UniquifyVariableNames.cpp if (new_name == op->name && name 60 src/UniquifyVariableNames.cpp push_name(op->name); name 61 src/UniquifyVariableNames.cpp string new_name = get_name(op->name); name 63 src/UniquifyVariableNames.cpp pop_name(op->name); name 65 src/UniquifyVariableNames.cpp if (new_name == op->name && name 78 src/UniquifyVariableNames.cpp push_name(op->name); name 79 src/UniquifyVariableNames.cpp string new_name = get_name(op->name); name 81 src/UniquifyVariableNames.cpp pop_name(op->name); name 83 src/UniquifyVariableNames.cpp if (new_name == op->name && name 94 src/UniquifyVariableNames.cpp string new_name = get_name(op->name); name 95 src/UniquifyVariableNames.cpp if (op->name != new_name) { name 27 src/UnpackBuffers.cpp string name = param.name(); name 28 src/UnpackBuffers.cpp buffers[name] = name 29 src/UnpackBuffers.cpp BufferInfo {Variable::make(type_of<buffer_t *>(), name + ".buffer", param), name 37 src/UnpackBuffers.cpp string name = buffer.name(); name 38 src/UnpackBuffers.cpp buffers[name] = name 39 src/UnpackBuffers.cpp BufferInfo {Variable::make(type_of<buffer_t *>(), name + ".buffer", buffer), name 45 src/UnpackBuffers.cpp visit_param(op->name, op->param); name 46 src/UnpackBuffers.cpp visit_buffer(op->name, op->image); name 50 src/UnpackBuffers.cpp visit_param(op->name, op->param); name 51 src/UnpackBuffers.cpp visit_buffer(op->name, op->image); name 56 src/UnpackBuffers.cpp visit_param(op->name, op->param); name 74 src/UnpackBuffers.cpp const string &name = p.first; name 78 src/UnpackBuffers.cpp string host_var = name; name 82 src/UnpackBuffers.cpp string dev_var = name + ".device"; name 86 src/UnpackBuffers.cpp string dev_interface_var = name + ".device_interface"; name 91 src/UnpackBuffers.cpp string type_code_var = name + ".type.code"; name 95 src/UnpackBuffers.cpp string type_bits_var = name + ".type.bits"; name 99 src/UnpackBuffers.cpp string type_lanes_var = name + ".type.lanes"; name 103 src/UnpackBuffers.cpp string host_dirty_var = name + ".host_dirty"; name 107 src/UnpackBuffers.cpp string dev_dirty_var = name + ".device_dirty"; name 114 src/UnpackBuffers.cpp string min_var = name + ".min." + std::to_string(i); name 118 src/UnpackBuffers.cpp string extent_var = name + ".extent." + std::to_string(i); name 122 src/UnpackBuffers.cpp string stride_var = name + ".stride." + std::to_string(i); name 22 src/UnrollLoops.cpp << "Loop over " << for_loop->name << " has extent " << extent << ".\n"; name 26 src/UnrollLoops.cpp user_warning << "Warning: Unrolling a for loop of extent 1: " << for_loop->name << "\n"; name 32 src/UnrollLoops.cpp iters.push_back(substitute(for_loop->name, for_loop->min + i, body)); name 189 src/Util.cpp string name = Introspection::get_variable_name(stack_ptr, type); name 191 src/Util.cpp if (name.empty()) { name 195 src/Util.cpp for (size_t i = 0; i < name.size(); i++) { name 196 src/Util.cpp if (name[i] == '.') { name 197 src/Util.cpp name[i] = ':'; name 200 src/Util.cpp return unique_name(name); name 221 src/Util.cpp std::string extract_namespaces(const std::string &name, std::vector<std::string> &namespaces) { name 222 src/Util.cpp namespaces = split_string(name, "::"); name 228 src/Util.cpp bool file_exists(const std::string &name) { name 230 src/Util.cpp return _access(name.c_str(), 0) == 0; name 232 src/Util.cpp return ::access(name.c_str(), F_OK) == 0; name 236 src/Util.cpp void assert_file_exists(const std::string &name) { name 237 src/Util.cpp internal_assert(file_exists(name)) << "File not found: " << name; name 240 src/Util.cpp void assert_no_file_exists(const std::string &name) { name 241 src/Util.cpp internal_assert(!file_exists(name)) << "File (wrongly) found: " << name; name 244 src/Util.cpp void file_unlink(const std::string &name) { name 246 src/Util.cpp _unlink(name.c_str()); name 248 src/Util.cpp ::unlink(name.c_str()); name 252 src/Util.cpp void ensure_no_file_exists(const std::string &name) { name 253 src/Util.cpp if (file_exists(name)) { name 254 src/Util.cpp file_unlink(name); name 256 src/Util.cpp assert_no_file_exists(name); name 259 src/Util.cpp void dir_rmdir(const std::string &name) { name 261 src/Util.cpp BOOL r = RemoveDirectoryA(name.c_str()); name 262 src/Util.cpp internal_assert(r != 0) << "Unable to remove dir: " << name << ":" << GetLastError() << "\n"; name 264 src/Util.cpp int r = ::rmdir(name.c_str()); name 265 src/Util.cpp internal_assert(r == 0) << "Unable to remove dir: " << name << "\n"; name 269 src/Util.cpp FileStat file_stat(const std::string &name) { name 272 src/Util.cpp if (_stat(name.c_str(), &a) != 0) { name 273 src/Util.cpp user_error << "Could not stat " << name << "\n"; name 277 src/Util.cpp if (::stat(name.c_str(), &a) != 0) { name 278 src/Util.cpp user_error << "Could not stat " << name << "\n"; name 328 src/Util.cpp std::ostringstream name; name 329 src/Util.cpp name << std::hex name 338 src/Util.cpp name << (int)guid.Data4[i]; name 340 src/Util.cpp std::string dir = std::string(tmp_path) + std::string(name.str()); name 169 src/Util.h EXPORT std::string extract_namespaces(const std::string &name, std::vector<std::string> &namespaces); name 200 src/Util.h EXPORT bool file_exists(const std::string &name); name 203 src/Util.h EXPORT void assert_file_exists(const std::string &name); name 206 src/Util.h EXPORT void assert_no_file_exists(const std::string &name); name 209 src/Util.h EXPORT void file_unlink(const std::string &name); name 212 src/Util.h EXPORT void file_unlink(const std::string &name); name 216 src/Util.h EXPORT void ensure_no_file_exists(const std::string &name); name 219 src/Util.h EXPORT void dir_rmdir(const std::string &name); name 222 src/Util.h EXPORT FileStat file_stat(const std::string &name); name 16 src/Var.cpp bool Var::is_implicit(const std::string &name) { name 17 src/Var.cpp return Internal::starts_with(name, "_") && name 18 src/Var.cpp name.find_first_not_of("0123456789", 1) == std::string::npos; name 27 src/Var.h const std::string &name() const {return _name;} name 118 src/Var.h EXPORT static bool is_implicit(const std::string &name); name 120 src/Var.h return is_implicit(name()); name 129 src/Var.h static int implicit_index(const std::string &name) { name 130 src/Var.h return is_implicit(name) ? atoi(name.c_str() + 1) : -1; name 133 src/Var.h return implicit_index(name()); name 139 src/Var.h static bool is_placeholder(const std::string &name) { name 140 src/Var.h return name == "_"; name 143 src/Var.h return is_placeholder(name()); name 149 src/Var.h return Internal::Variable::make(Int(32), name()); name 38 src/VaryingAttributes.cpp Expr tag_linear_expression(Expr e, const std::string &name = unique_name('a')) { name 40 src/VaryingAttributes.cpp internal_assert(name.length() > 0); name 50 src/VaryingAttributes.cpp {name + ".varying", e}, name 62 src/VaryingAttributes.cpp if (op->name == Call::glsl_texture_load) { name 74 src/VaryingAttributes.cpp } else if (op->name == Call::glsl_texture_store) { name 87 src/VaryingAttributes.cpp expr = Call::make(op->type, op->name, new_args, op->call_type, name 96 src/VaryingAttributes.cpp scope.push(op->name, order); name 103 src/VaryingAttributes.cpp {op->name + ".varying", mutated_value}, name 108 src/VaryingAttributes.cpp expr = Let::make(op->name, mutated_value, mutated_body); name 110 src/VaryingAttributes.cpp scope.pop(op->name); name 119 src/VaryingAttributes.cpp loop_vars.push_back(op->name); name 123 src/VaryingAttributes.cpp scope.push(op->name, 2); name 131 src/VaryingAttributes.cpp scope.pop(op->name); name 139 src/VaryingAttributes.cpp stmt = For::make(op->name, op->min, op->extent, op->for_type, op->device_api, mutated_body); name 144 src/VaryingAttributes.cpp if (std::find(loop_vars.begin(), loop_vars.end(), op->name) != loop_vars.end()) { name 146 src/VaryingAttributes.cpp } else if (scope.contains(op->name)) { name 147 src/VaryingAttributes.cpp order = scope.get(op->name); name 397 src/VaryingAttributes.cpp if (op->name == Call::glsl_varying) { name 398 src/VaryingAttributes.cpp std::string name = op->args[0].as<StringImm>()->value; name 399 src/VaryingAttributes.cpp varyings[name] = op->args[1]; name 413 src/VaryingAttributes.cpp if (op->name == Call::glsl_varying) { name 436 src/VaryingAttributes.cpp if (op->name == Call::glsl_varying) { name 439 src/VaryingAttributes.cpp std::string name = op->args[0].as<StringImm>()->value; name 441 src/VaryingAttributes.cpp internal_assert(ends_with(name, ".varying")); name 443 src/VaryingAttributes.cpp expr = Variable::make(op->type, name); name 463 src/VaryingAttributes.cpp if (ends_with(op->name, ".varying")) { name 464 src/VaryingAttributes.cpp variables.insert(op->name); name 481 src/VaryingAttributes.cpp const std::string &name = i.first; name 482 src/VaryingAttributes.cpp if (find.variables.find(name) == find.variables.end()) { name 483 src/VaryingAttributes.cpp debug(2) << "Removed varying attribute " << name << "\n"; name 484 src/VaryingAttributes.cpp remove_list.push_back(name); name 506 src/VaryingAttributes.cpp if ((ends_with(op->name, ".varying")) && (op->type != Float(32))) { name 509 src/VaryingAttributes.cpp Expr v = Variable::make(Float(32), op->name); name 531 src/VaryingAttributes.cpp if (std::find(names.begin(), names.end(), op->name) != names.end()) { name 536 src/VaryingAttributes.cpp } else if (scope.contains(op->name) && (op->type != scope.get(op->name).type())) { name 540 src/VaryingAttributes.cpp expr = Variable::make(scope.get(op->name).type(), op->name); name 635 src/VaryingAttributes.cpp scope.push(op->name, mutated_value); name 641 src/VaryingAttributes.cpp scope.pop(op->name); name 644 src/VaryingAttributes.cpp expr = Let::make(op->name, mutated_value, mutated_body); name 652 src/VaryingAttributes.cpp scope.push(op->name, mutated_value); name 658 src/VaryingAttributes.cpp scope.pop(op->name); name 661 src/VaryingAttributes.cpp stmt = LetStmt::make(op->name, mutated_value, mutated_body); name 943 src/VaryingAttributes.cpp if (op->name == Call::glsl_varying) { name 971 src/VaryingAttributes.cpp stmt = LetStmt::make(op->name, op->value, mutated_body); name 989 src/VaryingAttributes.cpp stmt = LetStmt::make(op->name, op->value, mutated_body); name 998 src/VaryingAttributes.cpp if (CodeGen_GPU_Dev::is_gpu_var(op->name) && op->device_api == DeviceAPI::GLSL) { name 1002 src/VaryingAttributes.cpp std::string name = op->name + ".idx"; name 1003 src/VaryingAttributes.cpp const std::vector<Expr>& dim = dims[op->name]; name 1008 src/VaryingAttributes.cpp Expr loop_variable = Variable::make(Int(32),name); name 1023 src/VaryingAttributes.cpp if (!(nested_for && CodeGen_GPU_Dev::is_gpu_var(nested_for->name))) { name 1030 src/VaryingAttributes.cpp Expr coord1 = cast<float>(Variable::make(Int(32),for_loops[0]->name)); name 1031 src/VaryingAttributes.cpp Expr coord0 = cast<float>(Variable::make(Int(32),for_loops[1]->name)); name 1045 src/VaryingAttributes.cpp std::vector<std::string> names = {for_loops[0]->name, for_loops[1]->name}; name 1075 src/VaryingAttributes.cpp Stmt loop_var = LetStmt::make(op->name, coord_expr, mutated_body); name 1077 src/VaryingAttributes.cpp stmt = For::make(name, 0, (int)dim.size(), ForType::Serial, DeviceAPI::None, loop_var); name 1143 src/VaryingAttributes.cpp if (CodeGen_GPU_Dev::is_gpu_var(op->name) && op->device_api == DeviceAPI::GLSL) { name 1172 src/VaryingAttributes.cpp attribute_order[loop0->name] = 0; name 1173 src/VaryingAttributes.cpp attribute_order[loop1->name] = 1; name 1200 src/VaryingAttributes.cpp vs.dims[loop0->name] = coords[0]; name 1201 src/VaryingAttributes.cpp vs.dims[loop1->name] = coords[1]; name 37 src/VectorizeLoops.cpp v->name == var) { name 144 src/VectorizeLoops.cpp return {Variable::make(var->type.element_of(), var->name + ".min_lane"), name 145 src/VectorizeLoops.cpp Variable::make(var->type.element_of(), var->name + ".max_lane")}; name 149 src/VectorizeLoops.cpp if (expr_uses_var(ib.min, let->name + ".min_lane")) { name 150 src/VectorizeLoops.cpp ib.min = Let::make(let->name + ".min_lane", ia.min, ib.min); name 152 src/VectorizeLoops.cpp if (expr_uses_var(ib.max, let->name + ".min_lane")) { name 153 src/VectorizeLoops.cpp ib.max = Let::make(let->name + ".min_lane", ia.min, ib.max); name 155 src/VectorizeLoops.cpp if (expr_uses_var(ib.min, let->name + ".max_lane")) { name 156 src/VectorizeLoops.cpp ib.min = Let::make(let->name + ".max_lane", ia.max, ib.min); name 158 src/VectorizeLoops.cpp if (expr_uses_var(ib.max, let->name + ".max_lane")) { name 159 src/VectorizeLoops.cpp ib.max = Let::make(let->name + ".max_lane", ia.max, ib.max); name 201 src/VectorizeLoops.cpp expr = Load::make(op->type, op->name, mutate_index(op->name, op->index), name 206 src/VectorizeLoops.cpp stmt = Store::make(op->name, mutate(op->value), mutate_index(op->name, op->index), name 219 src/VectorizeLoops.cpp if (CodeGen_GPU_Dev::is_gpu_var(op->name)) { name 220 src/VectorizeLoops.cpp debug(3) << "Found gpu loop var: " << op->name << "\n"; name 296 src/VectorizeLoops.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, predicate); name 330 src/VectorizeLoops.cpp stmt = Store::make(op->name, value, op->index, op->param, predicate); name 401 src/VectorizeLoops.cpp string widened_name = op->name + widening_suffix; name 402 src/VectorizeLoops.cpp if (op->name == var) { name 404 src/VectorizeLoops.cpp } else if (scope.contains(op->name)) { name 407 src/VectorizeLoops.cpp expr = Variable::make(scope.get(op->name).type(), widened_name); name 467 src/VectorizeLoops.cpp expr = Load::make(op->type.with_lanes(w), op->name, index, op->image, name 490 src/VectorizeLoops.cpp } else if (op->name == Call::trace) { name 517 src/VectorizeLoops.cpp expr = Call::make(op->type.with_lanes(max_lanes), op->name, new_args, name 535 src/VectorizeLoops.cpp vectorized_name = op->name + widening_suffix; name 536 src/VectorizeLoops.cpp scope.push(op->name, mutated_value); name 545 src/VectorizeLoops.cpp scope.pop(op->name); name 548 src/VectorizeLoops.cpp expr = Let::make(op->name, mutated_value, mutated_body); name 554 src/VectorizeLoops.cpp std::string mutated_name = op->name; name 562 src/VectorizeLoops.cpp scope.push(op->name, mutated_value); name 564 src/VectorizeLoops.cpp containing_lets.push_back({op->name, op->value}); name 572 src/VectorizeLoops.cpp scope.pop(op->name); name 650 src/VectorizeLoops.cpp stmt = Provide::make(op->name, new_values, new_args); name 663 src/VectorizeLoops.cpp stmt = Store::make(op->name, widen(value, lanes), widen(index, lanes), name 720 src/VectorizeLoops.cpp all_true = Call::make(Bool(), c->name, name 768 src/VectorizeLoops.cpp user_warning << "Warning: Encountered vector for loop over " << op->name name 781 src/VectorizeLoops.cpp Expr var = Variable::make(Int(32), op->name); name 782 src/VectorizeLoops.cpp Stmt body = substitute(op->name, var + op->min, op->body); name 783 src/VectorizeLoops.cpp Stmt transformed = For::make(op->name, 0, op->extent, for_type, op->device_api, body); name 794 src/VectorizeLoops.cpp Expr var = Variable::make(Int(32), op->name); name 806 src/VectorizeLoops.cpp stmt = For::make(op->name, min, extent, for_type, op->device_api, body); name 843 src/VectorizeLoops.cpp body = RewriteAccessToVectorAlloc(v, op->name, lanes).mutate(body); name 856 src/VectorizeLoops.cpp stmt = Allocate::make(op->name, op->type, new_extents, op->condition, body, new_expr, op->free_function); name 887 src/VectorizeLoops.cpp string name = iter.name() + ".lane." + std::to_string(i); name 889 src/VectorizeLoops.cpp e = substitute(iter.name(), Variable::make(lane.type(), name), e); name 932 src/VectorizeLoops.cpp user_error << "Loop over " << for_loop->name name 939 src/VectorizeLoops.cpp Expr for_var = Variable::make(Int(32), for_loop->name); name 941 src/VectorizeLoops.cpp stmt = VectorSubs(for_loop->name, replacement, in_hexagon, target).mutate(for_loop->body); name 29 src/WrapCalls.cpp debug(4) << "Merging wrapper of " << in_func.name() << " [" << iter->first.name() name 30 src/WrapCalls.cpp << ", " << iter->second.name() << "] with [" << wrapped_func.name() << ", " name 31 src/WrapCalls.cpp << wrapper.name() << "]\n"; name 35 src/WrapCalls.cpp debug(4) << "Merging wrapper of " << in_func.name() << " [" << wrapped_func.name() name 36 src/WrapCalls.cpp << ", " << wrapper.name() << "] with [" << iter->first.name() << ", " name 37 src/WrapCalls.cpp << iter->second.name() << "]\n"; name 67 src/WrapCalls.cpp all_func_wrappers.insert(Function(iter.second).name()); name 77 src/WrapCalls.cpp if ((wrapper.name() == in_func) || (all_func_wrappers.find(in_func) != all_func_wrappers.end())) { name 82 src/WrapCalls.cpp debug(4) << "Skip over replacing \"" << in_func << "\" with \"" << wrapper.name() << "\"\n"; name 93 src/WrapCalls.cpp << "\" with \"" << wrapper.name() << "\"\n"; name 99 src/WrapCalls.cpp << wrapper.name() << "\"\n"; name 114 src/WrapCalls.cpp << " -> " << wrapper.name() << "] since it's not in the pipeline\n"; name 34 src/WrapExternStages.cpp string wrapper_name = replace_all(prefix + op->name, ":", "_"); name 35 src/WrapExternStages.cpp if (done.count(op->name)) { name 38 src/WrapExternStages.cpp done.insert(op->name); name 48 src/WrapExternStages.cpp args.emplace_back(b.name(), Argument::InputBuffer, name 52 src/WrapExternStages.cpp args.emplace_back(arg.buffer.name(), Argument::InputBuffer, name 58 src/WrapExternStages.cpp args.emplace_back(arg.image_param.name(), Argument::InputBuffer, name 63 src/WrapExternStages.cpp args.emplace_back(b.name(), Argument::OutputBuffer, b.type(), b.dimensions()); name 73 src/WrapExternStages.cpp Expr new_buffer_var = Variable::make(a.type, a.name + ".buffer"); name 76 src/WrapExternStages.cpp string old_buffer_name = a.name + ".old_buffer_t"; name 85 src/WrapExternStages.cpp {a.name, new_buffer_var, old_buffer_var}, name 93 src/WrapExternStages.cpp {a.name, old_buffer_var, new_buffer_var}, name 98 src/WrapExternStages.cpp call_args.push_back(Variable::make(a.type, a.name)); name 102 src/WrapExternStages.cpp Expr inner_call = Call::make(op->type, op->name, call_args, op->call_type); name 113 src/WrapExternStages.cpp debug(2) << "Wrapped extern call to " << op->name << ":\n" << body << "\n\n"; name 155 src/WrapExternStages.cpp wrap.prefix = "_halide_wrapper_" + m.functions()[i].name + "_"; name 172 src/WrapExternStages.cpp call_args.push_back(Variable::make(arg.type, arg.name)); name 175 src/WrapExternStages.cpp args.emplace_back(arg.name, Argument::InputScalar, type_of<buffer_t *>(), 0); name 177 src/WrapExternStages.cpp string new_buffer_name = arg.name + ".upgraded"; name 180 src/WrapExternStages.cpp Expr old_buffer_var = Variable::make(type_of<struct buffer_t *>(), arg.name); name 194 src/WrapExternStages.cpp {arg.name, new_buffer_var, old_buffer_var}, name 200 src/WrapExternStages.cpp {arg.name, new_buffer_var, old_buffer_var}, name 213 src/WrapExternStages.cpp {arg.name, old_buffer_var, new_buffer_var}, name 227 src/WrapExternStages.cpp Expr inner_call = Call::make(Int(32), fn.name, call_args, call_type); name 237 src/WrapExternStages.cpp string name = fn.name; name 240 src/WrapExternStages.cpp name += "_old_buffer_t"; name 244 src/WrapExternStages.cpp debug(2) << "Added legacy wrapper for " << fn.name << ":\n" << body << "\n\n"; name 245 src/WrapExternStages.cpp LoweredFunc wrapper(name, args, body, LoweredFunc::External, NameMangling::Default); name 204 src/runtime/HalideRuntime.h extern void *halide_get_symbol(const char *name); name 205 src/runtime/HalideRuntime.h extern void *halide_load_library(const char *name); name 206 src/runtime/HalideRuntime.h extern void *halide_get_library_symbol(void *lib, const char *name); name 207 src/runtime/HalideRuntime.h typedef void *(*halide_get_symbol_t)(const char *name); name 208 src/runtime/HalideRuntime.h typedef void *(*halide_load_library_t)(const char *name); name 209 src/runtime/HalideRuntime.h typedef void *(*halide_get_library_symbol_t)(void *lib, const char *name); name 1146 src/runtime/HalideRuntime.h extern int halide_upgrade_buffer_t(void *user_context, const char *name, name 1152 src/runtime/HalideRuntime.h extern int halide_downgrade_buffer_t(void *user_context, const char *name, name 1157 src/runtime/HalideRuntime.h extern int halide_downgrade_buffer_t_device_fields(void *user_context, const char *name, name 1207 src/runtime/HalideRuntime.h const char *name; // name of the argument; will never be null or empty. name 1237 src/runtime/HalideRuntime.h const char* name; name 1265 src/runtime/HalideRuntime.h const char *name; name 1291 src/runtime/HalideRuntime.h const char *name; name 120 src/runtime/HalideRuntimeHexagonHost.h const char *name, name 80 src/runtime/HalideRuntimeOpenGL.h void *halide_opengl_get_proc_address(void *user_context, const char *name); name 52 src/runtime/HalideRuntimeOpenGLCompute.h void *halide_opengl_get_proc_address(void *user_context, const char *name); name 109 src/runtime/android_opengl_context.cpp WEAK void *halide_opengl_get_proc_address(void *user_context, const char *name) { name 110 src/runtime/android_opengl_context.cpp return (void*)eglGetProcAddress(name); name 21 src/runtime/cuda.cpp extern "C" WEAK void *halide_cuda_get_symbol(void *user_context, const char *name) { name 25 src/runtime/cuda.cpp void *symbol = halide_get_library_symbol(lib_cuda, name); name 47 src/runtime/cuda.cpp return halide_get_library_symbol(lib_cuda, name); name 51 src/runtime/cuda.cpp INLINE T get_cuda_symbol(void *user_context, const char *name) { name 52 src/runtime/cuda.cpp T s = (T)halide_cuda_get_symbol(user_context, name); name 54 src/runtime/cuda.cpp error(user_context) << "CUDA API not found: " << name << "\n"; name 233 src/runtime/cuda.cpp char name[256]; name 234 src/runtime/cuda.cpp name[0] = 0; name 235 src/runtime/cuda.cpp err = cuDeviceGetName(name, 256, dev); name 236 src/runtime/cuda.cpp debug(user_context) << " " << name << "\n"; name 29 src/runtime/cuda_functions.h CUDA_FN(CUresult, cuModuleGetFunction, (CUfunction *hfunc, CUmodule hmod, const char *name)); name 181 src/runtime/errors.cpp const char *name, name 184 src/runtime/errors.cpp << "Failed to upgrade buffer_t to halide_buffer_t for " << name << ": " << reason; name 189 src/runtime/errors.cpp const char *name, name 192 src/runtime/errors.cpp << "Failed to downgrade halide_buffer_t to buffer_t for " << name << ": " << reason; name 95 src/runtime/hexagon_host.cpp __attribute__((always_inline)) void get_symbol(void *user_context, void *host_lib, const char* name, T &sym, bool required = true) { name 96 src/runtime/hexagon_host.cpp debug(user_context) << " halide_get_library_symbol('" << name << "') -> \n"; name 97 src/runtime/hexagon_host.cpp sym = (T) halide_get_library_symbol(host_lib, name); name 100 src/runtime/hexagon_host.cpp error(user_context) << "Required Hexagon runtime symbol '" << name << "' not found.\n"; name 276 src/runtime/hexagon_host.cpp const char *name, name 290 src/runtime/hexagon_host.cpp << "name: " << name << ", " name 295 src/runtime/hexagon_host.cpp debug(user_context) << " halide_hexagon_remote_get_symbol " << name << " -> "; name 297 src/runtime/hexagon_host.cpp int result = remote_get_symbol(module, name, strlen(name) + 1, &sym); name 302 src/runtime/hexagon_host.cpp error(user_context) << "Failed to find function " << name << " in module.\n"; name 37 src/runtime/hexagon_remote/bin/src/halide_hexagon_remote.h __QAIC_HEADER_EXPORT int __QAIC_HEADER(halide_hexagon_remote_get_symbol_v4)(halide_hexagon_remote_handle_t module_ptr, const char* name, int nameLen, halide_hexagon_remote_handle_t* sym_ptr) __QAIC_HEADER_ATTRIBUTE; name 576 src/runtime/hexagon_remote/bin/src/halide_hexagon_remote_stub.c __QAIC_STUB_EXPORT int __QAIC_STUB(halide_hexagon_remote_get_symbol_v4)(halide_hexagon_remote_handle_t module_ptr, const char* name, int nameLen, halide_hexagon_remote_handle_t* sym_ptr) __QAIC_STUB_ATTRIBUTE { name 578 src/runtime/hexagon_remote/bin/src/halide_hexagon_remote_stub.c return _stub_method_1(_halide_hexagon_remote_handle(), _mid, (uint32_t*)&module_ptr, (char**)&name, (uint32_t*)&nameLen, (uint32_t*)sym_ptr); name 133 src/runtime/hexagon_remote/dlib.cpp static unsigned long elf_hash(const char *name) { name 136 src/runtime/hexagon_remote/dlib.cpp for (char c = *name; c; c = *name++) { name 152 src/runtime/hexagon_remote/dlib.cpp uint32_t lookup_chain(const char *name) { name 153 src/runtime/hexagon_remote/dlib.cpp return buckets()[elf_hash(name) % bucket_count()]; name 431 src/runtime/hexagon_remote/dlib.cpp const Sym *find_symbol(const char *name) { name 432 src/runtime/hexagon_remote/dlib.cpp const size_t len = strlen(name); name 434 src/runtime/hexagon_remote/dlib.cpp uint32_t i = hash.lookup_chain(name); name 440 src/runtime/hexagon_remote/dlib.cpp if (strncmp(sym_name, name, len+1) == 0) { name 465 src/runtime/hexagon_remote/dlib.cpp void *mmap_dlsym(void *from, const char *name) { name 469 src/runtime/hexagon_remote/dlib.cpp const Sym *sym = dlib->find_symbol(name); name 12 src/runtime/hexagon_remote/dlib.h void *mmap_dlsym(void *dlib, const char *name); name 83 src/runtime/hexagon_remote/halide_remote.cpp void *halide_get_symbol(const char *name) { name 88 src/runtime/hexagon_remote/halide_remote.cpp void *def = dlsym(RTLD_SELF, name); name 92 src/runtime/hexagon_remote/halide_remote.cpp return dlsym(RTLD_DEFAULT, name); name 95 src/runtime/hexagon_remote/halide_remote.cpp void *halide_load_library(const char *name) { name 96 src/runtime/hexagon_remote/halide_remote.cpp return dlopen(name, RTLD_LAZY); name 99 src/runtime/hexagon_remote/halide_remote.cpp void *halide_get_library_symbol(void *lib, const char *name) { name 100 src/runtime/hexagon_remote/halide_remote.cpp return dlsym(lib, name); name 354 src/runtime/hexagon_remote/halide_remote.cpp int halide_hexagon_remote_get_symbol_v4(handle_t module_ptr, const char* name, int nameLen, handle_t *sym_ptr) { name 356 src/runtime/hexagon_remote/halide_remote.cpp *sym_ptr = reinterpret_cast<handle_t>(dlsym(reinterpret_cast<void*>(module_ptr), name)); name 358 src/runtime/hexagon_remote/halide_remote.cpp *sym_ptr= reinterpret_cast<handle_t>(mmap_dlsym(reinterpret_cast<void*>(module_ptr), name)); name 354 src/runtime/hexagon_remote/sim_host.cpp int halide_hexagon_remote_get_symbol_v4(handle_t module_ptr, const char* name, int nameLen, handle_t* sym) { name 360 src/runtime/hexagon_remote/sim_host.cpp remote_buffer remote_name(name, nameLen); name 144 src/runtime/hexagon_remote/sim_remote.cpp void *halide_get_symbol(const char *name) { name 148 src/runtime/hexagon_remote/sim_remote.cpp const char *name; name 238 src/runtime/hexagon_remote/sim_remote.cpp for (int i = 0; known_syms[i].name; i++) { name 239 src/runtime/hexagon_remote/sim_remote.cpp if (strncmp(name, known_syms[i].name, strlen(known_syms[i].name)+1) == 0) { name 244 src/runtime/hexagon_remote/sim_remote.cpp return dlsym(RTLD_DEFAULT, name); name 247 src/runtime/hexagon_remote/sim_remote.cpp void *halide_load_library(const char *name) { name 248 src/runtime/hexagon_remote/sim_remote.cpp return dlopen(name, RTLD_LAZY); name 251 src/runtime/hexagon_remote/sim_remote.cpp void *halide_get_library_symbol(void *lib, const char *name) { name 252 src/runtime/hexagon_remote/sim_remote.cpp return dlsym(lib, name); name 344 src/runtime/hexagon_remote/sim_remote.cpp handle_t get_symbol(handle_t module_ptr, const char* name, int nameLen, bool use_dlopenbuf) { name 346 src/runtime/hexagon_remote/sim_remote.cpp return reinterpret_cast<handle_t>(dlsym(reinterpret_cast<void *>(module_ptr), name)); name 348 src/runtime/hexagon_remote/sim_remote.cpp return reinterpret_cast<handle_t>(mmap_dlsym(reinterpret_cast<void *>(module_ptr), name)); name 65 src/runtime/linux_opengl_context.cpp WEAK void *halide_opengl_get_proc_address(void *user_context, const char *name) { name 66 src/runtime/linux_opengl_context.cpp return (void*)glXGetProcAddressARB(name); name 142 src/runtime/matlab.cpp INLINE T get_mex_symbol(void *user_context, const char *name, bool required) { name 143 src/runtime/matlab.cpp T s = (T)halide_get_symbol(name); name 145 src/runtime/matlab.cpp error(user_context) << "mex API not found: " << name << "\n"; name 185 src/runtime/matlab.cpp desc << "int " << metadata->name << "("; name 201 src/runtime/matlab.cpp desc << " '" << arg->name << "'"; name 260 src/runtime/matlab.cpp error(user_context) << "Complex argument not supported for parameter " << arg->name << ".\n"; name 272 src/runtime/matlab.cpp << " for argument " << arg->name name 286 src/runtime/matlab.cpp << " for argument " << arg->name name 320 src/runtime/matlab.cpp error(user_context) << "Complex argument not supported for parameter " << arg->name << ".\n"; name 328 src/runtime/matlab.cpp error(user_context) << "Expected scalar argument for parameter " << arg->name << ".\n"; name 333 src/runtime/matlab.cpp error(user_context) << "Expected numeric argument for scalar parameter " << arg->name name 364 src/runtime/matlab.cpp error(user_context) << "Parameter " << arg->name << " is of a type not supported by Matlab.\n"; name 367 src/runtime/matlab.cpp error(user_context) << "Halide metadata for " << arg->name << " contained invalid or unrecognized type description.\n"; name 396 src/runtime/matlab.cpp << " arguments for Halide pipeline " << metadata->name name 405 src/runtime/matlab.cpp error(user_context) << "Expected zero or one return value for Halide pipeline " << metadata->name name 145 src/runtime/metal.cpp WEAK mtl_function *new_function_with_name(mtl_library *library, const char *name, size_t name_len) { name 146 src/runtime/metal.cpp objc_id name_str = wrap_string_as_ns_string(name, name_len); name 147 src/runtime/metal.cpp typedef mtl_function *(*new_function_with_name_method)(objc_id library, objc_sel sel, objc_id name); name 71 src/runtime/mini_opengl.h typedef const GLubyte *(*PFNGLGETSTRINGPROC)(GLenum name); name 136 src/runtime/mini_opengl.h typedef GLint (*PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name); name 141 src/runtime/mini_opengl.h typedef GLint (*PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name); name 186 src/runtime/mini_opengl.h typedef const GLubyte *(*PFNGLGETSTRINGI)(GLenum name, GLuint index); name 102 src/runtime/noos.cpp WEAK void *halide_get_symbol(const char *name) { name 103 src/runtime/noos.cpp return custom_get_symbol(name); name 106 src/runtime/noos.cpp WEAK void *halide_load_library(const char *name) { name 107 src/runtime/noos.cpp return custom_load_library(name); name 110 src/runtime/noos.cpp WEAK void *halide_get_library_symbol(void *lib, const char *name) { name 111 src/runtime/noos.cpp return custom_get_library_symbol(lib, name); name 7 src/runtime/objc_support.h extern objc_id objc_getClass(const char *name); name 36 src/runtime/old_buffer_t.cpp WEAK int halide_upgrade_buffer_t(void *user_context, const char *name, name 44 src/runtime/old_buffer_t.cpp return halide_error_failed_to_upgrade_buffer_t(user_context, name, sstr.str()); name 66 src/runtime/old_buffer_t.cpp WEAK int halide_downgrade_buffer_t(void *user_context, const char *name, name 70 src/runtime/old_buffer_t.cpp return halide_error_failed_to_downgrade_buffer_t(user_context, name, name 80 src/runtime/old_buffer_t.cpp return halide_downgrade_buffer_t_device_fields(user_context, name, new_buf, old_buf); name 83 src/runtime/old_buffer_t.cpp WEAK int halide_downgrade_buffer_t_device_fields(void *user_context, const char *name, name 23 src/runtime/opencl.cpp extern "C" WEAK void *halide_opencl_get_symbol(void *user_context, const char *name) { name 26 src/runtime/opencl.cpp void *symbol = halide_get_library_symbol(lib_opencl, name); name 47 src/runtime/opencl.cpp return halide_get_library_symbol(lib_opencl, name); name 51 src/runtime/opencl.cpp INLINE T get_cl_symbol(void *user_context, const char *name) { name 52 src/runtime/opencl.cpp T s = (T)halide_opencl_get_symbol(user_context, name); name 54 src/runtime/opencl.cpp error(user_context) << "OpenCL API not found: " << name << "\n"; name 108 src/runtime/opencl.cpp const char *name = getenv("HL_OCL_PLATFORM_NAME"); name 109 src/runtime/opencl.cpp halide_opencl_set_platform_name(name); name 127 src/runtime/opencl.cpp const char *name = getenv("HL_OCL_DEVICE_TYPE"); name 128 src/runtime/opencl.cpp halide_opencl_set_device_type(name); name 268 src/runtime/opencl.cpp const char *name = halide_opencl_get_platform_name(user_context); name 269 src/runtime/opencl.cpp if (name != NULL) { name 277 src/runtime/opencl.cpp if (strstr(platform_name, name)) { name 154 src/runtime/opengl.cpp char *name; name 161 src/runtime/opengl.cpp char *name; name 419 src/runtime/opengl.cpp const char *name; name 421 src/runtime/opengl.cpp if ((name = match_prefix(src, "float "))) { name 423 src/runtime/opengl.cpp } else if ((name = match_prefix(src, "bool "))) { name 425 src/runtime/opengl.cpp } else if ((name = match_prefix(src, "int8_t "))) { name 427 src/runtime/opengl.cpp } else if ((name = match_prefix(src, "int16_t "))) { name 429 src/runtime/opengl.cpp } else if ((name = match_prefix(src, "int32_t "))) { name 431 src/runtime/opengl.cpp } else if ((name = match_prefix(src, "uint8_t "))) { name 433 src/runtime/opengl.cpp } else if ((name = match_prefix(src, "uint16_t "))) { name 435 src/runtime/opengl.cpp } else if ((name = match_prefix(src, "uint32_t "))) { name 444 src/runtime/opengl.cpp arg->name = strndup(name, end - name); name 471 src/runtime/opengl.cpp kernel->name = strstrip(strndup(args, next_line - args), next_line - args); name 546 src/runtime/opengl.cpp free(arg->name); name 551 src/runtime/opengl.cpp free(kernel->name); name 575 src/runtime/opengl.cpp #define GLFUNC(type, name) name = NULL; name 581 src/runtime/opengl.cpp WEAK int load_gl_func(void *user_context, const char *name, void **ptr, bool required) { name 582 src/runtime/opengl.cpp void *p = halide_opengl_get_proc_address(user_context, name); name 584 src/runtime/opengl.cpp error(user_context) << "Could not load function pointer for " << name; name 591 src/runtime/opengl.cpp WEAK bool extension_supported(void *user_context, const char *name) { name 599 src/runtime/opengl.cpp while (const char *pos = strstr(start, name)) { name 600 src/runtime/opengl.cpp const char *end = pos + strlen(name); name 1403 src/runtime/opengl.cpp if (kernel && strcmp(stage_name, kernel->name) == 0) { name 1529 src/runtime/opengl.cpp global_state.GetUniformLocation(kernel->program_id, kernel_arg->name); name 1589 src/runtime/opengl.cpp << "OpenGL: argument '" << kernel_arg->name << "' is too large for GLint"; name 1611 src/runtime/opengl.cpp Printer<StringStreamPrinter,16> name(user_context); name 1612 src/runtime/opengl.cpp name << "_uniformi" << (idx/4); name 1614 src/runtime/opengl.cpp GLint loc = global_state.GetUniformLocation(kernel->program_id, name.str()); name 1630 src/runtime/opengl.cpp Printer<StringStreamPrinter,16> name(user_context); name 1631 src/runtime/opengl.cpp name << "_uniformf" << (idx/4); name 1633 src/runtime/opengl.cpp GLint loc = global_state.GetUniformLocation(kernel->program_id, name.str()); name 146 src/runtime/openglcompute.cpp #define GLFUNC(type, name) name = NULL; name 151 src/runtime/openglcompute.cpp WEAK int load_gl_func(void *user_context, const char *name, void **ptr, bool required) { name 152 src/runtime/openglcompute.cpp void *p = halide_opengl_get_proc_address(user_context, name); name 154 src/runtime/openglcompute.cpp error(user_context) << "Could not load function pointer for " << name; name 17 src/runtime/osx_get_symbol.cpp WEAK void *halide_get_symbol_impl(const char *name) { name 18 src/runtime/osx_get_symbol.cpp return dlsym(RTLD_DEFAULT, name); name 21 src/runtime/osx_get_symbol.cpp WEAK void *halide_load_library_impl(const char *name) { name 22 src/runtime/osx_get_symbol.cpp return dlopen(name, RTLD_LAZY | RTLD_LOCAL); name 25 src/runtime/osx_get_symbol.cpp WEAK void *halide_get_library_symbol_impl(void *lib, const char *name) { name 31 src/runtime/osx_get_symbol.cpp return dlsym(lib, name); name 60 src/runtime/osx_get_symbol.cpp WEAK void *halide_get_symbol(const char *name) { name 61 src/runtime/osx_get_symbol.cpp return custom_get_symbol(name); name 64 src/runtime/osx_get_symbol.cpp WEAK void *halide_load_library(const char *name) { name 65 src/runtime/osx_get_symbol.cpp return custom_load_library(name); name 68 src/runtime/osx_get_symbol.cpp WEAK void *halide_get_library_symbol(void *lib, const char *name) { name 69 src/runtime/osx_get_symbol.cpp return custom_get_library_symbol(lib, name); name 31 src/runtime/osx_opengl_context.cpp WEAK void *halide_opengl_get_proc_address(void *user_context, const char *name) { name 38 src/runtime/osx_opengl_context.cpp return halide_get_library_symbol(dylib, name); name 16 src/runtime/posix_get_symbol.cpp WEAK void *halide_get_symbol_impl(const char *name) { name 17 src/runtime/posix_get_symbol.cpp return dlsym(NULL, name); name 20 src/runtime/posix_get_symbol.cpp WEAK void *halide_load_library_impl(const char *name) { name 21 src/runtime/posix_get_symbol.cpp void *lib = dlopen(name, RTLD_LAZY); name 28 src/runtime/posix_get_symbol.cpp WEAK void *halide_get_library_symbol_impl(void *lib, const char *name) { name 29 src/runtime/posix_get_symbol.cpp return dlsym(lib, name); name 58 src/runtime/posix_get_symbol.cpp WEAK void *halide_get_symbol(const char *name) { name 59 src/runtime/posix_get_symbol.cpp return custom_get_symbol(name); name 62 src/runtime/posix_get_symbol.cpp WEAK void *halide_load_library(const char *name) { name 63 src/runtime/posix_get_symbol.cpp return custom_load_library(name); name 66 src/runtime/posix_get_symbol.cpp WEAK void *halide_get_library_symbol(void *lib, const char *name) { name 67 src/runtime/posix_get_symbol.cpp return custom_get_library_symbol(lib, name); name 26 src/runtime/profiler.cpp if (p->name == pipeline_name && name 36 src/runtime/profiler.cpp p->name = pipeline_name; name 55 src/runtime/profiler.cpp p->funcs[i].name = (const char *)(func_names[i]); name 167 src/runtime/profiler.cpp if (p->name == pipeline_name) { name 302 src/runtime/profiler.cpp sstr << p->name << "\n" name 335 src/runtime/profiler.cpp sstr << " " << fs->name << ": "; name 107 src/runtime/runtime_internal.h WEAK void *halide_get_symbol(const char *name); name 109 src/runtime/runtime_internal.h WEAK void *halide_load_library(const char *name); name 111 src/runtime/runtime_internal.h WEAK void *halide_get_library_symbol(void *lib, const char *name); name 21 src/runtime/windows_get_symbol.cpp WEAK void *halide_get_symbol_impl(const char *name) { name 22 src/runtime/windows_get_symbol.cpp return GetProcAddress(NULL, name); name 25 src/runtime/windows_get_symbol.cpp WEAK void *halide_load_library_impl(const char *name) { name 28 src/runtime/windows_get_symbol.cpp void *lib = LoadLibraryA(name); name 33 src/runtime/windows_get_symbol.cpp WEAK void *halide_get_library_symbol_impl(void *lib, const char *name) { name 34 src/runtime/windows_get_symbol.cpp return GetProcAddress(lib, name); name 63 src/runtime/windows_get_symbol.cpp WEAK void *halide_get_symbol(const char *name) { name 64 src/runtime/windows_get_symbol.cpp return custom_get_symbol(name); name 67 src/runtime/windows_get_symbol.cpp WEAK void *halide_load_library(const char *name) { name 68 src/runtime/windows_get_symbol.cpp return custom_load_library(name); name 71 src/runtime/windows_get_symbol.cpp WEAK void *halide_get_library_symbol(void *lib, const char *name) { name 72 src/runtime/windows_get_symbol.cpp return custom_get_library_symbol(lib, name); name 27 test/common/check_call_graphs.h producer = op->name; name 42 test/common/check_call_graphs.h if(std::find(callees.begin(), callees.end(), op->name) == callees.end()) { name 43 test/common/check_call_graphs.h callees.push_back(op->name); name 24 test/common/halide_test_dirs.h inline std::string get_env_variable(const char *name) { name 28 test/common/halide_test_dirs.h if (getenv_s(&read, buf, name) != 0) read = 0; name 33 test/common/halide_test_dirs.h char *buf = getenv(name); name 13 test/correctness/bounds_inference_outer_split.cpp if (op->name == "input_cpy") { name 17 test/correctness/gpu_thread_barrier.cpp if (op->name == "halide_gpu_thread_barrier") { name 18 test/correctness/host_alignment.cpp if (op->name == "halide_error_unaligned_host_ptr" && name 60 test/correctness/host_alignment.cpp Expr name = reinterpret_call->args[0]; name 61 test/correctness/host_alignment.cpp const Variable *V = name.as<Variable>(); name 62 test/correctness/host_alignment.cpp string name_host_ptr = V->name; name 75 test/correctness/host_alignment.cpp m.insert(std::pair<string, int>(i.name(), align)); name 82 test/correctness/host_alignment.cpp Stmt s = Internal::lower_main_stmt({f.function()}, f.name(), t); name 26 test/correctness/image_wrap.cpp if (wrapper.name() != temp.name()) { name 27 test/correctness/image_wrap.cpp std::cerr << "Expect " << wrapper.name() << "; got " << temp.name() << " instead\n"; name 41 test/correctness/image_wrap.cpp if (wrapper1.name() != wrapper2.name()) { name 42 test/correctness/image_wrap.cpp std::cerr << "Expect " << wrapper1.name() << "; got " << wrapper2.name() << " instead\n"; name 57 test/correctness/image_wrap.cpp if (wrapper1.name() != wrapper2.name()) { name 58 test/correctness/image_wrap.cpp std::cerr << "Expect " << wrapper1.name() << "; got " << wrapper2.name() << " instead\n"; name 88 test/correctness/image_wrap.cpp {g.name(), {wrapper.name()}}, name 89 test/correctness/image_wrap.cpp {wrapper.name(), {img_f.name()}}, name 90 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 129 test/correctness/image_wrap.cpp {g1.name(), {im_wrapper.name()}}, name 130 test/correctness/image_wrap.cpp {im_wrapper.name(), {img_f.name()}}, name 131 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 152 test/correctness/image_wrap.cpp {g2.name(), {im_wrapper.name()}}, name 153 test/correctness/image_wrap.cpp {im_wrapper.name(), {img_f.name()}}, name 154 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 175 test/correctness/image_wrap.cpp {g3.name(), {im_wrapper.name()}}, name 176 test/correctness/image_wrap.cpp {im_wrapper.name(), {img_f.name()}}, name 177 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 220 test/correctness/image_wrap.cpp {h.name(), {g.name(), wrapper.name()}}, name 221 test/correctness/image_wrap.cpp {g.name(), {wrapper.name()}}, name 222 test/correctness/image_wrap.cpp {wrapper.name(), {img_f.name()}}, name 223 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 277 test/correctness/image_wrap.cpp {g.name(), {wrapper.name(), g.name()}}, name 278 test/correctness/image_wrap.cpp {wrapper.name(), {img_f.name()}}, name 279 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 305 test/correctness/image_wrap.cpp {g.name(), {wrapper.name(), g.name()}}, name 306 test/correctness/image_wrap.cpp {wrapper.name(), {img_f.name()}}, name 307 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 353 test/correctness/image_wrap.cpp {g.name(), {img_f.name(), g.name()}}, name 354 test/correctness/image_wrap.cpp {wrapper.name(), {g.name()}}, name 355 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 395 test/correctness/image_wrap.cpp {result.name(), {g.name(), img_wrapper.name()}}, name 396 test/correctness/image_wrap.cpp {g.name(), {img_in_g.name()}}, name 397 test/correctness/image_wrap.cpp {img_wrapper.name(), {img_f.name()}}, name 398 test/correctness/image_wrap.cpp {img_in_g.name(), {img_f.name()}}, name 399 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 445 test/correctness/image_wrap.cpp {h.name(), {g_in_h.name()}}, name 446 test/correctness/image_wrap.cpp {g_in_h.name(), {g.name()}}, name 447 test/correctness/image_wrap.cpp {g.name(), {f.name()}}, name 448 test/correctness/image_wrap.cpp {f.name(), {img_in_f.name()}}, name 449 test/correctness/image_wrap.cpp {img_in_f.name(), {img_f.name()}}, name 450 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 490 test/correctness/image_wrap.cpp {h.name(), {img_in_h.name(), g_in_h.name(), img_in_img_in_g.name()}}, name 491 test/correctness/image_wrap.cpp {img_in_h.name(), {img_f.name()}}, name 492 test/correctness/image_wrap.cpp {g_in_h.name(), {g.name()}}, name 493 test/correctness/image_wrap.cpp {g.name(), {img_in_g.name()}}, name 494 test/correctness/image_wrap.cpp {img_in_g.name(), {img_in_img_in_g.name()}}, name 495 test/correctness/image_wrap.cpp {img_in_img_in_g.name(), {img_f.name()}}, name 496 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 541 test/correctness/image_wrap.cpp {g.name(), {g.name(), img_in_g.name(), h_wrapper.name()}}, name 542 test/correctness/image_wrap.cpp {img_in_g.name(), {img_f.name()}}, name 543 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 544 test/correctness/image_wrap.cpp {h_wrapper.name(), {h.name()}}, name 545 test/correctness/image_wrap.cpp {h.name(), {}}, name 587 test/correctness/image_wrap.cpp {output.name(), {img_in_output_in_output.name()}}, name 588 test/correctness/image_wrap.cpp {img_in_output_in_output.name(), {img_in_output.name()}}, name 589 test/correctness/image_wrap.cpp {img_in_output.name(), {img_f.name()}}, name 590 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 636 test/correctness/image_wrap.cpp {g.name(), {img_in_g_in_g.name()}}, name 637 test/correctness/image_wrap.cpp {img_in_g_in_g.name(), {img_in_g.name()}}, name 638 test/correctness/image_wrap.cpp {img_in_g.name(), {img_f.name()}}, name 639 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 659 test/correctness/image_wrap.cpp {h.name(), {img_in_g_in_g_in_h_in_h.name()}}, name 660 test/correctness/image_wrap.cpp {img_in_g_in_g_in_h_in_h.name(), {img_in_g_in_g_in_h.name()}}, name 661 test/correctness/image_wrap.cpp {img_in_g_in_g_in_h.name(), {img_in_g_in_g.name()}}, name 662 test/correctness/image_wrap.cpp {img_in_g_in_g.name(), {img_in_g.name()}}, name 663 test/correctness/image_wrap.cpp {img_in_g.name(), {img_f.name()}}, name 664 test/correctness/image_wrap.cpp {img_f.name(), {img.name()}}, name 46 test/correctness/infer_arguments.cpp EXPECT("input1", input1_arg.name); name 47 test/correctness/infer_arguments.cpp EXPECT("input2", input2_arg.name); name 48 test/correctness/infer_arguments.cpp EXPECT("frac", frac_arg.name); name 49 test/correctness/infer_arguments.cpp EXPECT("height", height_arg.name); name 50 test/correctness/infer_arguments.cpp EXPECT("thresh", thresh_arg.name); name 51 test/correctness/infer_arguments.cpp EXPECT("width", width_arg.name); name 52 test/correctness/infer_arguments.cpp EXPECT("z_unsigned", z_unsigned_arg.name); name 127 test/correctness/infer_arguments.cpp EXPECT("input1", input1_arg.name); name 128 test/correctness/infer_arguments.cpp EXPECT("frac", frac_arg.name); name 129 test/correctness/infer_arguments.cpp EXPECT("thresh", thresh_arg.name); name 30 test/correctness/interleave.cpp Stmt s = Internal::lower_main_stmt({f.function()}, f.name(), t); name 40 test/correctness/interleave.cpp f.name().c_str(), correct, c); name 11 test/correctness/introspection.cpp std::string name = Halide::Internal::Introspection::get_variable_name(var, type); name 13 test/correctness/introspection.cpp if (name != correct_name) { name 15 test/correctness/introspection.cpp name.c_str(), correct_name.c_str()); name 73 test/correctness/lerp.cpp const char *name) name 116 test/correctness/lerp.cpp ") " << actual_weight << ". " << name << std::endl; name 16 test/correctness/likely.cpp if (op->name == func) { name 23 test/correctness/likely.cpp if (op->name == "sin_f32") { name 73 test/correctness/likely.cpp g.add_custom_lowering_pass(new CheckStoreCount(g.name(), correct)); name 32 test/correctness/load_library.cpp void *my_get_symbol_impl(const char *name) { name 33 test/correctness/load_library.cpp fprintf(stderr, "Saw unexpected call: get_symbol(%s)\n", name); name 37 test/correctness/load_library.cpp void *my_load_library_impl(const char *name) { name 39 test/correctness/load_library.cpp if (!strstr(name, "OpenCL") && !strstr(name, "opencl")) { name 40 test/correctness/load_library.cpp fprintf(stderr, "Saw unexpected call: load_library(%s)\n", name); name 43 test/correctness/load_library.cpp printf("Saw load_library: %s\n", name); name 47 test/correctness/load_library.cpp void *my_get_library_symbol_impl(void *lib, const char *name) { name 49 test/correctness/load_library.cpp if (lib != nullptr || strcmp(name, "clGetPlatformIDs") != 0) { name 50 test/correctness/load_library.cpp fprintf(stderr, "Saw unexpected call: get_library_symbol(%p, %s)\n", lib, name); name 53 test/correctness/load_library.cpp printf("Saw get_library_symbol: %s\n", name); name 56 test/correctness/math.cpp #define fun_1(type_ret, type, name, c_name) \ name 57 test/correctness/math.cpp void test_##type##_##name(Buffer<type> in) { \ name 62 test/correctness/math.cpp Func test_##name("test_" #name); \ name 64 test/correctness/math.cpp test_##name(x) = name(in(x)); \ name 66 test/correctness/math.cpp test_##name.gpu_tile(x, xi, 8); \ name 68 test/correctness/math.cpp test_##name.hexagon(); \ name 70 test/correctness/math.cpp Buffer<type_ret> result = test_##name.realize(in.extent(0), target); \ name 74 test/correctness/math.cpp printf("For " #name "(%.20f) == %.20f from cpu and %.20f from GPU.\n", (double)in(i), (double)c_result, (double)result(i)); \ name 76 test/correctness/math.cpp "Failure on function " #name); \ name 81 test/correctness/math.cpp #define fun_2(type_ret, type, name, c_name) \ name 82 test/correctness/math.cpp void test_##type##_##name(Buffer<type> in) { \ name 87 test/correctness/math.cpp Func test_##name("test_" #name); \ name 89 test/correctness/math.cpp test_##name(x) = name(in(0, x), in(1, x)); \ name 91 test/correctness/math.cpp test_##name.gpu_tile(x, xi, 8); \ name 93 test/correctness/math.cpp test_##name.hexagon(); \ name 95 test/correctness/math.cpp Buffer<type_ret> result = test_##name.realize(in.height(), target); \ name 99 test/correctness/math.cpp "Failure on function " #name); \ name 103 test/correctness/math.cpp #define fun_1_float_types(name) \ name 104 test/correctness/math.cpp fun_1(float, float, name, name) \ name 105 test/correctness/math.cpp fun_1(double, double, name, name) name 107 test/correctness/math.cpp #define fun_2_float_types(name) \ name 108 test/correctness/math.cpp fun_2(float, float, name, name) \ name 109 test/correctness/math.cpp fun_2(double, double, name, name) name 111 test/correctness/math.cpp #define fun_1_all_types(name) \ name 112 test/correctness/math.cpp fun_1_float_types(name) \ name 113 test/correctness/math.cpp fun_1(int8_t, int8_t, name, name) \ name 114 test/correctness/math.cpp fun_1(int16_t, int16_t, name, name) \ name 115 test/correctness/math.cpp fun_1(int32_t, int32_t, name, name) \ name 116 test/correctness/math.cpp fun_1(uint8_t, uint8_t, name, name) \ name 117 test/correctness/math.cpp fun_1(uint16_t, uint16_t, name, name) \ name 118 test/correctness/math.cpp fun_1(uint32_t, uint32_t, name, name) name 188 test/correctness/math.cpp #define call_1(type, name, steps, start, end) \ name 190 test/correctness/math.cpp printf("Testing " #name "(" #type ")\n"); \ name 192 test/correctness/math.cpp test_##type##_##name(args.data); \ name 195 test/correctness/math.cpp #define call_2(type, name, steps, start1, end1, start2, end2) \ name 197 test/correctness/math.cpp printf("Testing " #name "(" #type ")\n"); \ name 199 test/correctness/math.cpp test_##type##_##name(args.data); \ name 202 test/correctness/math.cpp #define call_1_float_types(name, steps, start, end) \ name 203 test/correctness/math.cpp call_1(float, name, steps, start, end) \ name 204 test/correctness/math.cpp call_1(double, name, steps, start, end) name 206 test/correctness/math.cpp #define call_2_float_types(name, steps, start1, end1, start2, end2) \ name 207 test/correctness/math.cpp call_2(float, name, steps, start1, end1, start2, end2) \ name 208 test/correctness/math.cpp call_2(double, name, steps, start1, end1, start2, end2) name 128 test/correctness/multi_pass_reduction.cpp f.update(1).reorder(Var(r.x.name()), y).parallel(y); name 38 test/correctness/rfactor.cpp {g.name(), {intm.name(), g.name()}}, name 39 test/correctness/rfactor.cpp {intm.name(), {f.name(), intm.name()}}, name 40 test/correctness/rfactor.cpp {f.name(), {}}, name 86 test/correctness/rfactor.cpp {g.name(), {intm2.name(), g.name()}}, name 87 test/correctness/rfactor.cpp {intm2.name(), {intm1.name(), intm2.name()}}, name 88 test/correctness/rfactor.cpp {intm1.name(), {f.name(), intm1.name()}}, name 89 test/correctness/rfactor.cpp {f.name(), {}}, name 138 test/correctness/rfactor.cpp {g.name(), {intm2.name(), g.name()}}, name 139 test/correctness/rfactor.cpp {intm2.name(), {intm1.name(), intm2.name()}}, name 140 test/correctness/rfactor.cpp {intm1.name(), {f.name(), intm1.name()}}, name 141 test/correctness/rfactor.cpp {f.name(), {}}, name 190 test/correctness/rfactor.cpp {g.name(), {intm.name(), g.name()}}, name 191 test/correctness/rfactor.cpp {wrapper.name(), {f.name()}}, name 192 test/correctness/rfactor.cpp {intm.name(), {wrapper.name(), intm.name()}}, name 193 test/correctness/rfactor.cpp {f.name(), {}}, name 262 test/correctness/rfactor.cpp {g.name(), {f.name()}}, name 263 test/correctness/rfactor.cpp {f.name(), {f.name(), intm.name()}}, name 264 test/correctness/rfactor.cpp {intm.name(), {a.name(), b.name(), c.name(), intm.name()}}, name 265 test/correctness/rfactor.cpp {a.name(), {}}, name 266 test/correctness/rfactor.cpp {b.name(), {}}, name 267 test/correctness/rfactor.cpp {c.name(), {}}, name 311 test/correctness/rfactor.cpp {g.name(), {f.name(), intm.name(), g.name()}}, name 312 test/correctness/rfactor.cpp {intm.name(), {f.name(), intm.name()}}, name 313 test/correctness/rfactor.cpp {f.name(), {}}, name 370 test/correctness/rfactor.cpp {g.name(), {intm.name(), g.name()}}, name 371 test/correctness/rfactor.cpp {intm.name(), {f.name(), intm.name()}}, name 372 test/correctness/rfactor.cpp {f.name(), {}}, name 430 test/correctness/rfactor.cpp {g.name(), {hist.name()}}, name 431 test/correctness/rfactor.cpp {hist.name(), {intm.name(), hist.name()}}, name 432 test/correctness/rfactor.cpp {intm.name(), {in.name(), intm.name()}}, name 497 test/correctness/rfactor.cpp {dot.name(), {intm1.name(), dot.name()}}, name 498 test/correctness/rfactor.cpp {intm1.name(), {intm2.name(), intm1.name()}}, name 499 test/correctness/rfactor.cpp {intm2.name(), {a.name(), b.name(), intm2.name()}}, name 500 test/correctness/rfactor.cpp {a.name(), {}}, name 501 test/correctness/rfactor.cpp {b.name(), {}}, name 557 test/correctness/rfactor.cpp {g.name(), {intm1.name() + ".0", intm1.name() + ".1", name 558 test/correctness/rfactor.cpp g.name() + ".0", g.name() + ".1"}}, name 559 test/correctness/rfactor.cpp {intm1.name(), {intm2.name() + ".0", intm2.name() + ".1", name 560 test/correctness/rfactor.cpp intm1.name() + ".0", intm1.name() + ".1"}}, name 561 test/correctness/rfactor.cpp {intm2.name(), {f.name() + ".0", f.name() + ".1", name 562 test/correctness/rfactor.cpp intm2.name() + ".0", intm2.name() + ".1"}}, name 563 test/correctness/rfactor.cpp {f.name(), {}}, name 636 test/correctness/rfactor.cpp {g.name(), {intm1.name() + ".0", intm1.name() + ".1", name 637 test/correctness/rfactor.cpp intm4.name() + ".0", intm4.name() + ".1", name 638 test/correctness/rfactor.cpp g.name() + ".0", g.name() + ".1"}}, name 639 test/correctness/rfactor.cpp {intm1.name(), {intm2.name() + ".0", intm2.name() + ".1", name 640 test/correctness/rfactor.cpp intm3.name() + ".0", intm3.name() + ".1", name 641 test/correctness/rfactor.cpp intm1.name() + ".0", intm1.name() + ".1"}}, name 642 test/correctness/rfactor.cpp {intm2.name(), {f.name() + ".0", f.name() + ".1", name 643 test/correctness/rfactor.cpp intm2.name() + ".0", intm2.name() + ".1"}}, name 644 test/correctness/rfactor.cpp {intm3.name(), {f.name() + ".0", f.name() + ".1", name 645 test/correctness/rfactor.cpp intm3.name() + ".0", intm3.name() + ".1"}}, name 646 test/correctness/rfactor.cpp {intm4.name(), {f.name() + ".0", f.name() + ".1", name 647 test/correctness/rfactor.cpp intm4.name() + ".0", intm4.name() + ".1"}}, name 648 test/correctness/rfactor.cpp {f.name(), {}}, name 22 test/correctness/schedule_param.cpp if (op->name == "f.s0.x.x") { name 25 test/correctness/schedule_param.cpp } else if (op->name == "f.s0.y") { name 28 test/correctness/schedule_param.cpp } else if (op->name == "g.s0.x") { name 31 test/correctness/schedule_param.cpp } else if (op->name == "g.s0.y") { name 39 test/correctness/schedule_param.cpp inside_for_loop = op->name; name 46 test/correctness/schedule_param.cpp if (op->name == "f") { name 48 test/correctness/schedule_param.cpp } else if (op->name == "g") { name 17 test/correctness/set_custom_trace.cpp if (op->name == "f") { name 24 test/correctness/set_custom_trace.cpp producer = op->name; name 28 test/correctness/set_custom_trace.cpp if (op->name == "f") { name 35 test/correctness/set_custom_trace.cpp consumer = op->name; name 38 test/correctness/simd_op_check.cpp string name; name 189 test/correctness/simd_op_check.cpp TestResult check_one(const string &op, const string &name, int vector_width, Expr e) const { name 193 test/correctness/simd_op_check.cpp Func f(name); name 199 test/correctness/simd_op_check.cpp Func f_scalar("scalar_" + name); name 206 test/correctness/simd_op_check.cpp Func error("error_" + name); name 211 test/correctness/simd_op_check.cpp string asm_filename = output_directory + "check_" + name + ".s"; name 238 test/correctness/simd_op_check.cpp string fn_name = "test_" + name; name 250 test/correctness/simd_op_check.cpp error_msg << "The vector and scalar versions of " << name << " disagree. Maximum error: " << e << "\n"; name 259 test/correctness/simd_op_check.cpp string name = "op_" + op; name 260 test/correctness/simd_op_check.cpp for (size_t i = 0; i < name.size(); i++) { name 261 test/correctness/simd_op_check.cpp if (!isalnum(name[i])) name[i] = '_'; name 264 test/correctness/simd_op_check.cpp name += "_" + std::to_string(tasks.size()); name 271 test/correctness/simd_op_check.cpp tasks.emplace_back(Task {op, name, vector_width, e}); name 2056 test/correctness/simd_op_check.cpp return check_one(task.op, task.name, task.vector_width, task.expr); name 542 test/correctness/specialize.cpp env.insert({f.function().name(), f.function()}); name 588 test/correctness/specialize.cpp env.insert({f.function().name(), f.function()}); name 20 test/correctness/unique_func_image.cpp assert(ext1.name() != ext2.name() && "Programmer-specified function names have not been made unique!"); name 10 test/correctness/vector_cast.cpp #define DECL_SOT(name) \ name 12 test/correctness/vector_cast.cpp const char *string_of_type<name>() {return #name;} name 25 test/correctness/vector_math.cpp #define DECL_SOT(name) \ name 27 test/correctness/vector_math.cpp const char *string_of_type<name>() {return #name;} name 26 test/correctness/wrap.cpp if (wrapper.name() != temp.name()) { name 27 test/correctness/wrap.cpp std::cerr << "Expect " << wrapper.name() << "; got " << temp.name() << " instead\n"; name 41 test/correctness/wrap.cpp if (wrapper1.name() != wrapper2.name()) { name 42 test/correctness/wrap.cpp std::cerr << "Expect " << wrapper1.name() << "; got " << wrapper2.name() << " instead\n"; name 57 test/correctness/wrap.cpp if (wrapper1.name() != wrapper2.name()) { name 58 test/correctness/wrap.cpp std::cerr << "Expect " << wrapper1.name() << "; got " << wrapper2.name() << " instead\n"; name 83 test/correctness/wrap.cpp {g.name(), {wrapper.name()}}, name 84 test/correctness/wrap.cpp {wrapper.name(), {f.name()}}, name 85 test/correctness/wrap.cpp {f.name(), {}}, name 119 test/correctness/wrap.cpp {g1.name(), {f_wrapper.name()}}, name 120 test/correctness/wrap.cpp {f_wrapper.name(), {f.name()}}, name 121 test/correctness/wrap.cpp {f.name(), {}}, name 142 test/correctness/wrap.cpp {g2.name(), {f_wrapper.name()}}, name 143 test/correctness/wrap.cpp {f_wrapper.name(), {f.name()}}, name 144 test/correctness/wrap.cpp {f.name(), {}}, name 165 test/correctness/wrap.cpp {g3.name(), {f_wrapper.name()}}, name 166 test/correctness/wrap.cpp {f_wrapper.name(), {f.name()}}, name 167 test/correctness/wrap.cpp {f.name(), {}}, name 205 test/correctness/wrap.cpp {h.name(), {g.name(), wrapper.name()}}, name 206 test/correctness/wrap.cpp {g.name(), {wrapper.name()}}, name 207 test/correctness/wrap.cpp {wrapper.name(), {f.name()}}, name 208 test/correctness/wrap.cpp {f.name(), {}}, name 257 test/correctness/wrap.cpp {g.name(), {wrapper.name(), g.name()}}, name 258 test/correctness/wrap.cpp {wrapper.name(), {f.name()}}, name 259 test/correctness/wrap.cpp {f.name(), {}}, name 285 test/correctness/wrap.cpp {g.name(), {wrapper.name(), g.name()}}, name 286 test/correctness/wrap.cpp {wrapper.name(), {f.name()}}, name 287 test/correctness/wrap.cpp {f.name(), {}}, name 328 test/correctness/wrap.cpp {g.name(), {f.name(), g.name()}}, name 329 test/correctness/wrap.cpp {wrapper.name(), {g.name()}}, name 330 test/correctness/wrap.cpp {f.name(), {}}, name 365 test/correctness/wrap.cpp {result.name(), {g.name(), f_wrapper.name()}}, name 366 test/correctness/wrap.cpp {g.name(), {f_in_g.name()}}, name 367 test/correctness/wrap.cpp {f_wrapper.name(), {f.name()}}, name 368 test/correctness/wrap.cpp {f_in_g.name(), {f.name()}}, name 369 test/correctness/wrap.cpp {f.name(), {}}, name 410 test/correctness/wrap.cpp {h.name(), {g_in_h.name()}}, name 411 test/correctness/wrap.cpp {g_in_h.name(), {g.name()}}, name 412 test/correctness/wrap.cpp {g.name(), {f.name()}}, name 413 test/correctness/wrap.cpp {f.name(), {e_in_f.name()}}, name 414 test/correctness/wrap.cpp {e_in_f.name(), {e.name()}}, name 415 test/correctness/wrap.cpp {e.name(), {}}, name 452 test/correctness/wrap.cpp {h.name(), {f_in_h.name(), g_in_h.name(), f_in_f_in_g.name()}}, name 453 test/correctness/wrap.cpp {f_in_h.name(), {f.name()}}, name 454 test/correctness/wrap.cpp {g_in_h.name(), {g.name()}}, name 455 test/correctness/wrap.cpp {g.name(), {e.name(), f_in_g.name()}}, name 456 test/correctness/wrap.cpp {f_in_g.name(), {f_in_f_in_g.name()}}, name 457 test/correctness/wrap.cpp {f_in_f_in_g.name(), {f.name()}}, name 458 test/correctness/wrap.cpp {f.name(), {e.name()}}, name 459 test/correctness/wrap.cpp {e.name(), {}}, name 498 test/correctness/wrap.cpp {g.name(), {g.name(), f_in_g.name(), h_wrapper.name()}}, name 499 test/correctness/wrap.cpp {f_in_g.name(), {f.name()}}, name 500 test/correctness/wrap.cpp {f.name(), {}}, name 501 test/correctness/wrap.cpp {h_wrapper.name(), {h.name()}}, name 502 test/correctness/wrap.cpp {h.name(), {}}, name 539 test/correctness/wrap.cpp {output.name(), {input_in_output_in_output.name()}}, name 540 test/correctness/wrap.cpp {input_in_output_in_output.name(), {input_in_output.name()}}, name 541 test/correctness/wrap.cpp {input_in_output.name(), {input.name()}}, name 542 test/correctness/wrap.cpp {input.name(), {}}, name 583 test/correctness/wrap.cpp {g.name(), {f_in_g_in_g.name()}}, name 584 test/correctness/wrap.cpp {f_in_g_in_g.name(), {f_in_g.name()}}, name 585 test/correctness/wrap.cpp {f_in_g.name(), {f.name()}}, name 586 test/correctness/wrap.cpp {f.name(), {}}, name 606 test/correctness/wrap.cpp {h.name(), {f_in_g_in_g_in_h_in_h.name()}}, name 607 test/correctness/wrap.cpp {f_in_g_in_g_in_h_in_h.name(), {f_in_g_in_g_in_h.name()}}, name 608 test/correctness/wrap.cpp {f_in_g_in_g_in_h.name(), {f_in_g_in_g.name()}}, name 609 test/correctness/wrap.cpp {f_in_g_in_g.name(), {f_in_g.name()}}, name 610 test/correctness/wrap.cpp {f_in_g.name(), {f.name()}}, name 611 test/correctness/wrap.cpp {f.name(), {}}, name 48 test/generator/cxx_mangling_aottest.cpp printf("Name is: %s\n", m->name); name 49 test/generator/cxx_mangling_aottest.cpp assert(strcmp(m->name, "cxx_mangling") == 0); name 48 test/generator/memory_profiler_mandelbrot_aottest.cpp if (strncmp(fs->name, "argmin", 6) == 0) { name 50 test/generator/memory_profiler_mandelbrot_aottest.cpp } else if (strncmp(fs->name, "mandelbrot", 10) == 0) { name 104 test/generator/metadata_tester_aottest.cpp EXPECT_STREQ(e.name, a.name); name 745 test/generator/metadata_tester_aottest.cpp fprintf(stdout, "checking arg %d %s\n", i, md.arguments[i].name); name 862 test/generator/metadata_tester_aottest.cpp if (!strcmp(metadata_tester_metadata()->name, "metadata_tester_metadata")) { name 868 test/generator/metadata_tester_aottest.cpp if (!strcmp(metadata_tester_ucon_metadata()->name, "metadata_tester_ucon_metadata")) { name 50 test/opengl/save_state.cpp extern "C" const GLubyte *glGetString(GLenum name); name 34 test/opengl/varying.cpp if (varyings.find(op->name) == varyings.end()) { name 35 test/opengl/varying.cpp fprintf(stderr, "Found varying attribute: %s\n", op->name.c_str()); name 36 test/opengl/varying.cpp varyings.insert(op->name); name 48 test/opengl/varying.cpp if (ends_with(op->name, ".varying")) { name 15 test/performance/boundary_conditions.cpp const char *name; name 21 test/performance/boundary_conditions.cpp Func g(name); name 39 test/performance/boundary_conditions.cpp printf("%-20s: %f us\n", name, time * 1e6); name 46 test/performance/boundary_conditions.cpp Func g(name); name 65 test/performance/boundary_conditions.cpp printf("%-20s: %f us\n", name, time * 1e6); name 99 test/performance/boundary_conditions.cpp for (int i = 0; tests[i].name; i++) { name 104 test/performance/boundary_conditions.cpp tests[i].name, tests[i].time / tests[0].time); name 109 test/performance/boundary_conditions.cpp for (int i = 0; tests[i].name; i++) { name 114 test/performance/boundary_conditions.cpp tests[i].name, tests[i].time / tests[0].time); name 16 test/performance/clamped_vector_load.cpp f.compile_to_assembly(f.name() + ".s", {input}, f.name()); name 108 test/performance/const_division.cpp const char *name = (i == 0 ? "divisor" : "modulus"); name 109 test/performance/const_division.cpp printf("type const-%s speed-up runtime-%s speed-up\n", name, name); name 11 test/performance/vectorize.cpp #define DECL_SOT(name) \ name 13 test/performance/vectorize.cpp const char *string_of_type<name>() {return #name;} name 11 test/performance/vectorize_pred.cpp #define DECL_SOT(name) \ name 13 test/performance/vectorize_pred.cpp const char *string_of_type<name>() {return #name;} name 28 tutorial/lesson_16_rgb_run.cpp double tick(const char *name) { name 32 tutorial/lesson_16_rgb_run.cpp if (name) { name 33 tutorial/lesson_16_rgb_run.cpp printf("%s: %f\n", name, dt); name 164 util/HalideTraceViz.cpp void dump(const char *name) { name 177 util/HalideTraceViz.cpp name, name 626 util/HalideTraceViz.cpp string name; name 729 util/HalideTraceViz.cpp string qualified_name = pipeline.name + ":" + p.func(); name 737 util/HalideTraceViz.cpp fprintf(stderr, "Parent event %d %s\n", p.parent_id, pipeline.name.c_str());