type               89 apps/HelloAndroid/jni/hello_wrapper.cpp         srcBuf.type = halide_type_of<uint8_t>();
type              106 apps/HelloAndroid/jni/hello_wrapper.cpp         dstBuf.type = halide_type_of<uint8_t>();
type               78 apps/HelloAndroidGL/src/org/halide_lang/hellohalidegl/HelloHalideGL.java         private int compileShader(int type, String source) {
type               79 apps/HelloAndroidGL/src/org/halide_lang/hellohalidegl/HelloHalideGL.java             int shader = gl.glCreateShader(type);
type               42 apps/camera_pipe/camera_pipe_generator.cpp     Type wider = a.type().with_bits(a.type().bits() * 2);
type               43 apps/camera_pipe/camera_pipe_generator.cpp     return cast(a.type(), (cast(wider, a) + b + 1)/2);
type              111 apps/fft/complex.h inline ComplexExpr cast(Halide::Type type, ComplexExpr z) {
type              112 apps/fft/complex.h     return ComplexExpr(Halide::cast(type, re(z)), Halide::cast(type, im(z)));
type              110 apps/fft/fft.cpp     Type type = f.output_types()[0];
type              113 apps/fft/fft.cpp     F(f.args()) = undef_z(type);
type              125 apps/fft/fft.cpp     Type type = f.output_types()[0];
type              128 apps/fft/fft.cpp     F(f.args()) = undef_z(type);
type              159 apps/fft/fft.cpp     Type type = f.output_types()[0];
type              162 apps/fft/fft.cpp     F(f.args()) = undef_z(type);
type              190 apps/fft/fft.cpp     Type type = f.output_types()[0];
type              193 apps/fft/fft.cpp     F(f.args()) = undef_z(type);
type              200 apps/linear_algebra/benchmarks/cblas_benchmarks.cpp     char type = subroutine[0];
type              204 apps/linear_algebra/benchmarks/cblas_benchmarks.cpp     if (type == 's') {
type              206 apps/linear_algebra/benchmarks/cblas_benchmarks.cpp     } else if (type == 'd') {
type              111 apps/linear_algebra/benchmarks/eigen_benchmarks.cpp     char type = subroutine[0];
type              115 apps/linear_algebra/benchmarks/eigen_benchmarks.cpp     if (type == 's') {
type              117 apps/linear_algebra/benchmarks/eigen_benchmarks.cpp     } else if (type == 'd') {
type              178 apps/linear_algebra/benchmarks/halide_benchmarks.cpp     char type = subroutine[0];
type              182 apps/linear_algebra/benchmarks/halide_benchmarks.cpp     if (type == 's') {
type              184 apps/linear_algebra/benchmarks/halide_benchmarks.cpp     } else if (type == 'd') {
type               15 apps/linear_algebra/benchmarks/macros.h #define L1Benchmark(benchmark, type, code)                              \
type               25 apps/linear_algebra/benchmarks/macros.h                   << std::setw(15) << type << #benchmark                \
type               33 apps/linear_algebra/benchmarks/macros.h #define L2Benchmark(benchmark, type, code)                              \
type               46 apps/linear_algebra/benchmarks/macros.h         << std::setw(15) << type << #benchmark                          \
type               54 apps/linear_algebra/benchmarks/macros.h #define L3Benchmark(benchmark, type, code)                              \
type               65 apps/linear_algebra/benchmarks/macros.h                   << std::setw(15) << type << #benchmark                \
type               36 apps/linear_algebra/src/blas_l3_generators.cpp         const int vec = natural_vector_size(a_.type());
type               56 apps/simd_op_check/driver.cpp     buf.type = halide_type_of<T>();
type                7 apps/templates/tests/example_generator.cpp     GeneratorParam<Halide::Type> type{ "type", UInt(8) };
type               13 apps/templates/tests/example_generator.cpp         input = ImageParam(type, input.dimensions(), input.name());
type              182 python_bindings/numpy/ndarray.hpp                        typename boost::enable_if<boost::is_integral<typename Container::value_type>>::type *enabled = NULL) {
type               63 python_bindings/python/Argument.cpp         .def_readonly("type", &Argument::type,
type               43 python_bindings/python/Expr.cpp     const h::Type &t = expr.type();
type               87 python_bindings/python/Expr.cpp                           .def("type", &Expr::type, p::arg("self"),
type              192 python_bindings/python/IROperator.cpp h::Expr undef0(h::Type type) {
type              193 python_bindings/python/IROperator.cpp     return h::undef(type);
type              243 python_bindings/python/Image.cpp void defineBuffer_impl(const std::string suffix, const h::Type type) {
type              416 python_bindings/python/Image.cpp     if (im.type() == h::UInt(8)) {
type              417 python_bindings/python/Image.cpp         p::manage_new_object::apply<h::Buffer<uint8_t> *>::type converter;
type              419 python_bindings/python/Image.cpp     } else if (im.type() == h::UInt(16)) {
type              420 python_bindings/python/Image.cpp         p::manage_new_object::apply<h::Buffer<uint16_t> *>::type converter;
type              422 python_bindings/python/Image.cpp     } else if (im.type() == h::UInt(32)) {
type              423 python_bindings/python/Image.cpp         p::manage_new_object::apply<h::Buffer<uint32_t> *>::type converter;
type              425 python_bindings/python/Image.cpp     } else if (im.type() == h::Int(8)) {
type              426 python_bindings/python/Image.cpp         p::manage_new_object::apply<h::Buffer<int8_t> *>::type converter;
type              428 python_bindings/python/Image.cpp     } else if (im.type() == h::Int(16)) {
type              429 python_bindings/python/Image.cpp         p::manage_new_object::apply<h::Buffer<int16_t> *>::type converter;
type              431 python_bindings/python/Image.cpp     } else if (im.type() == h::Int(32)) {
type              432 python_bindings/python/Image.cpp         p::manage_new_object::apply<h::Buffer<int32_t> *>::type converter;
type              434 python_bindings/python/Image.cpp     } else if (im.type() == h::Float(32)) {
type              435 python_bindings/python/Image.cpp         p::manage_new_object::apply<h::Buffer<float> *>::type converter;
type              437 python_bindings/python/Image.cpp     } else if (im.type() == h::Float(64)) {
type              438 python_bindings/python/Image.cpp         p::manage_new_object::apply<h::Buffer<double> *>::type converter;
type              533 python_bindings/python/Image.cpp         stride[i] = im.dim(i).stride() * im.type().bytes();
type              538 python_bindings/python/Image.cpp         type_to_dtype(im.type()),
type              551 python_bindings/python/Image.cpp         typedef typename p::manage_new_object::apply<BufferType *>::type converter_t;
type              571 python_bindings/python/Image.cpp     static p::object create_buffer0(h::Type type) {
type              572 python_bindings/python/Image.cpp         return create_buffer_impl(type);
type              575 python_bindings/python/Image.cpp     static p::object create_buffer1(h::Type type, int x) {
type              576 python_bindings/python/Image.cpp         return create_buffer_impl(type, x);
type              579 python_bindings/python/Image.cpp     static p::object create_buffer2(h::Type type, int x, int y) {
type              580 python_bindings/python/Image.cpp         return create_buffer_impl(type, x, y);
type              583 python_bindings/python/Image.cpp     static p::object create_buffer3(h::Type type, int x, int y, int z) {
type              584 python_bindings/python/Image.cpp         return create_buffer_impl(type, x, y, z);
type              587 python_bindings/python/Image.cpp     static p::object create_buffer4(h::Type type, int x, int y, int z, int w) {
type              588 python_bindings/python/Image.cpp         return create_buffer_impl(type, x, y, z, w);
type              591 python_bindings/python/Image.cpp     static p::object create_buffer_from_realization(h::Type type, h::Realization &r) {
type              592 python_bindings/python/Image.cpp         return create_buffer_impl(type, r);
type              596 python_bindings/python/Image.cpp         return create_buffer_impl(b.type, b);
type               42 python_bindings/python/Param.cpp     const h::Type &t = param.type();
type              286 python_bindings/python/Param.cpp     const h::Type &t = param.type();
type              294 python_bindings/python/Param.cpp void defineParam_impl(const std::string suffix, const h::Type type) {
type              340 python_bindings/python/Param.cpp         .def("type", &Param<T>::type, p::arg("self"),
type              400 python_bindings/python/Param.cpp     typedef typename p::manage_new_object::apply<ParamType *>::type converter_t;
type              410 python_bindings/python/Param.cpp p::object create_param0_impl(h::Type type, std::string name) {
type              411 python_bindings/python/Param.cpp     if (h::type_of<T>() == type) {
type              418 python_bindings/python/Param.cpp         return create_param0_impl<Types...>(type, name);  // keep recursing
type              423 python_bindings/python/Param.cpp p::object create_param0_impl<end_of_recursion_t>(h::Type type, std::string /*name*/) {  // end of recursion, did not find a matching type
type              424 python_bindings/python/Param.cpp     printf("create_param0_impl<end_of_recursion_t> received %s\n", type_repr(type).c_str());
type              504 python_bindings/python/Param.cpp     p::object operator()(h::Type type, p::object val, Args... args) {
type              505 python_bindings/python/Param.cpp         typedef typename boost::mpl::front<PixelTypes>::type pixel_t;
type              506 python_bindings/python/Param.cpp         if (h::type_of<pixel_t>() == type) {
type              512 python_bindings/python/Param.cpp                 printf("create_param1_impl type == %s\n", type_repr(type).c_str());
type              519 python_bindings/python/Param.cpp             typedef typename boost::mpl::pop_front<PixelTypes>::type pixels_types_tail_t;
type              520 python_bindings/python/Param.cpp             return create_param1_impl_t<pixels_types_tail_t, Args...>()(type, val, args...);
type              553 python_bindings/python/Param.cpp struct create_param1_impl_t<boost::mpl::l_end::type, Args...> {
type              554 python_bindings/python/Param.cpp     p::object operator()(h::Type type, p::object val, Args... args) {
type              556 python_bindings/python/Param.cpp         printf("create_param1_impl<end_of_recursion_t> received %s\n", type_repr(type).c_str());
type              563 python_bindings/python/Param.cpp     static p::object create_param0(h::Type type) {
type              567 python_bindings/python/Param.cpp             float, double>(type, "");
type              570 python_bindings/python/Param.cpp     static p::object create_param1(h::Type type, std::string name) {
type              574 python_bindings/python/Param.cpp             float, double>(type, name);
type              577 python_bindings/python/Param.cpp     static p::object create_param2(h::Type type, p::object val) {
type              578 python_bindings/python/Param.cpp         return create_param1_impl_t<pixel_types_t>()(type, val);
type              581 python_bindings/python/Param.cpp     static p::object create_param3(h::Type type, std::string name, p::object val) {
type              582 python_bindings/python/Param.cpp         return create_param1_impl_t<pixel_types_t, std::string>()(type, val, name);
type              585 python_bindings/python/Param.cpp     static p::object create_param4(h::Type type, p::object val, h::Expr min, h::Expr max) {
type              586 python_bindings/python/Param.cpp         return create_param1_impl_t<pixel_types_t, h::Expr, h::Expr>()(type, val, min, max);
type              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) {
type              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);
type               22 src/AddImageChecks.cpp         Type type;
type               36 src/AddImageChecks.cpp             r.type = op->type.element_of();
type               42 src/AddImageChecks.cpp             r.type = op->type.element_of();
type               54 src/AddImageChecks.cpp             r.type = op->param.type();
type               80 src/AddImageChecks.cpp             output_buffer.type = f.values()[i].type();
type              144 src/AddImageChecks.cpp         Type type = buf.second.type;
type              230 src/AddImageChecks.cpp                                      type_code, make_const(UInt(8), (int)type.code()),
type              231 src/AddImageChecks.cpp                                      type_bits, make_const(UInt(8), type.bits()),
type              232 src/AddImageChecks.cpp                                      type_lanes, make_const(UInt(16), type.lanes())},
type              235 src/AddImageChecks.cpp                 AssertStmt::make((type_code == type.code()) &&
type              236 src/AddImageChecks.cpp                                  (type_bits == type.bits()) &&
type              237 src/AddImageChecks.cpp                                  (type_lanes == type.lanes()), error));
type              356 src/AddImageChecks.cpp         builder.type = type;
type              499 src/AddImageChecks.cpp         if (param.defined() && param.host_alignment() != param.type().bytes()) {
type               57 src/AddParameterChecks.cpp             Expr constrained_var = Variable::make(param.type(), constrained_name);
type               58 src/AddParameterChecks.cpp             Expr constrained_value = Variable::make(param.type(), i.first, param);
type              101 src/AddParameterChecks.cpp         Type wider = p.value.type().with_bits(64);
type               38 src/AlignLoads.cpp         return mutate(Load::make(load->type.with_lanes(index.type().lanes()), load->name,
type               39 src/AlignLoads.cpp                                  index, load->image, load->param, const_true(index.type().lanes())));
type               49 src/AlignLoads.cpp         if (!op->type.is_vector()) {
type               71 src/AlignLoads.cpp         int native_lanes = required_alignment / op->type.bytes();
type              158 src/AlignLoads.cpp         if (op->value.type() == Int(32)) {
type              165 src/AlignLoads.cpp         if (op->value.type() == Int(32)) {
type              104 src/AllocationBoundsInference.cpp             internal_assert(min_var.type() == min.type());
type              105 src/AllocationBoundsInference.cpp             internal_assert(max_var.type() == max.type());
type               30 src/ApplySplit.h     Type type;
type               33 src/ApplySplit.h         : name(n), value(val), type(t) {}
type               34 src/ApplySplit.h     ApplySplitResult(Expr val) : name(""), value(val), type(Predicate) {}
type               36 src/ApplySplit.h     bool is_substitution() const {return (type == Substitution);}
type               37 src/ApplySplit.h     bool is_let() const {return (type == LetStmt);}
type               38 src/ApplySplit.h     bool is_predicate() const {return (type == Predicate);}
type               54 src/Argument.h     Type type;
type               65 src/Argument.h         name(_name), kind(_kind), dimensions((uint8_t) _dimensions), type(_type), def(_def), min(_min), max(_max) {
type               82 src/Argument.h         type(im.type()) {}
type               94 src/Argument.h                type == rhs.type &&
type               82 src/AssociativeOpsTable.cpp     ValType type;
type               85 src/AssociativeOpsTable.cpp     TableKey(ValType t, RootExpr r, size_t d) : type(t), root(r), dim(d) {}
type               88 src/AssociativeOpsTable.cpp         return (type == other.type) && (root == other.root) && (dim == other.dim);
type               91 src/AssociativeOpsTable.cpp         if (type < other.type) {
type               93 src/AssociativeOpsTable.cpp         } else if (type > other.type) {
type              327 src/AssociativeOpsTable.cpp         user_assert(exprs[i-1].type() == exprs[i].type())
type              338 src/AssociativeOpsTable.cpp         debug(5) << "Returning Add root table for type " << exprs[0].type() << "\n";
type              341 src/AssociativeOpsTable.cpp         debug(5) << "Returning Sub root table for type " << exprs[0].type() << "\n";
type              344 src/AssociativeOpsTable.cpp         debug(5) << "Returning Mul root table for type " << exprs[0].type() << "\n";
type              350 src/AssociativeOpsTable.cpp         debug(5) << "Returning Max root table for type " << exprs[0].type() << "\n";
type              353 src/AssociativeOpsTable.cpp         debug(5) << "Returning Select root table for type " << exprs[0].type() << "\n";
type              356 src/AssociativeOpsTable.cpp         debug(5) << "Returning And root table for type " << exprs[0].type() << "\n";
type              359 src/AssociativeOpsTable.cpp         debug(5) << "Returning Or root table for type " << exprs[0].type() << "\n";
type              362 src/AssociativeOpsTable.cpp         debug(5) << "Returning Cast root table for type " << exprs[0].type() << "\n";
type              367 src/AssociativeOpsTable.cpp         const vector<AssociativePattern> &table = get_ops_table_helper(exprs[0].type(), root, exprs.size());
type               75 src/Associativity.cpp             expr = Variable::make(op->type, op_x_names[op->value_index]);
type              203 src/Associativity.cpp             replacement.push_back({y_part, Variable::make(y_part.type(), op_y_names[index])});
type              233 src/Associativity.cpp         Type t = exprs[0].type();
type              499 src/Associativity.cpp                 replacement.emplace(assoc_op.xs[i].var, Variable::make(result.xs[i].expr.type(), result.xs[i].var));
type              502 src/Associativity.cpp             replacement.emplace(assoc_op.ys[i].var, Variable::make(result.ys[i].expr.type(), result.ys[i].var));
type              104 src/BoundaryConditions.h           typename std::enable_if<Halide::Internal::all_are_convertible<Expr, Bounds...>::value>::type* = nullptr>
type              112 src/BoundaryConditions.h           typename std::enable_if<Halide::Internal::all_are_convertible<Expr, Bounds...>::value>::type* = nullptr>
type              147 src/BoundaryConditions.h           typename std::enable_if<Halide::Internal::all_are_convertible<Expr, Bounds...>::value>::type* = nullptr>
type              182 src/BoundaryConditions.h           typename std::enable_if<Halide::Internal::all_are_convertible<Expr, Bounds...>::value>::type* = nullptr>
type              217 src/BoundaryConditions.h           typename std::enable_if<Halide::Internal::all_are_convertible<Expr, Bounds...>::value>::type* = nullptr>
type              255 src/BoundaryConditions.h           typename std::enable_if<Halide::Internal::all_are_convertible<Expr, Bounds...>::value>::type* = nullptr>
type               32 src/Bounds.cpp         Expr zero = make_zero(x.type());
type               72 src/Bounds.cpp             return simplify(Cast::make(cast->type, a));
type              143 src/Bounds.cpp         Type to = op->type.element_of();
type              144 src/Bounds.cpp         Type from = op->value.type().element_of();
type              208 src/Bounds.cpp         } else if (op->type.is_vector()) {
type              210 src/Bounds.cpp             bounds_of_type(op->type);
type              236 src/Bounds.cpp             if (!op->type.is_float() && op->type.bits() < 32) {
type              240 src/Bounds.cpp                         bounds_of_type(op->type);
type              247 src/Bounds.cpp                         bounds_of_type(op->type);
type              275 src/Bounds.cpp             if (!op->type.is_float() && op->type.bits() < 32) {
type              279 src/Bounds.cpp                         bounds_of_type(op->type);
type              286 src/Bounds.cpp                         bounds_of_type(op->type);
type              293 src/Bounds.cpp             if (op->type.is_uint() &&
type              296 src/Bounds.cpp                 bounds_of_type(op->type);
type              323 src/Bounds.cpp             } else if (is_positive_const(b.min) || op->type.is_uint()) {
type              329 src/Bounds.cpp                 Expr cmp = b.min >= make_zero(b.min.type().element_of());
type              344 src/Bounds.cpp         if (op->type.bits() < 32 && !op->type.is_float()) {
type              352 src/Bounds.cpp                     bounds_of_type(op->type);
type              355 src/Bounds.cpp                 bounds_of_type(op->type);
type              375 src/Bounds.cpp             if (is_positive_const(b.min) || op->type.is_uint()) {
type              383 src/Bounds.cpp                 Expr cmp = b.min > make_zero(b.min.type().element_of());
type              423 src/Bounds.cpp         Type t = op->type.element_of();
type              429 src/Bounds.cpp             if (b.max.type().is_uint() || (b.max.type().is_int() && is_positive_const(b.min))) {
type              432 src/Bounds.cpp             } else if (b.max.type().is_int()) {
type              479 src/Bounds.cpp         bounds_of_type(op->type);
type              483 src/Bounds.cpp         bounds_of_type(op->type);
type              487 src/Bounds.cpp         bounds_of_type(op->type);
type              491 src/Bounds.cpp         bounds_of_type(op->type);
type              495 src/Bounds.cpp         bounds_of_type(op->type);
type              499 src/Bounds.cpp         bounds_of_type(op->type);
type              503 src/Bounds.cpp         bounds_of_type(op->type);
type              507 src/Bounds.cpp         bounds_of_type(op->type);
type              511 src/Bounds.cpp         bounds_of_type(op->type);
type              528 src/Bounds.cpp             (op->condition.type().is_scalar() &&
type              553 src/Bounds.cpp                 Load::make(op->type.element_of(), op->name, interval.min,
type              558 src/Bounds.cpp             bounds_of_type(op->type);
type              565 src/Bounds.cpp         Expr var = Variable::make(op->base.type(), var_name);
type              567 src/Bounds.cpp         scope.push(var_name, Interval(make_const(var.type(), 0),
type              568 src/Bounds.cpp                                       make_const(var.type(), op->lanes-1)));
type              594 src/Bounds.cpp         Type t = op->type.element_of();
type              613 src/Bounds.cpp                 } else if (op->args[0].type().is_int() && op->args[0].type().bits() >= 32) {
type              676 src/Bounds.cpp             bounds_of_func(op->name, op->value_index, op->type);
type              700 src/Bounds.cpp                 var.min = Variable::make(op->value.type().element_of(), min_name);
type              710 src/Bounds.cpp                 var.max = Variable::make(op->value.type().element_of(), max_name);
type              789 src/Bounds.cpp         internal_assert(b.interval.min.type().is_scalar())
type              794 src/Bounds.cpp         internal_assert(b.interval.max.type().is_scalar())
type             1072 src/Bounds.cpp             scope.push(op->name, Interval(Variable::make(op->value.type(), min_name),
type             1073 src/Bounds.cpp                                           Variable::make(op->value.type(), max_name)));
type             1137 src/Bounds.cpp                 if (a.defined() && b.defined() && a.type() == Int(32)) {
type              156 src/BoundsInference.cpp                         Expr cond_val = Call::make(val.type(),
type              158 src/BoundsInference.cpp                                                    {likely(predicates[0]), val, make_zero(val.type())},
type              161 src/BoundsInference.cpp                             cond_val = Call::make(cond_val.type(),
type              163 src/BoundsInference.cpp                                                   {likely(predicates[i]), cond_val, make_zero(cond_val.type())},
type              499 src/BoundsInference.cpp                         builder.type = input.output_types()[k];
type              541 src/BoundsInference.cpp                 builder.type = func.output_types()[j];
type               22 src/Buffer.cpp         user_assert(Int(32).can_represent(e.type()))
type               30 src/Buffer.cpp         } else if (e.type() == Int(32)) {
type               39 src/Buffer.h            typename = typename std::enable_if<!std::is_convertible<T, std::string>::value>::type>
type               80 src/Buffer.h   using add_const_if_T_is_const = typename std::conditional<std::is_const<T>::value, const T2, T2>::type;
type              142 src/Buffer.h                typename = typename std::enable_if<Internal::all_ints_and_optional_name<Args...>::value>::type>
type              157 src/Buffer.h                typename = typename std::enable_if<Internal::all_ints_and_optional_name<Args...>::value>::type>
type              177 src/Buffer.h                typename = typename std::enable_if<Internal::all_ints_and_optional_name<Args...>::value>::type>
type              185 src/Buffer.h                typename = typename std::enable_if<Internal::all_ints_and_optional_name<Args...>::value>::type>
type              383 src/Buffer.h       Type type() const {
type              384 src/Buffer.h           return contents->buf.type();
type              130 src/CPlusPlusMangle.cpp     const Type &type;
type              136 src/CPlusPlusMangle.cpp     QualsState(const Type &type, const std::string &base_mode) : type(type), base_mode(base_mode) { }
type              146 src/CPlusPlusMangle.cpp              type.handle_type->reference_type == halide_handle_cplusplus_type::NotReference)) {
type              152 src/CPlusPlusMangle.cpp         if (last_is_pointer && (is_pointer || type.handle_type->reference_type != halide_handle_cplusplus_type::NotReference)) {
type              170 src/CPlusPlusMangle.cpp         if (type.handle_type->reference_type == halide_handle_cplusplus_type::LValueReference) {
type              172 src/CPlusPlusMangle.cpp         } else if (type.handle_type->reference_type == halide_handle_cplusplus_type::RValueReference) {
type              182 src/CPlusPlusMangle.cpp std::string mangle_indirection_and_cvr_quals(const Type &type, const Target &target) {
type              183 src/CPlusPlusMangle.cpp     QualsState state(type, (target.bits == 64) ? "E" : "");
type              184 src/CPlusPlusMangle.cpp     for (uint8_t modifier : type.handle_type->cpp_type_modifiers) {
type              192 src/CPlusPlusMangle.cpp MangledNamePart mangle_inner_name(const Type &type, const Target &target, PreviousDeclarations &prev_decls) {
type              195 src/CPlusPlusMangle.cpp     std::string quals = mangle_indirection_and_cvr_quals(type, target);
type              196 src/CPlusPlusMangle.cpp     if (type.handle_type->inner_name.cpp_type_type == halide_cplusplus_type_name::Simple) {
type              197 src/CPlusPlusMangle.cpp         return quals + simple_type_to_mangle_char(type.handle_type->inner_name.name, target);
type              200 src/CPlusPlusMangle.cpp         if (type.handle_type->inner_name.cpp_type_type == halide_cplusplus_type_name::Struct) {
type              202 src/CPlusPlusMangle.cpp         } else if (type.handle_type->inner_name.cpp_type_type == halide_cplusplus_type_name::Class) {
type              204 src/CPlusPlusMangle.cpp         } else if (type.handle_type->inner_name.cpp_type_type == halide_cplusplus_type_name::Union) {
type              206 src/CPlusPlusMangle.cpp         } else if (type.handle_type->inner_name.cpp_type_type == halide_cplusplus_type_name::Enum) {
type              209 src/CPlusPlusMangle.cpp         result.full_name = quals + code + type.handle_type->inner_name.name + "@";
type              210 src/CPlusPlusMangle.cpp         result.with_substitutions = quals + code + prev_decls.check_and_enter_name(type.handle_type->inner_name.name);
type              212 src/CPlusPlusMangle.cpp         for (size_t i = type.handle_type->enclosing_types.size(); i > 0; i--) {
type              213 src/CPlusPlusMangle.cpp             result.full_name += type.handle_type->enclosing_types[i - 1].name + "@";
type              214 src/CPlusPlusMangle.cpp             result.with_substitutions += prev_decls.check_and_enter_name(type.handle_type->enclosing_types[i - 1].name);
type              217 src/CPlusPlusMangle.cpp         for (size_t i = type.handle_type->namespaces.size(); i > 0; i--) {
type              218 src/CPlusPlusMangle.cpp             result.full_name += type.handle_type->namespaces[i - 1] + "@";
type              219 src/CPlusPlusMangle.cpp             result.with_substitutions += prev_decls.check_and_enter_name(type.handle_type->namespaces[i - 1]);
type              229 src/CPlusPlusMangle.cpp MangledNamePart mangle_type(const Type &type, const Target &target, PreviousDeclarations &prev_decls) {
type              230 src/CPlusPlusMangle.cpp     if (type.is_int()) {
type              231 src/CPlusPlusMangle.cpp         switch (type.bits()) {
type              241 src/CPlusPlusMangle.cpp         internal_error << "Unexpected integer size: " << type.bits() << ".\n";
type              243 src/CPlusPlusMangle.cpp     } else if (type.is_uint()) {
type              244 src/CPlusPlusMangle.cpp         switch (type.bits()) {
type              256 src/CPlusPlusMangle.cpp         internal_error << "Unexpected unsigned integer size: " << type.bits() << "\n";
type              258 src/CPlusPlusMangle.cpp     } else if (type.is_float()) {
type              259 src/CPlusPlusMangle.cpp         if (type.bits() == 32) {
type              261 src/CPlusPlusMangle.cpp         } else if (type.bits() == 64) {
type              264 src/CPlusPlusMangle.cpp         internal_error << "Unexpected floating-point type size: " << type.bits() << ".\n";
type              266 src/CPlusPlusMangle.cpp     } else if (type.is_handle()) {
type              267 src/CPlusPlusMangle.cpp         return mangle_inner_name((type.handle_type != nullptr) ? type : non_null_void_star_type(),
type              270 src/CPlusPlusMangle.cpp     internal_error << "Unexpected kind of type. Code: " << type.code() << "\n";
type              295 src/CPlusPlusMangle.cpp             result += prev_decls.check_and_enter_type(mangle_type(arg.is_expr() ? arg.expr.type() : type_of<struct halide_buffer_t *>(), target, prev_decls));
type              418 src/CPlusPlusMangle.cpp MangledNamePart apply_indirection_and_cvr_quals(const Type &type, MangledNamePart &name_part,
type              420 src/CPlusPlusMangle.cpp     for (uint8_t modifier : type.handle_type->cpp_type_modifiers) {
type              424 src/CPlusPlusMangle.cpp             type.handle_type->reference_type == halide_handle_cplusplus_type::NotReference) {
type              451 src/CPlusPlusMangle.cpp     if (type.handle_type->reference_type == halide_handle_cplusplus_type::LValueReference) {
type              453 src/CPlusPlusMangle.cpp     } else if (type.handle_type->reference_type == halide_handle_cplusplus_type::RValueReference) {
type              507 src/CPlusPlusMangle.cpp std::string mangle_inner_name(const Type &type, const Target &target, PrevPrefixes &prevs) {
type              508 src/CPlusPlusMangle.cpp     if (type.handle_type->inner_name.cpp_type_type == halide_cplusplus_type_name::Simple) {
type              509 src/CPlusPlusMangle.cpp         MangledNamePart result = simple_type_to_mangle_char(type.handle_type->inner_name.name, target);
type              510 src/CPlusPlusMangle.cpp         return apply_indirection_and_cvr_quals(type, result, prevs).full_name;
type              512 src/CPlusPlusMangle.cpp         MangledNamePart mangled = mangle_qualified_name(type.handle_type->inner_name.name, type.handle_type->namespaces,
type              513 src/CPlusPlusMangle.cpp                                                         type.handle_type->enclosing_types, true, prevs);
type              514 src/CPlusPlusMangle.cpp         return apply_indirection_and_cvr_quals(type, mangled, prevs).full_name;
type              518 src/CPlusPlusMangle.cpp std::string mangle_type(const Type &type, const Target &target, PrevPrefixes &prevs) {
type              519 src/CPlusPlusMangle.cpp     if (type.is_int()) {
type              520 src/CPlusPlusMangle.cpp         switch (type.bits()) {
type              536 src/CPlusPlusMangle.cpp         internal_error << "Unexpected integer size: " << type.bits() << ".\n";
type              538 src/CPlusPlusMangle.cpp     } else if (type.is_uint()) {
type              539 src/CPlusPlusMangle.cpp         switch (type.bits()) {
type              557 src/CPlusPlusMangle.cpp         internal_error << "Unexpected unsigned integer size: " << type.bits() << "\n";
type              559 src/CPlusPlusMangle.cpp     } else if (type.is_float()) {
type              560 src/CPlusPlusMangle.cpp         if (type.bits() == 32) {
type              562 src/CPlusPlusMangle.cpp         } else if (type.bits() == 64) {
type              565 src/CPlusPlusMangle.cpp         internal_error << "Unexpected floating-point type size: " << type.bits() << ".\n";
type              567 src/CPlusPlusMangle.cpp     } else if (type.is_handle()) {
type              568 src/CPlusPlusMangle.cpp         return mangle_inner_name((type.handle_type != nullptr) ? type : non_null_void_star_type(),
type              571 src/CPlusPlusMangle.cpp     internal_error << "Unexpected kind of type. Code: " << type.code() << "\n";
type              588 src/CPlusPlusMangle.cpp         result += mangle_type(arg.is_expr() ? arg.expr.type() : type_of<struct halide_buffer_t *>(), target, prevs);
type              101 src/CSE.cpp                    internal_assert(entries[number].expr.type() == e.type());
type              110 src/CSE.cpp                    internal_assert(entries[number].expr.type() == e.type());
type              120 src/CSE.cpp                internal_assert(entries[number].expr.type() == e.type());
type              134 src/CSE.cpp                internal_assert(entries[number].expr.type() == old_e.type());
type              144 src/CSE.cpp            internal_assert(e.type() == old_e.type());
type              177 src/CSE.cpp                expr = Load::make(op->type, op->name, index, op->image, op->param, predicate);
type              292 src/CSE.cpp                replacements[e.expr] = Variable::make(e.expr.type(), name);
type              341 src/CSE.cpp                expr = Variable::make(var->type, iter->second);
type              491 src/CSE.cpp            Expr t0 = Variable::make(handle_b.type(), "t0");
type               41 src/Closure.cpp void Closure::found_buffer_ref(const string &name, Type type,
type               46 src/Closure.cpp         ref.type = type.element_of(); // TODO: Validate type is the same as existing refs?
type               63 src/Closure.cpp     found_buffer_ref(op->name, op->type, true, false, op->image);
type               70 src/Closure.cpp     found_buffer_ref(op->name, op->value.type(), false, true, Halide::Buffer<>());
type               90 src/Closure.cpp         vars[op->name] = op->type;
type               42 src/Closure.h          Type type;
type               60 src/Closure.h      void found_buffer_ref(const std::string &name, Type type,
type              253 src/CodeGen_ARM.cpp     Type t = op->type;
type              263 src/CodeGen_ARM.cpp             if (pattern.type == Pattern::Simple) {
type              266 src/CodeGen_ARM.cpp             } else if (pattern.type == Pattern::NarrowArgs) {
type              270 src/CodeGen_ARM.cpp                     internal_assert(matches[i].type().bits() == t.bits() * 2);
type              271 src/CodeGen_ARM.cpp                     internal_assert(matches[i].type().lanes() == t.lanes());
type              279 src/CodeGen_ARM.cpp                         internal_assert(matches[i].type() == t);
type              291 src/CodeGen_ARM.cpp                 if (power_of_two && shift_amount < matches[0].type().bits()) {
type              292 src/CodeGen_ARM.cpp                     if (target.bits == 32 && pattern.type == Pattern::RightShift) {
type              298 src/CodeGen_ARM.cpp                     if (target.bits == 64 && pattern.type == Pattern::RightShift) {
type              301 src/CodeGen_ARM.cpp                         shift = ConstantInt::get(llvm_type_of(matches[0].type()), shift_amount);
type              319 src/CodeGen_ARM.cpp         op->value.type().is_int() &&
type              320 src/CodeGen_ARM.cpp         t.bits() == op->value.type().bits() / 2) {
type              335 src/CodeGen_ARM.cpp         (op->value.type().is_int() || op->value.type().is_uint()) &&
type              336 src/CodeGen_ARM.cpp         t.bits() == op->value.type().bits() * 2) {
type              342 src/CodeGen_ARM.cpp             ss << "vabdl_" << (c->args[0].type().is_int() ? 'i' : 'u') << t.bits() / 2 << 'x' << intrin_lanes;
type              359 src/CodeGen_ARM.cpp     if (op->type.is_scalar() || op->type.is_float()) {
type              388 src/CodeGen_ARM.cpp             internal_assert(pattern.type == Pattern::LeftShift);
type              390 src/CodeGen_ARM.cpp                 llvm::Type *t_arg = llvm_type_of(matches[0].type());
type              391 src/CodeGen_ARM.cpp                 llvm::Type *t_result = llvm_type_of(op->type);
type              409 src/CodeGen_ARM.cpp     Type ty = a.type();
type              417 src/CodeGen_ARM.cpp         op->type.is_vector() && is_two(op->b) &&
type              422 src/CodeGen_ARM.cpp                 value = call_pattern(averagings[i], op->type, matches);
type              442 src/CodeGen_ARM.cpp         if (op->type.is_vector() &&
type              444 src/CodeGen_ARM.cpp             value = call_pattern(negations[i], op->type, matches);
type              450 src/CodeGen_ARM.cpp     if (op->type.is_float() && is_zero(op->a)) {
type              452 src/CodeGen_ARM.cpp         if (op->type.bits() == 32) {
type              454 src/CodeGen_ARM.cpp         } else if (op->type.bits() == 64) {
type              458 src/CodeGen_ARM.cpp             internal_error << "Unknown bit width for floating point type: " << op->type << "\n";
type              463 src/CodeGen_ARM.cpp         if (op->type.lanes() > 1) {
type              464 src/CodeGen_ARM.cpp             a = ConstantVector::getSplat(op->type.lanes(), a);
type              475 src/CodeGen_ARM.cpp      if (op->type.is_int() &&
type              476 src/CodeGen_ARM.cpp          op->type.is_vector() &&
type              493 src/CodeGen_ARM.cpp     if (op->type == Float(32)) {
type              530 src/CodeGen_ARM.cpp         bool match = op->type == patterns[i].t;
type              533 src/CodeGen_ARM.cpp         if (op->type.is_vector() && patterns[i].t.lanes() * patterns[i].t.bits() == 128) {
type              534 src/CodeGen_ARM.cpp             match = match || (op->type.element_of() == patterns[i].t.element_of());
type              540 src/CodeGen_ARM.cpp                 intrin = (string("llvm.arm.neon.") + (op->type.is_uint() ? "vminu." : "vmins.")) + patterns[i].op;
type              543 src/CodeGen_ARM.cpp                 if (op->type.is_int()) {
type              545 src/CodeGen_ARM.cpp                 } else if (op->type.is_float()) {
type              552 src/CodeGen_ARM.cpp             value = call_intrin(op->type, patterns[i].t.lanes(), intrin, {op->a, op->b});
type              566 src/CodeGen_ARM.cpp     if (op->type == Float(32)) {
type              603 src/CodeGen_ARM.cpp         bool match = op->type == patterns[i].t;
type              606 src/CodeGen_ARM.cpp         if (op->type.is_vector() && patterns[i].t.lanes() * patterns[i].t.bits() == 128) {
type              607 src/CodeGen_ARM.cpp             match = match || (op->type.element_of() == patterns[i].t.element_of());
type              613 src/CodeGen_ARM.cpp                 intrin = (string("llvm.arm.neon.") + (op->type.is_uint() ? "vmaxu." : "vmaxs.")) + patterns[i].op;
type              616 src/CodeGen_ARM.cpp                 if (op->type.is_int()) {
type              618 src/CodeGen_ARM.cpp                 } else if (op->type.is_float()) {
type              625 src/CodeGen_ARM.cpp             value = call_intrin(op->type, patterns[i].t.lanes(), intrin, {op->a, op->b});
type              667 src/CodeGen_ARM.cpp         Type t = shuffle->vectors[0].type();
type              692 src/CodeGen_ARM.cpp         Type t = shuffle->vectors[0].type();
type              747 src/CodeGen_ARM.cpp             Value *ptr = codegen_buffer_pointer(op->name, shuffle->vectors[0].type().element_of(), slice_base);
type              790 src/CodeGen_ARM.cpp                 << (op->value.type().is_float() ? 'f' : 'i')
type              791 src/CodeGen_ARM.cpp                 << op->value.type().bits()
type              792 src/CodeGen_ARM.cpp                 << 'x' << op->value.type().lanes();
type              796 src/CodeGen_ARM.cpp             Value *base = codegen_buffer_pointer(op->name, op->value.type().element_of(), ramp->base);
type              797 src/CodeGen_ARM.cpp             Value *stride = codegen(ramp->stride * op->value.type().bytes());
type              869 src/CodeGen_ARM.cpp         int alignment = op->type.bytes();
type              879 src/CodeGen_ARM.cpp         int bit_width = op->type.bits() * op->type.lanes();
type              882 src/CodeGen_ARM.cpp             intrin_lanes = 128 / op->type.bits();
type              884 src/CodeGen_ARM.cpp             intrin_lanes = 64 / op->type.bits();
type              890 src/CodeGen_ARM.cpp         llvm::Type *load_return_type = llvm_type_of(op->type.with_lanes(intrin_lanes*stride->value));
type              901 src/CodeGen_ARM.cpp         for (int i = 0; i < op->type.lanes(); i += intrin_lanes) {
type              904 src/CodeGen_ARM.cpp             Value *ptr = codegen_buffer_pointer(op->name, op->type.element_of(), slice_base);
type              922 src/CodeGen_ARM.cpp                 << (op->type.is_float() ? 'f' : 'i')
type              923 src/CodeGen_ARM.cpp                 << op->type.bits()
type              924 src/CodeGen_ARM.cpp                 << 'x' << op->type.lanes();
type              928 src/CodeGen_ARM.cpp             Value *base = codegen_buffer_pointer(op->name, op->type.element_of(), ramp->base);
type              929 src/CodeGen_ARM.cpp             Value *stride = codegen(ramp->stride * op->type.bytes());
type              943 src/CodeGen_ARM.cpp     if (op->is_intrinsic(Call::abs) && op->type.is_uint()) {
type              949 src/CodeGen_ARM.cpp             Type narrow = UInt(a.type().bits()/2, a.type().lanes());
type              964 src/CodeGen_ARM.cpp                 absd = Cast::make(op->type, absd);
type               51 src/CodeGen_ARM.h         PatternType type;
type               56 src/CodeGen_ARM.h             intrin_lanes(l), pattern(p), type(t) {}
type              223 src/CodeGen_C.cpp string type_to_c_type(Type type, bool include_space, bool c_plus_plus = true) {
type              226 src/CodeGen_C.cpp     user_assert(type.lanes() == 1) << "Can't use vector types when compiling to C (yet)\n";
type              227 src/CodeGen_C.cpp     if (type.is_float()) {
type              228 src/CodeGen_C.cpp         if (type.bits() == 32) {
type              230 src/CodeGen_C.cpp         } else if (type.bits() == 64) {
type              233 src/CodeGen_C.cpp             user_error << "Can't represent a float with this many bits in C: " << type << "\n";
type              236 src/CodeGen_C.cpp     } else if (type.is_handle()) {
type              241 src/CodeGen_C.cpp         if (type.handle_type == NULL ||
type              243 src/CodeGen_C.cpp              (!type.handle_type->namespaces.empty() ||
type              244 src/CodeGen_C.cpp               !type.handle_type->enclosing_types.empty() ||
type              245 src/CodeGen_C.cpp               type.handle_type->inner_name.cpp_type_type == halide_cplusplus_type_name::Class))) {
type              248 src/CodeGen_C.cpp             if (type.handle_type->inner_name.cpp_type_type ==
type              253 src/CodeGen_C.cpp             if (!type.handle_type->namespaces.empty() ||
type              254 src/CodeGen_C.cpp                 !type.handle_type->enclosing_types.empty()) {
type              256 src/CodeGen_C.cpp                 for (size_t i = 0; i < type.handle_type->namespaces.size(); i++) {
type              257 src/CodeGen_C.cpp                     oss << type.handle_type->namespaces[i] << "::";
type              259 src/CodeGen_C.cpp                 for (size_t i = 0; i < type.handle_type->enclosing_types.size(); i++) {
type              260 src/CodeGen_C.cpp                     oss << type.handle_type->enclosing_types[i].name << "::";
type              263 src/CodeGen_C.cpp             oss << type.handle_type->inner_name.name;
type              264 src/CodeGen_C.cpp             if (type.handle_type->reference_type == halide_handle_cplusplus_type::LValueReference) {
type              266 src/CodeGen_C.cpp             } else if (type.handle_type->reference_type == halide_handle_cplusplus_type::LValueReference) {
type              269 src/CodeGen_C.cpp             for (auto modifier : type.handle_type->cpp_type_modifiers) {
type              285 src/CodeGen_C.cpp         switch (type.bits()) {
type              290 src/CodeGen_C.cpp             if (type.is_uint()) oss << 'u';
type              291 src/CodeGen_C.cpp             oss << "int" << type.bits() << "_t";
type              294 src/CodeGen_C.cpp             user_error << "Can't represent an integer with this many bits in C: " << type << "\n";
type              317 src/CodeGen_C.cpp string CodeGen_C::print_type(Type type, AppendSpaceIfNeeded space_option) {
type              318 src/CodeGen_C.cpp     return type_to_c_type(type, space_option == AppendSpace);
type              321 src/CodeGen_C.cpp string CodeGen_C::print_reinterpret(Type type, Expr e) {
type              323 src/CodeGen_C.cpp     if (type.is_handle()) {
type              325 src/CodeGen_C.cpp         oss << "(" << print_type(type) << ")";
type              327 src/CodeGen_C.cpp         oss << "reinterpret<" << print_type(type) << ">";
type              388 src/CodeGen_C.cpp         stream << type_to_c_type(op->type, true) << " " << name << "(";
type              402 src/CodeGen_C.cpp                 stream << type_to_c_type(op->args[i].type(), true);
type              493 src/CodeGen_C.cpp         auto handle_type = args[i].type.handle_type;
type              575 src/CodeGen_C.cpp             stream << print_type(args[i].type, AppendSpace)
type              643 src/CodeGen_C.cpp     for (size_t i = 0; i < num_elems * b.type.bytes(); i++) {
type              661 src/CodeGen_C.cpp     Type t = buffer.type();
type              725 src/CodeGen_C.cpp     print_assignment(op->type, "(" + print_type(op->type) + ")(" + print_expr(op->value) + ")");
type              735 src/CodeGen_C.cpp     visit_binop(op->type, op->a, op->b, "+");
type              739 src/CodeGen_C.cpp     visit_binop(op->type, op->a, op->b, "-");
type              743 src/CodeGen_C.cpp     visit_binop(op->type, op->a, op->b, "*");
type              751 src/CodeGen_C.cpp         print_assignment(op->type, oss.str());
type              752 src/CodeGen_C.cpp     } else if (op->type.is_int()) {
type              755 src/CodeGen_C.cpp         visit_binop(op->type, op->a, op->b, "/");
type              764 src/CodeGen_C.cpp         print_assignment(op->type, oss.str());
type              765 src/CodeGen_C.cpp     } else if (op->type.is_int()) {
type              768 src/CodeGen_C.cpp         visit_binop(op->type, op->a, op->b, "%");
type              773 src/CodeGen_C.cpp     print_expr(Call::make(op->type, "max", {op->a, op->b}, Call::Extern));
type              777 src/CodeGen_C.cpp     print_expr(Call::make(op->type, "min", {op->a, op->b}, Call::Extern));
type              781 src/CodeGen_C.cpp     visit_binop(op->type, op->a, op->b, "==");
type              785 src/CodeGen_C.cpp     visit_binop(op->type, op->a, op->b, "!=");
type              789 src/CodeGen_C.cpp     visit_binop(op->type, op->a, op->b, "<");
type              793 src/CodeGen_C.cpp     visit_binop(op->type, op->a, op->b, "<=");
type              797 src/CodeGen_C.cpp     visit_binop(op->type, op->a, op->b, ">");
type              801 src/CodeGen_C.cpp     visit_binop(op->type, op->a, op->b, ">=");
type              805 src/CodeGen_C.cpp     visit_binop(op->type, op->a, op->b, "||");
type              809 src/CodeGen_C.cpp     visit_binop(op->type, op->a, op->b, "&&");
type              813 src/CodeGen_C.cpp     print_assignment(op->type, "!(" + print_expr(op->a) + ")");
type              817 src/CodeGen_C.cpp     if (op->type == Int(32)) {
type              820 src/CodeGen_C.cpp         print_assignment(op->type, "(" + print_type(op->type) + ")(" + std::to_string(op->value) + ")");
type              825 src/CodeGen_C.cpp     print_assignment(op->type, "(" + print_type(op->type) + ")(" + std::to_string(op->value) + ")");
type              916 src/CodeGen_C.cpp         rhs << print_reinterpret(op->type, op->args[0]);
type              948 src/CodeGen_C.cpp         stream << print_type(op->args[1].type(), AppendSpace)
type              972 src/CodeGen_C.cpp         rhs << print_expr(cast(op->type, select(a0 > 0, a0, -a0)));
type              979 src/CodeGen_C.cpp         internal_assert(op->type.is_handle());
type              981 src/CodeGen_C.cpp         if (op->type == type_of<struct halide_buffer_t *>() &&
type              993 src/CodeGen_C.cpp             rhs << "(" << print_type(op->type) << ")(&" << array_name << ")";
type             1011 src/CodeGen_C.cpp                 stream << "const " << print_type(op->args[i].type()) << " f_" << i << "; ";
type             1022 src/CodeGen_C.cpp             if (op->type.handle_type) {
type             1023 src/CodeGen_C.cpp                 rhs << "(" << print_type(op->type) << ")";
type             1032 src/CodeGen_C.cpp             Type t = op->args[i].type();
type             1098 src/CodeGen_C.cpp         internal_assert(base && base->type.is_handle());
type             1100 src/CodeGen_C.cpp             << "((" << print_type(op->type) << " *)" << print_name(base->name)
type             1129 src/CodeGen_C.cpp     print_assignment(op->type, rhs.str());
type             1134 src/CodeGen_C.cpp     Type t = op->type;
type             1137 src/CodeGen_C.cpp         allocations.get(op->name).type != t;
type             1142 src/CodeGen_C.cpp             << print_type(op->type)
type             1153 src/CodeGen_C.cpp     print_assignment(op->type, rhs.str());
type             1158 src/CodeGen_C.cpp     Type t = op->value.type();
type             1163 src/CodeGen_C.cpp         allocations.get(op->name).type != t;
type             1190 src/CodeGen_C.cpp     if (op->value.type().is_handle()) {
type             1194 src/CodeGen_C.cpp         stream << print_type(op->value.type())
type             1198 src/CodeGen_C.cpp         Expr new_var = Variable::make(op->value.type(), id_value);
type             1209 src/CodeGen_C.cpp     rhs << "(" << print_type(op->type) << ")"
type             1214 src/CodeGen_C.cpp     print_assignment(op->type, rhs.str());
type             1220 src/CodeGen_C.cpp     if (op->value.type().is_handle()) {
type             1224 src/CodeGen_C.cpp         stream << print_type(op->value.type())
type             1228 src/CodeGen_C.cpp         Expr new_var = Variable::make(op->value.type(), id_value);
type             1304 src/CodeGen_C.cpp         alloc.type = op->type;
type             1308 src/CodeGen_C.cpp         stream << print_type(op->type) << "*" << print_name(op->name) << " = (" << print_expr(op->new_expr) << ");\n";
type             1312 src/CodeGen_C.cpp             int64_t stack_bytes = constant_size * op->type.bytes();
type             1343 src/CodeGen_C.cpp               " * sizeof(" << print_type(op->type) << ")) > ((int64_t(1) << 31) - 1)))\n";
type             1368 src/CodeGen_C.cpp         alloc.type = op->type;
type             1372 src/CodeGen_C.cpp         stream << print_type(op->type) << ' ';
type             1381 src/CodeGen_C.cpp                    << print_type(op->type)
type             1385 src/CodeGen_C.cpp                    << print_type(op->type)
type              117 src/CodeGen_C.h         Type type;
type               88 src/CodeGen_GPU_Host.cpp             internal_assert(allocate->type == UInt(8) && allocate->extents.size() == 1);
type              299 src/CodeGen_GPU_Host.cpp                 } else if (closure_args[i].type.is_float()) {
type              301 src/CodeGen_GPU_Host.cpp                 } else if (closure_args[i].type.is_int()) {
type              393 src/CodeGen_GPU_Host.cpp             int size_bytes = (closure_args[i].is_buffer) ? 8 : closure_args[i].type.bytes();
type               97 src/CodeGen_Hexagon.cpp         uses_hvx = uses_hvx || op->type.is_vector();
type              100 src/CodeGen_Hexagon.cpp         uses_hvx = uses_hvx || op->type.is_vector();
type              106 src/CodeGen_Hexagon.cpp         uses_hvx = uses_hvx || op->type.is_vector();
type              163 src/CodeGen_Hexagon.cpp         for (int i = 1; i < op->type.lanes(); i++) {
type              166 src/CodeGen_Hexagon.cpp         predicate = Broadcast::make(condition, predicate.type().lanes());
type              168 src/CodeGen_Hexagon.cpp         expr = Load::make(op->type, op->name, index, op->image, op->param, predicate);
type             1198 src/CodeGen_Hexagon.cpp string type_suffix(Type type, bool signed_variants = true) {
type             1199 src/CodeGen_Hexagon.cpp     string prefix = type.is_vector() ? ".v" : ".";
type             1200 src/CodeGen_Hexagon.cpp     if (type.is_int() || !signed_variants) {
type             1201 src/CodeGen_Hexagon.cpp         switch (type.bits()) {
type             1206 src/CodeGen_Hexagon.cpp     } else if (type.is_uint()) {
type             1207 src/CodeGen_Hexagon.cpp         switch (type.bits()) {
type             1213 src/CodeGen_Hexagon.cpp     internal_error << "Unsupported HVX type: " << type << "\n";
type             1218 src/CodeGen_Hexagon.cpp     return type_suffix(a.type(), signed_variants);
type             1308 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type             1309 src/CodeGen_Hexagon.cpp         value = call_intrin(op->type,
type             1318 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type             1319 src/CodeGen_Hexagon.cpp         value = call_intrin(op->type,
type             1341 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type             1342 src/CodeGen_Hexagon.cpp         value = call_intrin(op->type,
type             1353 src/CodeGen_Hexagon.cpp         value = call_intrin(op->type,
type             1361 src/CodeGen_Hexagon.cpp             Type wide = op->type.with_bits(op->type.bits()*2);
type             1362 src/CodeGen_Hexagon.cpp             value = call_intrin(llvm_type_of(op->type),
type             1369 src/CodeGen_Hexagon.cpp                        << op->a.type() << "*" << op->b.type() << "\n"
type             1377 src/CodeGen_Hexagon.cpp     Type ty = a.type();
type             1402 src/CodeGen_Hexagon.cpp     Type ty = a.type();
type             1442 src/CodeGen_Hexagon.cpp         user_assert(op->type.lanes() % (native_vector_bits() * 2 / op->type.bits()) == 0)
type             1451 src/CodeGen_Hexagon.cpp         value = call_intrin(op->type, op->name, op->args);
type             1455 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type             1460 src/CodeGen_Hexagon.cpp             value = call_intrin(op->type, intrin, op->args, true /*maybe*/);
type             1468 src/CodeGen_Hexagon.cpp             value = call_intrin(op->type,
type             1487 src/CodeGen_Hexagon.cpp             value = call_intrin(op->type,
type             1499 src/CodeGen_Hexagon.cpp         if (op->args[0].type().is_vector()) {
type             1506 src/CodeGen_Hexagon.cpp             Expr equiv = -Cast::make(op->type, op->args[0]);
type             1523 src/CodeGen_Hexagon.cpp         args.push_back(codegen_buffer_pointer(codegen(op->args[0]), op->type, op->args[1]));
type             1525 src/CodeGen_Hexagon.cpp         Expr extent_0_bytes = op->args[2] * op->args[3] * op->type.bytes();
type             1534 src/CodeGen_Hexagon.cpp             Expr stride_1_bytes = op->args[5] * op->type.bytes();
type             1553 src/CodeGen_Hexagon.cpp     if (op->lanes * op->type.bits() <= 32) {
type             1559 src/CodeGen_Hexagon.cpp         if (target.has_feature(Target::HVX_v62) && (op->value.type().bits() == 8 || op->value.type().bits() == 16))
type             1562 src/CodeGen_Hexagon.cpp         value = call_intrin(op->type,
type             1569 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type             1570 src/CodeGen_Hexagon.cpp         value = call_intrin(op->type,
type             1576 src/CodeGen_Hexagon.cpp                 Call::make(op->type, Call::select_mask, {op->a > op->b, op->a, op->b}, Call::PureIntrinsic);
type             1586 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type             1587 src/CodeGen_Hexagon.cpp         value = call_intrin(op->type,
type             1593 src/CodeGen_Hexagon.cpp                 Call::make(op->type, Call::select_mask, {op->a > op->b, op->b, op->a}, Call::PureIntrinsic);
type             1603 src/CodeGen_Hexagon.cpp     internal_assert(op->condition.type().is_scalar()) << Expr(op) << "\n";
type             1605 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type             1607 src/CodeGen_Hexagon.cpp         value = codegen(Call::make(op->type, Call::if_then_else,
type             1616 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type             1617 src/CodeGen_Hexagon.cpp         value = call_intrin(eliminated_bool_type(op->type, op->a.type()),
type             1626 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type             1627 src/CodeGen_Hexagon.cpp         value = call_intrin(eliminated_bool_type(op->type, op->a.type()),
type             1636 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type             1646 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type             1656 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type             1665 src/CodeGen_Hexagon.cpp     if (op->type.is_vector()) {
type               68 src/CodeGen_Hexagon.h     int allocation_padding(Type type) const {
type               69 src/CodeGen_Hexagon.h         return CodeGen_Posix::allocation_padding(type) + native_vector_bits()/8;
type               25 src/CodeGen_Internal.cpp         res.push_back(llvm_type_of(&context, b.second.type)->getPointerTo());
type               41 src/CodeGen_Internal.cpp void pack_closure(llvm::StructType *type,
type               50 src/CodeGen_Internal.cpp         llvm::Type *t = type->elements()[idx];
type               51 src/CodeGen_Internal.cpp         Value *ptr = builder->CreateConstInBoundsGEP2_32(type, dst, 0, idx++);
type               62 src/CodeGen_Internal.cpp             llvm::Type *t = type->elements()[idx];
type               63 src/CodeGen_Internal.cpp             Value *ptr = builder->CreateConstInBoundsGEP2_32(type, dst, 0, idx++);
type               70 src/CodeGen_Internal.cpp             Value *ptr = builder->CreateConstInBoundsGEP2_32(type, dst, 0, idx++);
type               85 src/CodeGen_Internal.cpp                     llvm::StructType *type,
type               91 src/CodeGen_Internal.cpp         Value *ptr = builder->CreateConstInBoundsGEP2_32(type, src, 0, idx++);
type               98 src/CodeGen_Internal.cpp             Value *ptr = builder->CreateConstInBoundsGEP2_32(type, src, 0, idx++);
type              104 src/CodeGen_Internal.cpp             Value *ptr = builder->CreateConstInBoundsGEP2_32(type, src, 0, idx++);
type              218 src/CodeGen_Internal.cpp     internal_assert(a.type() == b.type());
type              221 src/CodeGen_Internal.cpp     Expr q = Call::make(a.type(), Call::div_round_to_zero, {a, b}, Call::PureIntrinsic);
type              222 src/CodeGen_Internal.cpp     if (a.type().is_int()) {
type              239 src/CodeGen_Internal.cpp         Expr bs = b >> (a.type().bits() - 1);
type              240 src/CodeGen_Internal.cpp         Expr rs = r >> (a.type().bits() - 1);
type              249 src/CodeGen_Internal.cpp     internal_assert(a.type() == b.type());
type              252 src/CodeGen_Internal.cpp     Expr r = Call::make(a.type(), Call::mod_round_to_zero, {a, b}, Call::PureIntrinsic);
type              253 src/CodeGen_Internal.cpp     if (a.type().is_int()) {
type              261 src/CodeGen_Internal.cpp         Expr sign_mask = r >> (a.type().bits()-1);
type              285 src/CodeGen_Internal.cpp             Expr unpredicated_load = Load::make(op->type, op->name, index, op->image, op->param,
type              286 src/CodeGen_Internal.cpp                                                 const_true(op->type.lanes()));
type              287 src/CodeGen_Internal.cpp             expr = Call::make(op->type, Call::if_then_else, {scalar_pred->value, unpredicated_load, make_zero(op->type)},
type              291 src/CodeGen_Internal.cpp             Expr index_var = Variable::make(index.type(), index_name);
type              293 src/CodeGen_Internal.cpp             Expr predicate_var = Variable::make(predicate.type(), predicate_name);
type              297 src/CodeGen_Internal.cpp             for (int i = 0; i < op->type.lanes(); i++) {
type              300 src/CodeGen_Internal.cpp                 Expr unpredicated_load = Load::make(op->type.element_of(), op->name, idx_i, op->image, op->param,
type              302 src/CodeGen_Internal.cpp                 lanes.push_back(Call::make(op->type.element_of(), Call::if_then_else, {pred_i, unpredicated_load,
type              303 src/CodeGen_Internal.cpp                                 make_zero(unpredicated_load.type())}, Call::PureIntrinsic));
type              323 src/CodeGen_Internal.cpp             Stmt unpredicated_store = Store::make(op->name, value, index, op->param, const_true(value.type().lanes()));
type              327 src/CodeGen_Internal.cpp             Expr value_var = Variable::make(value.type(), value_name);
type              329 src/CodeGen_Internal.cpp             Expr index_var = Variable::make(index.type(), index_name);
type              331 src/CodeGen_Internal.cpp             Expr predicate_var = Variable::make(predicate.type(), predicate_name);
type              334 src/CodeGen_Internal.cpp             for (int i = 0; i < predicate.type().lanes(); i++) {
type               30 src/CodeGen_Internal.h void pack_closure(llvm::StructType *type,
type               43 src/CodeGen_Internal.h                     llvm::StructType *type,
type              461 src/CodeGen_LLVM.cpp                 mangle_args.push_back(ExternFuncArgument(make_zero(arg.type)));
type              572 src/CodeGen_LLVM.cpp             arg_types[i] = llvm_type_of(args[i].type);
type              795 src/CodeGen_LLVM.cpp         ConstantInt::get(i8_t, buf.type().code()),
type              796 src/CodeGen_LLVM.cpp         ConstantInt::get(i8_t, buf.type().bits()),
type              797 src/CodeGen_LLVM.cpp         ConstantInt::get(i16_t, buf.type().lanes())
type              847 src/CodeGen_LLVM.cpp     internal_assert(!e.type().is_handle()) << "Should never see Handle types here.";
type              915 src/CodeGen_LLVM.cpp             ConstantInt::get(i8_t, args[arg].type.code()),
type              916 src/CodeGen_LLVM.cpp             ConstantInt::get(i8_t, args[arg].type.bits()),
type              919 src/CodeGen_LLVM.cpp         Constant *type = ConstantStruct::get(type_t_type, type_fields);
type              924 src/CodeGen_LLVM.cpp         if (args[arg].type.is_handle()) {
type              933 src/CodeGen_LLVM.cpp             type,
type             1091 src/CodeGen_LLVM.cpp     debug(4) << "Codegen: " << e.type() << ", " << e << "\n";
type             1106 src/CodeGen_LLVM.cpp     value = ConstantInt::getSigned(llvm_type_of(op->type), op->value);
type             1110 src/CodeGen_LLVM.cpp     value = ConstantInt::get(llvm_type_of(op->type), op->value);
type             1114 src/CodeGen_LLVM.cpp     value = ConstantFP::get(llvm_type_of(op->type), op->value);
type             1122 src/CodeGen_LLVM.cpp     Halide::Type src = op->value.type();
type             1123 src/CodeGen_LLVM.cpp     Halide::Type dst = op->type;
type             1169 src/CodeGen_LLVM.cpp     if (op->type.is_float()) {
type             1171 src/CodeGen_LLVM.cpp     } else if (op->type.is_int() && op->type.bits() >= 32) {
type             1181 src/CodeGen_LLVM.cpp     if (op->type.is_float()) {
type             1183 src/CodeGen_LLVM.cpp     } else if (op->type.is_int() && op->type.bits() >= 32) {
type             1193 src/CodeGen_LLVM.cpp     if (op->type.is_float()) {
type             1195 src/CodeGen_LLVM.cpp     } else if (op->type.is_int() && op->type.bits() >= 32) {
type             1205 src/CodeGen_LLVM.cpp     Type ty = a.type();
type             1226 src/CodeGen_LLVM.cpp     if (op->type.is_float()) {
type             1229 src/CodeGen_LLVM.cpp                (op->type.is_int() || op->type.is_uint())) {
type             1232 src/CodeGen_LLVM.cpp                op->type.is_int() &&
type             1233 src/CodeGen_LLVM.cpp                (op->type.bits() == 8 || op->type.bits() == 16 || op->type.bits() == 32) &&
type             1235 src/CodeGen_LLVM.cpp                ((op->type.bits() > 8 && *const_int_divisor < 256) || *const_int_divisor < 128)) {
type             1238 src/CodeGen_LLVM.cpp         if (op->type.bits() == 32) {
type             1241 src/CodeGen_LLVM.cpp         } else if (op->type.bits() == 16) {
type             1252 src/CodeGen_LLVM.cpp         Expr sign = num >> make_const(op->type, op->type.bits() - 1);
type             1255 src/CodeGen_LLVM.cpp         num = cast(num.type().with_code(Type::UInt), num);
type             1260 src/CodeGen_LLVM.cpp         Expr mult = make_const(num.type(), multiplier);
type             1269 src/CodeGen_LLVM.cpp                op->type.is_uint() &&
type             1270 src/CodeGen_LLVM.cpp                (op->type.bits() == 8 || op->type.bits() == 16 || op->type.bits() == 32) &&
type             1274 src/CodeGen_LLVM.cpp         if (op->type.bits() == 32) {
type             1278 src/CodeGen_LLVM.cpp         } else if (op->type.bits() == 16) {
type             1293 src/CodeGen_LLVM.cpp         Expr mult = make_const(num.type(), multiplier);
type             1302 src/CodeGen_LLVM.cpp                 val = val >> make_const(op->type, shift);
type             1318 src/CodeGen_LLVM.cpp     if (op->type.is_float()) {
type             1323 src/CodeGen_LLVM.cpp                op->type.is_int() &&
type             1324 src/CodeGen_LLVM.cpp                (op->type.bits() == 8 || op->type.bits() == 16 || op->type.bits() == 32) &&
type             1326 src/CodeGen_LLVM.cpp                ((op->type.bits() > 8 && *const_int_divisor < 256) || *const_int_divisor < 128)) {
type             1330 src/CodeGen_LLVM.cpp                op->type.is_uint() &&
type             1331 src/CodeGen_LLVM.cpp                (op->type.bits() == 8 || op->type.bits() == 16 || op->type.bits() == 32) &&
type             1345 src/CodeGen_LLVM.cpp     Expr a = Variable::make(op->a.type(), a_name);
type             1346 src/CodeGen_LLVM.cpp     Expr b = Variable::make(op->b.type(), b_name);
type             1355 src/CodeGen_LLVM.cpp     Expr a = Variable::make(op->a.type(), a_name);
type             1356 src/CodeGen_LLVM.cpp     Expr b = Variable::make(op->b.type(), b_name);
type             1365 src/CodeGen_LLVM.cpp     Halide::Type t = op->a.type();
type             1376 src/CodeGen_LLVM.cpp     Halide::Type t = op->a.type();
type             1388 src/CodeGen_LLVM.cpp     Halide::Type t = op->a.type();
type             1401 src/CodeGen_LLVM.cpp     Halide::Type t = op->a.type();
type             1414 src/CodeGen_LLVM.cpp     Halide::Type t = op->a.type();
type             1427 src/CodeGen_LLVM.cpp     Halide::Type t = op->a.type();
type             1451 src/CodeGen_LLVM.cpp     if (op->type == Int(32)) {
type             1488 src/CodeGen_LLVM.cpp Value *CodeGen_LLVM::codegen_buffer_pointer(string buffer, Halide::Type type, Expr index) {
type             1491 src/CodeGen_LLVM.cpp     return codegen_buffer_pointer(base_address, type, index);
type             1494 src/CodeGen_LLVM.cpp Value *CodeGen_LLVM::codegen_buffer_pointer(Value *base_address, Halide::Type type, Expr index) {
type             1502 src/CodeGen_LLVM.cpp     if (type.is_handle()) {
type             1503 src/CodeGen_LLVM.cpp         return codegen_buffer_pointer(base_address, UInt(64, type.lanes()), index);
type             1505 src/CodeGen_LLVM.cpp         return codegen_buffer_pointer(base_address, type, codegen(index));
type             1509 src/CodeGen_LLVM.cpp Value *CodeGen_LLVM::codegen_buffer_pointer(string buffer, Halide::Type type, Value *index) {
type             1512 src/CodeGen_LLVM.cpp     return codegen_buffer_pointer(base_address, type, index);
type             1515 src/CodeGen_LLVM.cpp Value *CodeGen_LLVM::codegen_buffer_pointer(Value *base_address, Halide::Type type, Value *index) {
type             1519 src/CodeGen_LLVM.cpp     llvm::Type *load_type = llvm_type_of(type)->getPointerTo(address_space);
type             1617 src/CodeGen_LLVM.cpp     if (op->type.is_handle()) {
type             1618 src/CodeGen_LLVM.cpp         codegen(reinterpret(op->type, Load::make(UInt(64, op->type.lanes()), op->name,
type             1630 src/CodeGen_LLVM.cpp     if (op->type.is_scalar()) {
type             1632 src/CodeGen_LLVM.cpp         Value *ptr = codegen_buffer_pointer(op->name, op->type, op->index);
type             1633 src/CodeGen_LLVM.cpp         LoadInst *load = builder->CreateAlignedLoad(ptr, op->type.bytes());
type             1645 src/CodeGen_LLVM.cpp             Expr stride_a = make_one(base_a.type());
type             1646 src/CodeGen_LLVM.cpp             Expr stride_b = make_one(base_b.type());
type             1676 src/CodeGen_LLVM.cpp             Expr load_a = Load::make(op->type, op->name, ramp_a, op->image, op->param, op->predicate);
type             1677 src/CodeGen_LLVM.cpp             Expr load_b = Load::make(op->type, op->name, ramp_b, op->image, op->param, op->predicate);
type             1694 src/CodeGen_LLVM.cpp             Expr flipped_stride = make_one(flipped_base.type());
type             1696 src/CodeGen_LLVM.cpp             Expr flipped_load = Load::make(op->type, op->name, flipped_index, op->image, op->param, op->predicate);
type             1708 src/CodeGen_LLVM.cpp             Value *ptr = codegen_buffer_pointer(op->name, op->type.element_of(), ramp->base);
type             1710 src/CodeGen_LLVM.cpp             value = UndefValue::get(llvm_type_of(op->type));
type             1724 src/CodeGen_LLVM.cpp             Value *vec = UndefValue::get(llvm_type_of(op->type));
type             1725 src/CodeGen_LLVM.cpp             for (int i = 0; i < op->type.lanes(); i++) {
type             1727 src/CodeGen_LLVM.cpp                 Value *ptr = codegen_buffer_pointer(op->name, op->type.element_of(), idx);
type             1736 src/CodeGen_LLVM.cpp             Value *vec = UndefValue::get(llvm_type_of(op->type));
type             1737 src/CodeGen_LLVM.cpp             for (int i = 0; i < op->type.lanes(); i++) {
type             1739 src/CodeGen_LLVM.cpp                 Value *ptr = codegen_buffer_pointer(op->name, op->type.element_of(), idx);
type             1757 src/CodeGen_LLVM.cpp         Expr ramp = Ramp::make(make_zero(op->base.type()), op->stride, op->lanes);
type             1765 src/CodeGen_LLVM.cpp         value = UndefValue::get(llvm_type_of(op->type));
type             1766 src/CodeGen_LLVM.cpp         for (int i = 0; i < op->type.lanes(); i++) {
type             1768 src/CodeGen_LLVM.cpp                 if (op->type.is_float()) {
type             1770 src/CodeGen_LLVM.cpp                 } else if (op->type.is_int() && op->type.bits() >= 32) {
type             1795 src/CodeGen_LLVM.cpp     if (e.type().is_vector()) {
type             1876 src/CodeGen_LLVM.cpp     llvm::Type *result_type = llvm_type_of(e.type());
type             1880 src/CodeGen_LLVM.cpp     for (int i = 0; i < e.type().lanes(); i++) {
type             1892 src/CodeGen_LLVM.cpp         Halide::Type value_type = op->value.type();
type             1925 src/CodeGen_LLVM.cpp             Expr slice_stride = make_one(slice_base.type());
type             1937 src/CodeGen_LLVM.cpp         Type value_type = op->value.type().element_of();
type             1941 src/CodeGen_LLVM.cpp         for (int i = 0; i < op->index.type().lanes(); i++) {
type             1975 src/CodeGen_LLVM.cpp     int alignment = load->type.bytes(); // The size of a single element
type             2006 src/CodeGen_LLVM.cpp     int load_lanes = load->type.lanes();
type             2007 src/CodeGen_LLVM.cpp     int native_lanes = native_bits / load->type.bits();
type             2012 src/CodeGen_LLVM.cpp         Expr slice_stride = make_one(slice_base.type());
type             2014 src/CodeGen_LLVM.cpp         llvm::Type *slice_type = VectorType::get(llvm_type_of(load->type.element_of()), slice_lanes);
type             2015 src/CodeGen_LLVM.cpp         Value *elt_ptr = codegen_buffer_pointer(load->name, load->type.element_of(), slice_base);
type             2051 src/CodeGen_LLVM.cpp         Expr flipped_stride = make_one(flipped_base.type());
type             2053 src/CodeGen_LLVM.cpp         Expr flipped_load = Load::make(op->type, op->name, flipped_index, op->image,
type             2054 src/CodeGen_LLVM.cpp                                        op->param, const_true(op->type.lanes()));
type             2059 src/CodeGen_LLVM.cpp         Expr load_expr = Load::make(op->type, op->name, op->index, op->image,
type             2060 src/CodeGen_LLVM.cpp                                     op->param, const_true(op->type.lanes()));
type             2062 src/CodeGen_LLVM.cpp         Expr pred_load = Call::make(load_expr.type(),
type             2064 src/CodeGen_LLVM.cpp                                     {op->predicate, load_expr, make_zero(load_expr.type())},
type             2115 src/CodeGen_LLVM.cpp         Type dst = op->type;
type             2116 src/CodeGen_LLVM.cpp         Type src = op->args[0].type();
type             2157 src/CodeGen_LLVM.cpp         if (op->type.is_int()) {
type             2167 src/CodeGen_LLVM.cpp         Type t = op->args[0].type();
type             2170 src/CodeGen_LLVM.cpp             find_vector_runtime_function(name, op->type.lanes()).first;
type             2173 src/CodeGen_LLVM.cpp             codegen(Call::make(op->type, name, op->args, Call::Extern));
type             2177 src/CodeGen_LLVM.cpp             Expr x = Variable::make(op->args[0].type(), x_name);
type             2188 src/CodeGen_LLVM.cpp         Type t = a.type();
type             2200 src/CodeGen_LLVM.cpp             find_vector_runtime_function(name, op->type.lanes()).first;
type             2203 src/CodeGen_LLVM.cpp             codegen(Call::make(op->type, name, op->args, Call::Extern));
type             2208 src/CodeGen_LLVM.cpp             Expr a_var = Variable::make(op->args[0].type(), a_name);
type             2209 src/CodeGen_LLVM.cpp             Expr b_var = Variable::make(op->args[1].type(), b_name);
type             2218 src/CodeGen_LLVM.cpp         if (op->type.is_int()) {
type             2220 src/CodeGen_LLVM.cpp         } else if (op->type.is_uint()) {
type             2229 src/CodeGen_LLVM.cpp         if (op->type.is_int()) {
type             2231 src/CodeGen_LLVM.cpp         } else if (op->type.is_uint()) {
type             2242 src/CodeGen_LLVM.cpp         arg_type[0] = llvm_type_of(op->args[0].type());
type             2250 src/CodeGen_LLVM.cpp         arg_type[0] = llvm_type_of(op->args[0].type());
type             2268 src/CodeGen_LLVM.cpp         if (cond.type().is_vector()) {
type             2296 src/CodeGen_LLVM.cpp         if (op->type.is_vector()) {
type             2303 src/CodeGen_LLVM.cpp             value = ConstantPointerNull::get(dyn_cast<PointerType>(llvm_type_of(op->type)));
type             2337 src/CodeGen_LLVM.cpp         if (op->type.is_vector()) {
type             2344 src/CodeGen_LLVM.cpp                 Type t = op->args[i].type();
type             2391 src/CodeGen_LLVM.cpp                 Type t = op->args[i].type();
type             2445 src/CodeGen_LLVM.cpp         if (op->type == type_of<struct halide_buffer_t *>() &&
type             2451 src/CodeGen_LLVM.cpp             if (op->type == type_of<struct halide_dimension_t *>()) {
type             2463 src/CodeGen_LLVM.cpp         internal_assert(arg.type().is_handle());
type             2537 src/CodeGen_LLVM.cpp                 llvm::Type *result_type = llvm_type_of(op->type);
type             2622 src/CodeGen_LLVM.cpp         args.push_back(codegen_buffer_pointer(codegen(op->args[0]), op->type, op->args[1]));
type             2677 src/CodeGen_LLVM.cpp             name = cplusplus_function_mangled_name(name, namespaces, op->type, mangle_args, get_target());
type             2690 src/CodeGen_LLVM.cpp         llvm::Type *result_type = llvm_type_of(op->type);
type             2738 src/CodeGen_LLVM.cpp                 if (halide_arg.type().is_handle()) {
type             2744 src/CodeGen_LLVM.cpp                     if (halide_arg.type().is_vector() &&
type             2746 src/CodeGen_LLVM.cpp                         t = VectorType::get(t, halide_arg.type().lanes());
type             2758 src/CodeGen_LLVM.cpp         if (op->type.is_scalar()) {
type             2770 src/CodeGen_LLVM.cpp                 find_vector_runtime_function(name, op->type.lanes());
type             2775 src/CodeGen_LLVM.cpp                 value = call_intrin(llvm_type_of(op->type), w,
type             2782 src/CodeGen_LLVM.cpp                 for (int i = 0; i < op->type.lanes(); i++) {
type             2812 src/CodeGen_LLVM.cpp     if (op->value.type() == Int(32)) {
type             2816 src/CodeGen_LLVM.cpp     if (op->value.type() == Int(32)) {
type             2825 src/CodeGen_LLVM.cpp     if (op->value.type() == Int(32)) {
type             2831 src/CodeGen_LLVM.cpp     if (op->value.type() == Int(32)) {
type             2859 src/CodeGen_LLVM.cpp     llvm::Type *type = ArrayType::get(i8_t, data.size());
type             2860 src/CodeGen_LLVM.cpp     GlobalVariable *global = new GlobalVariable(*module, type,
type             2869 src/CodeGen_LLVM.cpp     Constant *ptr = ConstantExpr::getInBoundsGetElementPtr(type, global, zeros);
type             2875 src/CodeGen_LLVM.cpp     internal_assert(!message.defined() || message.type() == Int(32))
type             3078 src/CodeGen_LLVM.cpp     if (op->value.type().is_handle()) {
type             3079 src/CodeGen_LLVM.cpp         Expr v = reinterpret(UInt(64, op->value.type().lanes()), op->value);
type             3090 src/CodeGen_LLVM.cpp     Halide::Type value_type = op->value.type();
type             3135 src/CodeGen_LLVM.cpp                 Expr slice_stride = make_one(slice_base.type());
type             3246 src/CodeGen_LLVM.cpp     if (op->type.is_scalar()) {
type              285 src/CodeGen_LLVM.h     llvm::Value *codegen_buffer_pointer(std::string buffer, Type type, llvm::Value *index);
type              286 src/CodeGen_LLVM.h     llvm::Value *codegen_buffer_pointer(std::string buffer, Type type, Expr index);
type              287 src/CodeGen_LLVM.h     llvm::Value *codegen_buffer_pointer(llvm::Value *base_address, Type type, Expr index);
type              288 src/CodeGen_LLVM.h     llvm::Value *codegen_buffer_pointer(llvm::Value *base_address, Type type, llvm::Value *index);
type              388 src/CodeGen_LLVM.h     llvm::Value *create_alloca_at_entry(llvm::Type *type, int n,
type               23 src/CodeGen_Metal_Dev.cpp string CodeGen_Metal_Dev::CodeGen_Metal_C::print_type_maybe_storage(Type type, bool storage, AppendSpaceIfNeeded space) {
type               27 src/CodeGen_Metal_Dev.cpp     if (storage && type.lanes() != 1) {
type               30 src/CodeGen_Metal_Dev.cpp     if (type.is_float()) {
type               31 src/CodeGen_Metal_Dev.cpp         if (type.bits() == 16) {
type               33 src/CodeGen_Metal_Dev.cpp         } else if (type.bits() == 32) {
type               35 src/CodeGen_Metal_Dev.cpp         } else if (type.bits() == 64) {
type               38 src/CodeGen_Metal_Dev.cpp             user_error << "Can't represent a float with this many bits in Metal C: " << type << "\n";
type               42 src/CodeGen_Metal_Dev.cpp         if (type.is_uint() && type.bits() > 1) oss << 'u';
type               43 src/CodeGen_Metal_Dev.cpp         switch (type.bits()) {
type               60 src/CodeGen_Metal_Dev.cpp             user_error << "Can't represent an integer with this many bits in Metal C: " << type << "\n";
type               63 src/CodeGen_Metal_Dev.cpp     if (type.lanes() != 1) {
type               64 src/CodeGen_Metal_Dev.cpp         switch (type.lanes()) {
type               70 src/CodeGen_Metal_Dev.cpp             oss << type.lanes();
type               73 src/CodeGen_Metal_Dev.cpp             user_error <<  "Unsupported vector width in Metal C: " << type << "\n";
type               82 src/CodeGen_Metal_Dev.cpp string CodeGen_Metal_Dev::CodeGen_Metal_C::print_type(Type type, AppendSpaceIfNeeded space) {
type               83 src/CodeGen_Metal_Dev.cpp     return print_type_maybe_storage(type, false, space);
type               86 src/CodeGen_Metal_Dev.cpp string CodeGen_Metal_Dev::CodeGen_Metal_C::print_storage_type(Type type) {
type               87 src/CodeGen_Metal_Dev.cpp     return print_type_maybe_storage(type, true, DoNotAppendSpace);
type               90 src/CodeGen_Metal_Dev.cpp string CodeGen_Metal_Dev::CodeGen_Metal_C::print_reinterpret(Type type, Expr e) {
type               96 src/CodeGen_Metal_Dev.cpp     stream << print_type(e.type()) << " " << temp << " = " << expr << ";\n";
type               97 src/CodeGen_Metal_Dev.cpp     oss << "*(" << print_type(type) << " thread *)(&" << temp << ")";
type              132 src/CodeGen_Metal_Dev.cpp         print_assignment(op->type, oss.str());
type              133 src/CodeGen_Metal_Dev.cpp     } else if (op->type.is_int()) {
type              136 src/CodeGen_Metal_Dev.cpp         visit_binop(op->type, op->a, op->b, "/");
type              145 src/CodeGen_Metal_Dev.cpp         print_assignment(op->type, oss.str());
type              146 src/CodeGen_Metal_Dev.cpp     } else if (op->type.is_int()) {
type              149 src/CodeGen_Metal_Dev.cpp         visit_binop(op->type, op->a, op->b, "%");
type              178 src/CodeGen_Metal_Dev.cpp         << print_type(op->type.with_lanes(op->lanes)) << "(0";
type              184 src/CodeGen_Metal_Dev.cpp     print_assignment(op->type.with_lanes(op->lanes), rhs.str());
type              191 src/CodeGen_Metal_Dev.cpp     rhs << print_type(op->type.with_lanes(op->lanes)) << "(" << id_value << ")";
type              193 src/CodeGen_Metal_Dev.cpp     print_assignment(op->type.with_lanes(op->lanes), rhs.str());
type              224 src/CodeGen_Metal_Dev.cpp         internal_assert(op->type.is_vector());
type              228 src/CodeGen_Metal_Dev.cpp         rhs << "*(" << get_memory_space(op->name) << " " << print_storage_type(op->type) << " *)(("
type              229 src/CodeGen_Metal_Dev.cpp             << get_memory_space(op->name) << " " << print_type(op->type.element_of()) << " *)" << print_name(op->name)
type              231 src/CodeGen_Metal_Dev.cpp         print_assignment(op->type, rhs.str());
type              240 src/CodeGen_Metal_Dev.cpp                               allocations.get(op->name).type == op->type);
type              244 src/CodeGen_Metal_Dev.cpp             << print_storage_type(op->type) << " *)"
type              258 src/CodeGen_Metal_Dev.cpp     if (op->index.type().is_vector()) {
type              260 src/CodeGen_Metal_Dev.cpp         internal_assert(op->type.is_vector());
type              269 src/CodeGen_Metal_Dev.cpp         stream << print_type(op->type)
type              272 src/CodeGen_Metal_Dev.cpp         for (int i = 0; i < op->type.lanes(); ++i) {
type              277 src/CodeGen_Metal_Dev.cpp                 << print_type(op->type.element_of()) << "*)"
type              282 src/CodeGen_Metal_Dev.cpp         print_assignment(op->type, rhs.str());
type              290 src/CodeGen_Metal_Dev.cpp     Type t = op->value.type();
type              295 src/CodeGen_Metal_Dev.cpp         internal_assert(op->value.type().is_vector());
type              302 src/CodeGen_Metal_Dev.cpp     } else if (op->index.type().is_vector()) {
type              319 src/CodeGen_Metal_Dev.cpp                                   allocations.get(op->name).type == t);
type              347 src/CodeGen_Metal_Dev.cpp     rhs << "(" << print_type(op->type) << ")"
type              352 src/CodeGen_Metal_Dev.cpp     print_assignment(op->type, rhs.str());
type              376 src/CodeGen_Metal_Dev.cpp         stream << print_storage_type(op->type) << ' '
type              382 src/CodeGen_Metal_Dev.cpp         alloc.type = op->type;
type              407 src/CodeGen_Metal_Dev.cpp     print_assignment(op->type, print_type(op->type) + "(" + print_expr(op->value) + ")");
type              500 src/CodeGen_Metal_Dev.cpp             stream << print_type(args[i].type)
type              525 src/CodeGen_Metal_Dev.cpp             stream << print_storage_type(args[i].type) << " *"
type              528 src/CodeGen_Metal_Dev.cpp             alloc.type = args[i].type;
type              541 src/CodeGen_Metal_Dev.cpp             stream << print_type(args[i].type)
type               54 src/CodeGen_Metal_Dev.h         std::string print_type(Type type, AppendSpaceIfNeeded space_option = DoNotAppendSpace);
type               62 src/CodeGen_Metal_Dev.h         std::string print_storage_type(Type type);
type               63 src/CodeGen_Metal_Dev.h         std::string print_type_maybe_storage(Type type, bool storage, AppendSpaceIfNeeded space);
type               64 src/CodeGen_Metal_Dev.h         std::string print_reinterpret(Type type, Expr e);
type               23 src/CodeGen_OpenCL_Dev.cpp string CodeGen_OpenCL_Dev::CodeGen_OpenCL_C::print_type(Type type, AppendSpaceIfNeeded space) {
type               25 src/CodeGen_OpenCL_Dev.cpp     if (type.is_float()) {
type               26 src/CodeGen_OpenCL_Dev.cpp         if (type.bits() == 16) {
type               28 src/CodeGen_OpenCL_Dev.cpp         } else if (type.bits() == 32) {
type               30 src/CodeGen_OpenCL_Dev.cpp         } else if (type.bits() == 64) {
type               33 src/CodeGen_OpenCL_Dev.cpp             user_error << "Can't represent a float with this many bits in OpenCL C: " << type << "\n";
type               37 src/CodeGen_OpenCL_Dev.cpp         if (type.is_uint() && type.bits() > 1) oss << 'u';
type               38 src/CodeGen_OpenCL_Dev.cpp         switch (type.bits()) {
type               40 src/CodeGen_OpenCL_Dev.cpp             internal_assert(type.lanes() == 1) << "Encountered vector of bool\n";
type               56 src/CodeGen_OpenCL_Dev.cpp             user_error << "Can't represent an integer with this many bits in OpenCL C: " << type << "\n";
type               59 src/CodeGen_OpenCL_Dev.cpp     if (type.lanes() != 1) {
type               60 src/CodeGen_OpenCL_Dev.cpp         switch (type.lanes()) {
type               66 src/CodeGen_OpenCL_Dev.cpp             oss << type.lanes();
type               69 src/CodeGen_OpenCL_Dev.cpp             user_error <<  "Unsupported vector width in OpenCL C: " << type << "\n";
type               78 src/CodeGen_OpenCL_Dev.cpp string CodeGen_OpenCL_Dev::CodeGen_OpenCL_C::print_reinterpret(Type type, Expr e) {
type               80 src/CodeGen_OpenCL_Dev.cpp     oss << "as_" << print_type(type) << "(" << print_expr(e) << ")";
type              135 src/CodeGen_OpenCL_Dev.cpp         << print_type(op->type.with_lanes(op->lanes)) << ")(0";
type              141 src/CodeGen_OpenCL_Dev.cpp     print_assignment(op->type.with_lanes(op->lanes), rhs.str());
type              147 src/CodeGen_OpenCL_Dev.cpp     print_assignment(op->type.with_lanes(op->lanes), id_value);
type              177 src/CodeGen_OpenCL_Dev.cpp         if (op->args[0].type().is_vector()) {
type              185 src/CodeGen_OpenCL_Dev.cpp             Expr equiv = -Cast::make(op->type, op->args[0]);
type              190 src/CodeGen_OpenCL_Dev.cpp         Expr equiv = Cast::make(op->type, op->args[0]);
type              202 src/CodeGen_OpenCL_Dev.cpp         print_assignment(op->type, rhs.str());
type              204 src/CodeGen_OpenCL_Dev.cpp         if (op->type.is_float()) {
type              206 src/CodeGen_OpenCL_Dev.cpp             rhs << "abs_f" << op->type.bits() << "(" << print_expr(op->args[0]) << ")";
type              207 src/CodeGen_OpenCL_Dev.cpp             print_assignment(op->type, rhs.str());
type              211 src/CodeGen_OpenCL_Dev.cpp             print_assignment(op->type, rhs.str());
type              216 src/CodeGen_OpenCL_Dev.cpp         print_assignment(op->type, rhs.str());
type              228 src/CodeGen_OpenCL_Dev.cpp         internal_assert(op->type.is_vector());
type              232 src/CodeGen_OpenCL_Dev.cpp         rhs << "vload" << op->type.lanes()
type              234 src/CodeGen_OpenCL_Dev.cpp             << print_type(op->type.element_of()) << "*)"
type              237 src/CodeGen_OpenCL_Dev.cpp         print_assignment(op->type, rhs.str());
type              245 src/CodeGen_OpenCL_Dev.cpp                               allocations.get(op->name).type == op->type);
type              249 src/CodeGen_OpenCL_Dev.cpp             << print_type(op->type) << " *)"
type              263 src/CodeGen_OpenCL_Dev.cpp     if (op->index.type().is_vector()) {
type              265 src/CodeGen_OpenCL_Dev.cpp         internal_assert(op->type.is_vector());
type              271 src/CodeGen_OpenCL_Dev.cpp         stream << print_type(op->type)
type              274 src/CodeGen_OpenCL_Dev.cpp         for (int i = 0; i < op->type.lanes(); ++i) {
type              279 src/CodeGen_OpenCL_Dev.cpp                 << print_type(op->type.element_of()) << "*)"
type              284 src/CodeGen_OpenCL_Dev.cpp         print_assignment(op->type, rhs.str());
type              292 src/CodeGen_OpenCL_Dev.cpp     Type t = op->value.type();
type              297 src/CodeGen_OpenCL_Dev.cpp         internal_assert(op->value.type().is_vector());
type              308 src/CodeGen_OpenCL_Dev.cpp     } else if (op->index.type().is_vector()) {
type              325 src/CodeGen_OpenCL_Dev.cpp                                   allocations.get(op->name).type == t);
type              352 src/CodeGen_OpenCL_Dev.cpp     visit_binop(eliminated_bool_type(op->type, op->a.type()), op->a, op->b, "==");
type              356 src/CodeGen_OpenCL_Dev.cpp     visit_binop(eliminated_bool_type(op->type, op->a.type()), op->a, op->b, "!=");
type              360 src/CodeGen_OpenCL_Dev.cpp     visit_binop(eliminated_bool_type(op->type, op->a.type()), op->a, op->b, "<");
type              364 src/CodeGen_OpenCL_Dev.cpp     visit_binop(eliminated_bool_type(op->type, op->a.type()), op->a, op->b, "<=");
type              368 src/CodeGen_OpenCL_Dev.cpp     visit_binop(eliminated_bool_type(op->type, op->a.type()), op->a, op->b, ">");
type              372 src/CodeGen_OpenCL_Dev.cpp     visit_binop(eliminated_bool_type(op->type, op->a.type()), op->a, op->b, ">=");
type              376 src/CodeGen_OpenCL_Dev.cpp     if (op->type.is_vector()) {
type              377 src/CodeGen_OpenCL_Dev.cpp         print_assignment(op->type, "convert_" + print_type(op->type) + "(" + print_expr(op->value) + ")");
type              384 src/CodeGen_OpenCL_Dev.cpp     internal_assert(op->condition.type().is_scalar());
type              411 src/CodeGen_OpenCL_Dev.cpp         stream << print_type(op->type) << ' '
type              417 src/CodeGen_OpenCL_Dev.cpp         alloc.type = op->type;
type              448 src/CodeGen_OpenCL_Dev.cpp         int op_lanes = op->type.lanes();
type              450 src/CodeGen_OpenCL_Dev.cpp         int arg_lanes = op->vectors[0].type().lanes();
type              454 src/CodeGen_OpenCL_Dev.cpp             print_assignment(op->type, print_expr(op->vectors[0]));
type              458 src/CodeGen_OpenCL_Dev.cpp             internal_assert(op->vectors[1].type().lanes() == arg_lanes);
type              464 src/CodeGen_OpenCL_Dev.cpp             stream << print_type(op->type) << " " << id << ";\n";
type              472 src/CodeGen_OpenCL_Dev.cpp             int dest_lanes = op->type.lanes();
type              477 src/CodeGen_OpenCL_Dev.cpp                 internal_assert(op->vectors[i].type().lanes() == arg_lanes);
type              483 src/CodeGen_OpenCL_Dev.cpp             stream << print_type(op->type) << " " << id;
type              484 src/CodeGen_OpenCL_Dev.cpp             stream << " = (" << print_type(op->type) << ")(";
type              593 src/CodeGen_OpenCL_Dev.cpp             stream << print_type(args[i].type) << " *"
type              597 src/CodeGen_OpenCL_Dev.cpp             alloc.type = args[i].type;
type              600 src/CodeGen_OpenCL_Dev.cpp             Type t = args[i].type;
type               54 src/CodeGen_OpenCL_Dev.h         std::string print_type(Type type, AppendSpaceIfNeeded append_space = DoNotAppendSpace);
type               55 src/CodeGen_OpenCL_Dev.h         std::string print_reinterpret(Type type, Expr e);
type               29 src/CodeGen_OpenGLCompute_Dev.cpp Type map_type(const Type &type) {
type               30 src/CodeGen_OpenGLCompute_Dev.cpp     Type result = type;
type               31 src/CodeGen_OpenGLCompute_Dev.cpp     if (type.is_scalar()) {
type               32 src/CodeGen_OpenGLCompute_Dev.cpp         if (type.is_float()) {
type               33 src/CodeGen_OpenGLCompute_Dev.cpp             user_assert(type.bits() <= 32)
type               34 src/CodeGen_OpenGLCompute_Dev.cpp                 << "GLSL: Can't represent a float with " << type.bits() << " bits.\n";
type               36 src/CodeGen_OpenGLCompute_Dev.cpp         } else if (type.bits() == 1) {
type               38 src/CodeGen_OpenGLCompute_Dev.cpp         } else if (type == Int(32) || type == UInt(32)) {
type               41 src/CodeGen_OpenGLCompute_Dev.cpp             user_error << "GLSL: Can't represent type '"<< type << "'.\n";
type               44 src/CodeGen_OpenGLCompute_Dev.cpp         user_assert(type.lanes() <= 4)
type               46 src/CodeGen_OpenGLCompute_Dev.cpp         user_assert(type.is_bool() || type.is_int() || type.is_uint() || type.is_float())
type               47 src/CodeGen_OpenGLCompute_Dev.cpp             << "GLSL: Can't represent vector type '"<< type << "'.\n";
type               48 src/CodeGen_OpenGLCompute_Dev.cpp         Type scalar_type = type.element_of();
type               49 src/CodeGen_OpenGLCompute_Dev.cpp         result = map_type(scalar_type).with_lanes(type.lanes());
type               55 src/CodeGen_OpenGLCompute_Dev.cpp string CodeGen_OpenGLCompute_Dev::CodeGen_OpenGLCompute_C::print_type(Type type, AppendSpaceIfNeeded space) {
type               56 src/CodeGen_OpenGLCompute_Dev.cpp     Type mapped_type = map_type(type);
type               64 src/CodeGen_OpenGLCompute_Dev.cpp         return CodeGen_GLSLBase::print_type(type, space);
type              104 src/CodeGen_OpenGLCompute_Dev.cpp     Type value_type = op->value.type();
type              107 src/CodeGen_OpenGLCompute_Dev.cpp     if (map_type(op->type) != map_type(value_type)) {
type              108 src/CodeGen_OpenGLCompute_Dev.cpp         Type target_type = map_type(op->type);
type              161 src/CodeGen_OpenGLCompute_Dev.cpp     rhs << print_type(op->type) << "(";
type              173 src/CodeGen_OpenGLCompute_Dev.cpp     print_assignment(op->base.type(), rhs.str());
type              179 src/CodeGen_OpenGLCompute_Dev.cpp     oss << print_type(op->type.with_lanes(op->lanes)) << "(" << id_value << ")";
type              180 src/CodeGen_OpenGLCompute_Dev.cpp     print_assignment(op->type.with_lanes(op->lanes), oss.str());
type              186 src/CodeGen_OpenGLCompute_Dev.cpp     internal_assert(op->type.is_scalar());
type              195 src/CodeGen_OpenGLCompute_Dev.cpp     print_assignment(op->type, oss.str());
type              201 src/CodeGen_OpenGLCompute_Dev.cpp     internal_assert(op->value.type().is_scalar());
type              211 src/CodeGen_OpenGLCompute_Dev.cpp     stream << "[" << id_index << "] = " << print_type(op->value.type()) << "(" << id_value << ");\n";
type              223 src/CodeGen_OpenGLCompute_Dev.cpp     rhs << print_type(op->type)
type              228 src/CodeGen_OpenGLCompute_Dev.cpp     print_assignment(op->type, rhs.str());
type              281 src/CodeGen_OpenGLCompute_Dev.cpp                    << print_type(args[i].type) << " data[]; } "
type              284 src/CodeGen_OpenGLCompute_Dev.cpp             stream << "uniform " << print_type(args[i].type)
type              295 src/CodeGen_OpenGLCompute_Dev.cpp                << print_type(op->type) << " "
type              326 src/CodeGen_OpenGLCompute_Dev.cpp     debug(2) << "OpenGLCompute: Allocate " << op->name << " of type " << op->type << " on device\n";
type              330 src/CodeGen_OpenGLCompute_Dev.cpp     alloc.type = op->type;
type              344 src/CodeGen_OpenGLCompute_Dev.cpp         stream << print_type(op->type) << " "
type               50 src/CodeGen_OpenGLCompute_Dev.h         std::string print_type(Type type, AppendSpaceIfNeeded space_option = DoNotAppendSpace);
type               33 src/CodeGen_OpenGL_Dev.cpp Type map_type(const Type &type) {
type               34 src/CodeGen_OpenGL_Dev.cpp     Type result = type;
type               35 src/CodeGen_OpenGL_Dev.cpp     if (type.is_scalar()) {
type               36 src/CodeGen_OpenGL_Dev.cpp         if (type.is_float()) {
type               37 src/CodeGen_OpenGL_Dev.cpp             user_assert(type.bits() <= 32)
type               38 src/CodeGen_OpenGL_Dev.cpp                 << "GLSL: Can't represent a float with " << type.bits() << " bits.\n";
type               40 src/CodeGen_OpenGL_Dev.cpp         } else if (type.bits() == 1) {
type               42 src/CodeGen_OpenGL_Dev.cpp         } else if (type == Int(32)) {
type               44 src/CodeGen_OpenGL_Dev.cpp         } else if (type == UInt(32)) {
type               47 src/CodeGen_OpenGL_Dev.cpp         } else if (type.bits() <= 16) {
type               52 src/CodeGen_OpenGL_Dev.cpp             user_error << "GLSL: Can't represent type '"<< type << "'.\n";
type               55 src/CodeGen_OpenGL_Dev.cpp         user_assert(type.lanes() <= 4)
type               57 src/CodeGen_OpenGL_Dev.cpp         user_assert(type.is_bool() || type.is_int() || type.is_uint() || type.is_float())
type               58 src/CodeGen_OpenGL_Dev.cpp             << "GLSL: Can't represent vector type '"<< type << "'.\n";
type               59 src/CodeGen_OpenGL_Dev.cpp         Type scalar_type = type.element_of();
type               60 src/CodeGen_OpenGL_Dev.cpp         result = map_type(scalar_type).with_lanes(type.lanes());
type               77 src/CodeGen_OpenGL_Dev.cpp         if (!args[i].type().is_float()) {
type              168 src/CodeGen_OpenGL_Dev.cpp     print_expr(call_builtin(op->type, "max", {op->a, op->b}));
type              172 src/CodeGen_OpenGL_Dev.cpp     print_expr(call_builtin(op->type, "min", {op->a, op->b}));
type              176 src/CodeGen_OpenGL_Dev.cpp     if (op->type.is_int()) {
type              180 src/CodeGen_OpenGL_Dev.cpp         Type float_type = Float(32, op->type.lanes());
type              182 src/CodeGen_OpenGL_Dev.cpp         print_expr(call_builtin(op->type, "floor_f32", {val}));
type              184 src/CodeGen_OpenGL_Dev.cpp         visit_binop(op->type, op->a, op->b, "/");
type              189 src/CodeGen_OpenGL_Dev.cpp     print_expr(call_builtin(op->type, "mod", {op->a, op->b}));
type              204 src/CodeGen_OpenGL_Dev.cpp     print_assignment(op->type, rhs.str());
type              207 src/CodeGen_OpenGL_Dev.cpp string CodeGen_GLSLBase::print_type(Type type, AppendSpaceIfNeeded space_option) {
type              209 src/CodeGen_OpenGL_Dev.cpp     type = map_type(type);
type              210 src/CodeGen_OpenGL_Dev.cpp     if (type.is_scalar()) {
type              211 src/CodeGen_OpenGL_Dev.cpp         if (type.is_float()) {
type              213 src/CodeGen_OpenGL_Dev.cpp         } else if (type.is_bool()) {
type              215 src/CodeGen_OpenGL_Dev.cpp         } else if (type.is_int()) {
type              218 src/CodeGen_OpenGL_Dev.cpp             internal_error << "GLSL: invalid type '" << type << "' encountered.\n";
type              221 src/CodeGen_OpenGL_Dev.cpp         if (type.is_float()) {
type              223 src/CodeGen_OpenGL_Dev.cpp         } else if (type.is_bool()) {
type              225 src/CodeGen_OpenGL_Dev.cpp         } else if (type.is_int()) {
type              228 src/CodeGen_OpenGL_Dev.cpp             internal_error << "GLSL: invalid type '" << type << "' encountered.\n";
type              230 src/CodeGen_OpenGL_Dev.cpp         oss << "vec" << type.lanes();
type              243 src/CodeGen_OpenGL_Dev.cpp     if (op->type.is_vector()) {
type              244 src/CodeGen_OpenGL_Dev.cpp         print_expr(Call::make(op->type, "equal", {op->a, op->b}, Call::Extern));
type              251 src/CodeGen_OpenGL_Dev.cpp     if (op->type.is_vector()) {
type              252 src/CodeGen_OpenGL_Dev.cpp         print_expr(Call::make(op->type, "notEqual", {op->a, op->b}, Call::Extern));
type              259 src/CodeGen_OpenGL_Dev.cpp     if (op->type.is_vector()) {
type              260 src/CodeGen_OpenGL_Dev.cpp         print_expr(Call::make(op->type, "lessThan", {op->a, op->b}, Call::Extern));
type              267 src/CodeGen_OpenGL_Dev.cpp     if (op->type.is_vector()) {
type              268 src/CodeGen_OpenGL_Dev.cpp         print_expr(Call::make(op->type, "lessThanEqual", {op->a, op->b}, Call::Extern));
type              275 src/CodeGen_OpenGL_Dev.cpp     if (op->type.is_vector()) {
type              276 src/CodeGen_OpenGL_Dev.cpp         print_expr(Call::make(op->type, "greaterThan", {op->a, op->b}, Call::Extern));
type              283 src/CodeGen_OpenGL_Dev.cpp     if (op->type.is_vector()) {
type              284 src/CodeGen_OpenGL_Dev.cpp         print_expr(Call::make(op->type, "greaterThanEqual", {op->a, op->b}, Call::Extern));
type              297 src/CodeGen_OpenGL_Dev.cpp     int shuffle_lanes = op->type.lanes();
type              310 src/CodeGen_OpenGL_Dev.cpp     print_assignment(op->type, expr + "." + swizzle);
type              339 src/CodeGen_OpenGL_Dev.cpp     if (op->type == Int(32)) {
type              342 src/CodeGen_OpenGL_Dev.cpp         id = print_type(op->type) + "(" + std::to_string(op->value) + ")";
type              347 src/CodeGen_OpenGL_Dev.cpp     id = print_type(op->type) + "(" + std::to_string(op->value) + ")";
type              351 src/CodeGen_OpenGL_Dev.cpp     Type value_type = op->value.type();
type              354 src/CodeGen_OpenGL_Dev.cpp     if (map_type(op->type) == map_type(value_type)) {
type              361 src/CodeGen_OpenGL_Dev.cpp             if (op->type.code() == Type::UInt) {
type              363 src/CodeGen_OpenGL_Dev.cpp             } else if (op->type.code() == Type::Int) {
type              370 src/CodeGen_OpenGL_Dev.cpp         Type target_type = map_type(op->type);
type              412 src/CodeGen_OpenGL_Dev.cpp     const int lanes = op->type.lanes();
type              430 src/CodeGen_OpenGL_Dev.cpp     if (op->condition.type().is_scalar()) {
type              433 src/CodeGen_OpenGL_Dev.cpp         stream << print_type(op->type) << " " << id_value << ";\n";
type              459 src/CodeGen_OpenGL_Dev.cpp         internal_assert(op->condition.type().lanes() == op->type.lanes());
type              460 src/CodeGen_OpenGL_Dev.cpp         int lanes = op->type.lanes();
type              468 src/CodeGen_OpenGL_Dev.cpp         stream << print_type(op->type) << " " << id_value << " = "
type              469 src/CodeGen_OpenGL_Dev.cpp                << print_type(op->type) << "(";
type              493 src/CodeGen_OpenGL_Dev.cpp         internal_assert(e.type().is_scalar());
type              495 src/CodeGen_OpenGL_Dev.cpp         if (e.type() != Int(32)) {
type              503 src/CodeGen_OpenGL_Dev.cpp     int l = e.type().lanes();
type              504 src/CodeGen_OpenGL_Dev.cpp     internal_assert(e.type().is_vector());
type              531 src/CodeGen_OpenGL_Dev.cpp     } else if (op->type.is_scalar()) {
type              533 src/CodeGen_OpenGL_Dev.cpp         print_assignment(op->type, print_name(op->name) + "[" + idx + "]");
type              537 src/CodeGen_OpenGL_Dev.cpp         rhs << print_type(op->type) << "(";
type              538 src/CodeGen_OpenGL_Dev.cpp         for (int i = 0; i < op->type.lanes(); i++) {
type              545 src/CodeGen_OpenGL_Dev.cpp         print_assignment(op->type, rhs.str());
type              561 src/CodeGen_OpenGL_Dev.cpp     } else if (op->value.type().is_scalar()) {
type              569 src/CodeGen_OpenGL_Dev.cpp         for (int i = 0; i < op->value.type().lanes(); i++) {
type              603 src/CodeGen_OpenGL_Dev.cpp         internal_assert((op->type.code() == Type::UInt || op->type.code() == Type::Float) &&
type              604 src/CodeGen_OpenGL_Dev.cpp                         (op->type.lanes() >= 1 && op->type.lanes() <= 4));
type              606 src/CodeGen_OpenGL_Dev.cpp         if (op->type.is_vector()) {
type              623 src/CodeGen_OpenGL_Dev.cpp                 switch (op->type.lanes()) {
type              644 src/CodeGen_OpenGL_Dev.cpp                 rhs << print_type(op->type) << "(";
type              645 src/CodeGen_OpenGL_Dev.cpp                 for (int i = 0; i < op->type.lanes(); i++) {
type              668 src/CodeGen_OpenGL_Dev.cpp         if (op->type.is_uint()) {
type              669 src/CodeGen_OpenGL_Dev.cpp             rhs << " * " << print_expr(cast<float>(op->type.max()));
type              679 src/CodeGen_OpenGL_Dev.cpp         if (op->args[5].type().is_uint()) {
type              680 src/CodeGen_OpenGL_Dev.cpp             stream << " / " << print_expr(cast<float>(op->args[5].type().max()));
type              702 src/CodeGen_OpenGL_Dev.cpp         internal_assert(weight.type().is_uint() || weight.type().is_float());
type              703 src/CodeGen_OpenGL_Dev.cpp         if (weight.type().is_uint()) {
type              705 src/CodeGen_OpenGL_Dev.cpp             internal_assert(weight.type().bits() < 32);
type              707 src/CodeGen_OpenGL_Dev.cpp                                Cast::make(Float(32), weight.type().max()));
type              708 src/CodeGen_OpenGL_Dev.cpp         } else if (op->type.is_uint()) {
type              711 src/CodeGen_OpenGL_Dev.cpp             internal_assert(op->type.bits() < 32);
type              712 src/CodeGen_OpenGL_Dev.cpp             weight = floor(weight * op->type.max()) / op->type.max();
type              715 src/CodeGen_OpenGL_Dev.cpp         Type result_type = Float(32, op->type.lanes());
type              718 src/CodeGen_OpenGL_Dev.cpp         if (!op->type.is_float()) {
type              720 src/CodeGen_OpenGL_Dev.cpp             e = Cast::make(op->type, floor(e + 0.5f));
type              726 src/CodeGen_OpenGL_Dev.cpp         print_expr(call_builtin(op->type, op->name, op->args));
type              737 src/CodeGen_OpenGL_Dev.cpp     print_assignment(op->type, rhs.str());
type              776 src/CodeGen_OpenGL_Dev.cpp         stream << print_type(op->type) << " " << print_name(op->name) << ";\n";
type              782 src/CodeGen_OpenGL_Dev.cpp         stream << print_type(op->type.with_lanes(size)) << " " << print_name(op->name) << ";\n";
type              787 src/CodeGen_OpenGL_Dev.cpp         stream << print_type(op->type) << " " << print_name(op->name) << "[" << size << "];\n";
type              801 src/CodeGen_OpenGL_Dev.cpp     rhs << print_type(op->type) << "(";
type              813 src/CodeGen_OpenGL_Dev.cpp     print_assignment(op->type, rhs.str());
type              818 src/CodeGen_OpenGL_Dev.cpp     rhs << print_type(op->type) << "(" << print_expr(op->value) << ")";
type              819 src/CodeGen_OpenGL_Dev.cpp     print_assignment(op->type, rhs.str());
type              850 src/CodeGen_OpenGL_Dev.cpp             Type t = args[i].type.element_of();
type              873 src/CodeGen_OpenGL_Dev.cpp         } else if (args[i].type.is_float()) {
type              875 src/CodeGen_OpenGL_Dev.cpp             << CodeGen_C::print_type(args[i].type) << " "
type              878 src/CodeGen_OpenGL_Dev.cpp         } else if (args[i].type.is_int()) {
type              880 src/CodeGen_OpenGL_Dev.cpp             << CodeGen_C::print_type(args[i].type) << " "
type              938 src/CodeGen_OpenGL_Dev.cpp         } else if (args[i].type.is_float()) {
type              940 src/CodeGen_OpenGL_Dev.cpp             stream << print_type(args[i].type) << " "
type              944 src/CodeGen_OpenGL_Dev.cpp         } else if (args[i].type.is_int()) {
type              946 src/CodeGen_OpenGL_Dev.cpp             stream << print_type(args[i].type) << " "
type               58 src/CodeGen_OpenGL_Dev.h     std::string print_type(Type type, AppendSpaceIfNeeded space_option = DoNotAppendSpace);
type               60 src/CodeGen_PTX_Dev.cpp             arg_types[i] = llvm_type_of(args[i].type);
type              210 src/CodeGen_PTX_Dev.cpp         Value *ptr = builder->CreateAlloca(llvm_type_of(alloc->type), ConstantInt::get(i32_t, size));
type               27 src/CodeGen_Posix.cpp Value *CodeGen_Posix::codegen_allocation_size(const std::string &name, Type type, const std::vector<Expr> &extents) {
type               31 src/CodeGen_Posix.cpp     Expr total_size = make_const(UInt(64), type.lanes() * type.bytes());
type               75 src/CodeGen_Posix.cpp int CodeGen_Posix::allocation_padding(Type type) const {
type               79 src/CodeGen_Posix.cpp     return type.bytes();
type               82 src/CodeGen_Posix.cpp CodeGen_Posix::Allocation CodeGen_Posix::create_allocation(const std::string &name, Type type,
type               89 src/CodeGen_Posix.cpp         constant_bytes *= type.bytes();
type              100 src/CodeGen_Posix.cpp         llvm_size = codegen_allocation_size(name, type, extents);
type              109 src/CodeGen_Posix.cpp         Value *padding = ConstantInt::get(llvm_size->getType(), allocation_padding(type));
type              121 src/CodeGen_Posix.cpp     allocation.type = type;
type              130 src/CodeGen_Posix.cpp         allocation.ptr = create_alloca_at_entry(llvm_type_of(type), 1, false, name);
type              144 src/CodeGen_Posix.cpp                 free->type == type &&
type              165 src/CodeGen_Posix.cpp             int64_t stack_size = (stack_bytes + type.bytes() - 1) / type.bytes();
type              168 src/CodeGen_Posix.cpp                 llvm_type_of(type.is_handle() ? UInt(64, type.lanes()) : type);   
type              188 src/CodeGen_Posix.cpp                      << " of size " << type.bytes();
type              198 src/CodeGen_Posix.cpp             call = builder->CreatePointerCast(call, llvm_type_of(type)->getPointerTo());    
type              267 src/CodeGen_Posix.cpp     Allocation allocation = create_allocation(alloc->name, alloc->type,
type               37 src/CodeGen_Posix.h     virtual int allocation_padding(Type type) const;
type               51 src/CodeGen_Posix.h         Type type;
type               88 src/CodeGen_Posix.h     llvm::Value *codegen_allocation_size(const std::string &name, Type type, const std::vector<Expr> &extents);
type              103 src/CodeGen_Posix.h     Allocation create_allocation(const std::string &name, Type type,
type               44 src/CodeGen_PowerPC.cpp     if (!op->type.is_vector()) {
type               55 src/CodeGen_PowerPC.cpp         Type type;
type              111 src/CodeGen_PowerPC.cpp                     matches[i] = lossless_cast(op->type, matches[i]);
type              116 src/CodeGen_PowerPC.cpp                 value = call_intrin(op->type, pattern.type.lanes(), pattern.intrin, matches);
type              126 src/CodeGen_PowerPC.cpp     if (!op->type.is_vector()) {
type              134 src/CodeGen_PowerPC.cpp     const Type& element_type = op->type.element_of();
type              139 src/CodeGen_PowerPC.cpp         value = call_intrin(op->type, (128 / element_type.bits()),
type              142 src/CodeGen_PowerPC.cpp     } else if (op->type.element_of() == Float(32)) {
type              143 src/CodeGen_PowerPC.cpp         value = call_intrin(op->type, 4, "llvm.ppc.altivec.vminfp", {op->a, op->b});
type              144 src/CodeGen_PowerPC.cpp     } else if (vsx && op->type.element_of() == Float(64)) {
type              145 src/CodeGen_PowerPC.cpp         value = call_intrin(op->type, 2, "llvm.ppc.vsx.xvmindp", {op->a, op->b});
type              152 src/CodeGen_PowerPC.cpp     if (!op->type.is_vector()) {
type              160 src/CodeGen_PowerPC.cpp     const Type& element_type = op->type.element_of();
type              165 src/CodeGen_PowerPC.cpp         value = call_intrin(op->type, (128 / element_type.bits()),
type              168 src/CodeGen_PowerPC.cpp     } else if (op->type.element_of() == Float(32)) {
type              169 src/CodeGen_PowerPC.cpp         value = call_intrin(op->type, 4, "llvm.ppc.altivec.vmaxfp", {op->a, op->b});
type              170 src/CodeGen_PowerPC.cpp     } else if (vsx && op->type.element_of() == Float(64)) {
type              171 src/CodeGen_PowerPC.cpp         value = call_intrin(op->type, 2, "llvm.ppc.vsx.xvmaxdp", {op->a, op->b});
type               39 src/CodeGen_X86.cpp     Type t = a.type();
type               40 src/CodeGen_X86.cpp     internal_assert(b.type() == t);
type               69 src/CodeGen_X86.cpp         codegen(Call::make(op->type, "pmaddwd", matches, Call::Extern));
type               85 src/CodeGen_X86.cpp         codegen(Call::make(op->type, "pmaddwd", matches, Call::Extern));
type               92 src/CodeGen_X86.cpp     if (op->type.is_vector()) {
type               96 src/CodeGen_X86.cpp         Type t = op->a.type();
type              104 src/CodeGen_X86.cpp         for (int i = 0; i < op->type.lanes(); i += slice_size) {
type              127 src/CodeGen_X86.cpp     if (op->type.is_vector()) {
type              131 src/CodeGen_X86.cpp         Type t = op->a.type();
type              139 src/CodeGen_X86.cpp         for (int i = 0; i < op->type.lanes(); i += slice_size) {
type              175 src/CodeGen_X86.cpp     if (op->condition.type().is_vector()) {
type              180 src/CodeGen_X86.cpp         Type t = op->true_value.type();
type              204 src/CodeGen_X86.cpp     if (!op->type.is_vector()) {
type              215 src/CodeGen_X86.cpp         Type type;
type              270 src/CodeGen_X86.cpp         if (op->type.lanes() < pattern.min_lanes) {
type              279 src/CodeGen_X86.cpp                     matches[i] = lossless_cast(op->type, matches[i]);
type              284 src/CodeGen_X86.cpp                 value = call_intrin(op->type, pattern.type.lanes(), pattern.intrin, matches);
type              295 src/CodeGen_X86.cpp     if (op->value.type().element_of() == UInt(32) &&
type              296 src/CodeGen_X86.cpp         op->type.is_float() &&
type              297 src/CodeGen_X86.cpp         op->type.is_vector() &&
type              299 src/CodeGen_X86.cpp         Type signed_type = Int(32, op->type.lanes());
type              303 src/CodeGen_X86.cpp         top_bits = cast(op->type, top_bits);
type              307 src/CodeGen_X86.cpp         bottom_bit = cast(op->type, bottom_bit);
type              320 src/CodeGen_X86.cpp     Type ty = a.type();
type              338 src/CodeGen_X86.cpp     if (LLVM_VERSION >= 39 || op->type.is_scalar()) {
type              344 src/CodeGen_X86.cpp     if (op->type.element_of() == UInt(8)) {
type              345 src/CodeGen_X86.cpp         value = call_intrin(op->type, 16, "llvm.x86.sse2.pminu.b", {op->a, op->b});
type              346 src/CodeGen_X86.cpp     } else if (use_sse_41 && op->type.element_of() == Int(8)) {
type              347 src/CodeGen_X86.cpp         value = call_intrin(op->type, 16, "llvm.x86.sse41.pminsb", {op->a, op->b});
type              348 src/CodeGen_X86.cpp     } else if (op->type.element_of() == Int(16)) {
type              349 src/CodeGen_X86.cpp         value = call_intrin(op->type, 8, "llvm.x86.sse2.pmins.w", {op->a, op->b});
type              350 src/CodeGen_X86.cpp     } else if (use_sse_41 && op->type.element_of() == UInt(16)) {
type              351 src/CodeGen_X86.cpp         value = call_intrin(op->type, 8, "llvm.x86.sse41.pminuw", {op->a, op->b});
type              352 src/CodeGen_X86.cpp     } else if (use_sse_41 && op->type.element_of() == Int(32)) {
type              353 src/CodeGen_X86.cpp         value = call_intrin(op->type, 4, "llvm.x86.sse41.pminsd", {op->a, op->b});
type              354 src/CodeGen_X86.cpp     } else if (use_sse_41 && op->type.element_of() == UInt(32)) {
type              355 src/CodeGen_X86.cpp         value = call_intrin(op->type, 4, "llvm.x86.sse41.pminud", {op->a, op->b});
type              362 src/CodeGen_X86.cpp     if (LLVM_VERSION >= 39 || op->type.is_scalar()) {
type              368 src/CodeGen_X86.cpp     if (op->type.element_of() == UInt(8)) {
type              369 src/CodeGen_X86.cpp         value = call_intrin(op->type, 16, "llvm.x86.sse2.pmaxu.b", {op->a, op->b});
type              370 src/CodeGen_X86.cpp     } else if (use_sse_41 && op->type.element_of() == Int(8)) {
type              371 src/CodeGen_X86.cpp         value = call_intrin(op->type, 16, "llvm.x86.sse41.pmaxsb", {op->a, op->b});
type              372 src/CodeGen_X86.cpp     } else if (op->type.element_of() == Int(16)) {
type              373 src/CodeGen_X86.cpp         value = call_intrin(op->type, 8, "llvm.x86.sse2.pmaxs.w", {op->a, op->b});
type              374 src/CodeGen_X86.cpp     } else if (use_sse_41 && op->type.element_of() == UInt(16)) {
type              375 src/CodeGen_X86.cpp         value = call_intrin(op->type, 8, "llvm.x86.sse41.pmaxuw", {op->a, op->b});
type              376 src/CodeGen_X86.cpp     } else if (use_sse_41 && op->type.element_of() == Int(32)) {
type              377 src/CodeGen_X86.cpp         value = call_intrin(op->type, 4, "llvm.x86.sse41.pmaxsd", {op->a, op->b});
type              378 src/CodeGen_X86.cpp     } else if (use_sse_41 && op->type.element_of() == UInt(32)) {
type              379 src/CodeGen_X86.cpp         value = call_intrin(op->type, 4, "llvm.x86.sse41.pmaxud", {op->a, op->b});
type              389 src/CodeGen_X86.cpp         op->type.is_vector() &&
type              390 src/CodeGen_X86.cpp         op->type.is_int() &&
type              391 src/CodeGen_X86.cpp         op->type.bits() < 32 &&
type              402 src/CodeGen_X86.cpp         Type wider = op->type.with_bits(32);
type              403 src/CodeGen_X86.cpp         Expr equiv = cast(op->type,
type               19 src/ConciseCasts.h     return cast(Float(64, e.type().lanes()), e);
type               23 src/ConciseCasts.h     return cast(Float(32, e.type().lanes()), e);
type               27 src/ConciseCasts.h     return cast(Int(64, e.type().lanes()), e);
type               31 src/ConciseCasts.h     return cast(Int(32, e.type().lanes()), e);
type               35 src/ConciseCasts.h     return cast(Int(16, e.type().lanes()), e);
type               39 src/ConciseCasts.h     return cast(Int(8, e.type().lanes()), e);
type               43 src/ConciseCasts.h     return cast(UInt(64, e.type().lanes()), e);
type               47 src/ConciseCasts.h     return cast(UInt(32, e.type().lanes()), e);
type               51 src/ConciseCasts.h     return cast(UInt(16, e.type().lanes()), e);
type               55 src/ConciseCasts.h     return cast(UInt(8, e.type().lanes()), e);
type               59 src/ConciseCasts.h     return saturating_cast(Int(8, e.type().lanes()), e);
type               63 src/ConciseCasts.h     return saturating_cast(UInt(8, e.type().lanes()), e);
type               67 src/ConciseCasts.h     return saturating_cast(Int(16, e.type().lanes()), e);
type               71 src/ConciseCasts.h     return saturating_cast(UInt(16, e.type().lanes()), e);
type               75 src/ConciseCasts.h     return saturating_cast(Int(32, e.type().lanes()), e);
type               79 src/ConciseCasts.h     return saturating_cast(UInt(32, e.type().lanes()), e);
type               83 src/ConciseCasts.h     return saturating_cast(Int(64, e.type().lanes()), e);
type               87 src/ConciseCasts.h     return saturating_cast(UInt(64, e.type().lanes()), e);
type               16 src/DebugArguments.cpp         Expr scalar_var = Variable::make(arg.type, arg.name);
type               21 src/DebugArguments.cpp             name << " Input " << arg.type << ' ' << arg.name << ':';
type              170 src/Deinterleave.cpp         if (op->type.is_scalar()) {
type              173 src/Deinterleave.cpp             Type t = op->type.with_lanes(new_lanes);
type              180 src/Deinterleave.cpp         internal_assert(expr.type() == op->base.type());
type              187 src/Deinterleave.cpp         if (op->type.is_scalar()) {
type              191 src/Deinterleave.cpp             Type t = op->type.with_lanes(new_lanes);
type              227 src/Deinterleave.cpp         if (op->type.is_scalar()) {
type              230 src/Deinterleave.cpp             Type t = op->type.with_lanes(new_lanes);
type              236 src/Deinterleave.cpp         Type t = op->type.with_lanes(new_lanes);
type              239 src/Deinterleave.cpp         if (op->type.is_scalar()) {
type              269 src/Deinterleave.cpp         if (op->type.is_vector()) {
type              272 src/Deinterleave.cpp             Type new_type = new_value.type();
type              322 src/Deinterleave.cpp     internal_assert(e.type().lanes() % 2 == 0);
type              326 src/Deinterleave.cpp     d.new_lanes = e.type().lanes()/2;
type              332 src/Deinterleave.cpp     internal_assert(e.type().lanes() % 2 == 0);
type              336 src/Deinterleave.cpp     d.new_lanes = (e.type().lanes()+1)/2;
type              342 src/Deinterleave.cpp     internal_assert(e.type().lanes() % 2 == 0);
type              348 src/Deinterleave.cpp     internal_assert(e.type().lanes() % 2 == 0);
type              354 src/Deinterleave.cpp     internal_assert(e.type().lanes() % 3 == 0);
type              358 src/Deinterleave.cpp     d.new_lanes = (e.type().lanes()+2)/3;
type              367 src/Deinterleave.cpp     d.lane_stride = e.type().lanes();
type              384 src/Deinterleave.cpp         if (e.type().lanes() <= num_lanes) {
type              413 src/Deinterleave.cpp         if (value.type() == Int(32)) {
type              417 src/Deinterleave.cpp         if (value.type().is_vector()) {
type              421 src/Deinterleave.cpp         if (value.type().is_vector()) {
type              424 src/Deinterleave.cpp         if (value.type() == Int(32)) {
type              436 src/Deinterleave.cpp         if (value.type().is_vector()) {
type              437 src/Deinterleave.cpp             if (value.type().lanes() % 2 == 0) {
type              441 src/Deinterleave.cpp             if (value.type().lanes() % 3 == 0) {
type              464 src/Deinterleave.cpp                 (r->type.lanes() % i) == 0) {
type              478 src/Deinterleave.cpp                 (r->type.lanes() % i) == 0) {
type              503 src/Deinterleave.cpp             expr = Load::make(op->type, op->name, idx, op->image, op->param, predicate);
type              509 src/Deinterleave.cpp             expr = Load::make(op->type, op->name, idx, op->image, op->param, predicate);
type              514 src/Deinterleave.cpp             expr = Load::make(op->type, op->name, idx, op->image, op->param, predicate);
type              516 src/Deinterleave.cpp             expr = Load::make(op->type, op->name, idx, op->image, op->param, predicate);
type              601 src/Deinterleave.cpp             Type t = store->value.type();
type              690 src/Deinterleave.cpp             Expr index = Ramp::make(base, make_one(base.type()), t.lanes());
type              750 src/Deinterleave.cpp     check(Load::make(ramp.type(), "buf", ramp, Buffer<>(), Parameter(), const_true(ramp.type().lanes())),
type              751 src/Deinterleave.cpp           Load::make(ramp_a.type(), "buf", ramp_a, Buffer<>(), Parameter(), const_true(ramp_a.type().lanes())),
type              752 src/Deinterleave.cpp           Load::make(ramp_b.type(), "buf", ramp_b, Buffer<>(), Parameter(), const_true(ramp_b.type().lanes())));
type               26 src/DeviceArgument.cpp         DeviceArgument arg(b.first, true, b.second.type, b.second.dimensions, b.second.size);
type               53 src/DeviceArgument.cpp         ref.type = op->type;
type               47 src/DeviceArgument.h     Type type;
type               78 src/DeviceArgument.h         type(_type),
type              164 src/EarlyFree.cpp             stmt = Allocate::make(alloc->name, alloc->type, alloc->extents, alloc->condition,
type              162 src/Elf.cpp        static addr_t make_info(uint32_t type, uint32_t sym) {
type              164 src/Elf.cpp                return (uint64_t)type | ((uint64_t)sym << 32);
type              166 src/Elf.cpp                return (type & 0xff) | (sym << 8);
type              170 src/Elf.cpp        void set_r_type(uint32_t type) {
type              171 src/Elf.cpp            r_info = make_info(type, r_sym());
type              181 src/Elf.cpp        Rel(addr_t offset, uint32_t type, uint32_t sym)
type              182 src/Elf.cpp            : r_offset(offset), r_info(make_info(type, sym)) {}
type              195 src/Elf.cpp        Rela(addr_t offset, uint32_t type, uint32_t sym, addr_off_t addend)
type              196 src/Elf.cpp            : Rel<T>(offset, type, sym), r_addend(addend) {}
type              214 src/Elf.cpp        static uint8_t make_info(uint8_t binding, uint8_t type) {
type              215 src/Elf.cpp            return (binding << 4) | (type & 0xf);
type              221 src/Elf.cpp        void set_type(uint8_t type) {
type              222 src/Elf.cpp            st_info = make_info(get_binding(), type);
type              434 src/Elf.cpp    Object::section_iterator Object::add_section(const std::string &name, Section::Type type) {
type              435 src/Elf.cpp        secs.emplace_back(name, type);
type               76 src/Elf.h          Type type = STT_NOTYPE;
type               94 src/Elf.h          Symbol &set_type(Type type) {
type               95 src/Elf.h              this->type = type;
type               98 src/Elf.h          Type get_type() const { return type; }
type              134 src/Elf.h          uint32_t type = 0;
type              141 src/Elf.h          Relocation(uint32_t type, uint64_t offset, int64_t addend, const Symbol *symbol)
type              142 src/Elf.h              : type(type), offset(offset), addend(addend), symbol(symbol) {}
type              147 src/Elf.h          Relocation &set_type(uint32_t type) {
type              148 src/Elf.h              this->type = type;
type              151 src/Elf.h          uint32_t get_type() const { return type; }
type              217 src/Elf.h          Type type = SHT_NULL;
type              227 src/Elf.h          Section(const std::string &name, Type type) : name(name), type(type) {}
type              235 src/Elf.h          Section &set_type(Type type) {
type              236 src/Elf.h              this->type = type;
type              239 src/Elf.h          Type get_type() const { return type; }
type              352 src/Elf.h          virtual Relocation relocate(uint64_t fixup_offset, char *fixup_addr, uint64_t type,
type              385 src/Elf.h          Type type = ET_NONE;
type              397 src/Elf.h          Type get_type() const { return type; }
type              403 src/Elf.h          Object &set_type(Type type) {
type              404 src/Elf.h              this->type = type;
type              440 src/Elf.h          section_iterator add_section(const std::string &name, Section::Type type);
type               27 src/EliminateBoolVectors.cpp         Type t = a.type();
type               32 src/EliminateBoolVectors.cpp         if (t.lanes() > 1 && t.bits() != b.type().bits()) {
type               33 src/EliminateBoolVectors.cpp             internal_assert(t.is_int() && b.type().is_int());
type               35 src/EliminateBoolVectors.cpp             t = t.with_bits(std::max(t.bits(), b.type().bits()));
type               36 src/EliminateBoolVectors.cpp             if (t != a.type()) {
type               39 src/EliminateBoolVectors.cpp             if (t != b.type()) {
type               69 src/EliminateBoolVectors.cpp         Type ta = a.type();
type               70 src/EliminateBoolVectors.cpp         Type tb = b.type();
type               74 src/EliminateBoolVectors.cpp             if (t != a.type()) {
type               77 src/EliminateBoolVectors.cpp             if (t != b.type()) {
type               99 src/EliminateBoolVectors.cpp         if (a.type().lanes() > 1) {
type              101 src/EliminateBoolVectors.cpp             expr = Call::make(a.type(), Call::bitwise_not, {a}, Call::PureIntrinsic);
type              110 src/EliminateBoolVectors.cpp         if (op->value.type().is_bool() && op->value.type().is_vector()) {
type              113 src/EliminateBoolVectors.cpp                                        make_one(op->type),
type              114 src/EliminateBoolVectors.cpp                                        make_zero(op->type)));
type              115 src/EliminateBoolVectors.cpp         } else if (op->type.is_bool() && op->type.is_vector()) {
type              117 src/EliminateBoolVectors.cpp             expr = mutate(op->value != make_zero(op->value.type()));
type              126 src/EliminateBoolVectors.cpp         if (op->value.type().is_bool()) {
type              127 src/EliminateBoolVectors.cpp             Type ty = UInt(8, op->value.type().lanes());
type              146 src/EliminateBoolVectors.cpp         Type cond_ty = cond.type();
type              154 src/EliminateBoolVectors.cpp             internal_assert(true_value.type().bits() == false_value.type().bits());
type              155 src/EliminateBoolVectors.cpp             if (true_value.type().bits() != cond_ty.bits()) {
type              156 src/EliminateBoolVectors.cpp                 cond_ty = cond_ty.with_bits(true_value.type().bits());
type              160 src/EliminateBoolVectors.cpp             expr = Call::make(true_value.type(), Call::select_mask, {cond, true_value, false_value}, Call::PureIntrinsic);
type              172 src/EliminateBoolVectors.cpp         if (op->type.bits() == 1) {
type              183 src/EliminateBoolVectors.cpp         if (op->is_extract_element() && op->type.is_bool()) {
type              201 src/EliminateBoolVectors.cpp         if (value.type() != op->value.type()) {
type              202 src/EliminateBoolVectors.cpp             lets.push(op->name, value.type());
type              205 src/EliminateBoolVectors.cpp         if (value.type() != op->value.type()) {
type              115 src/Expr.h         Type type;
type              185 src/Expr.h             node->type = t;
type              208 src/Expr.h             node->type = t;
type              224 src/Expr.h             node->type = t;
type              251 src/Expr.h             node->type = type_of<const char *>();
type              291 src/Expr.h         Type type() const {
type              292 src/Expr.h             return ((const Internal::BaseExprNode *)ptr)->type;
type               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";
type              121 src/FastIntegerDivide.cpp     user_assert(denominator.type() == UInt(8))
type              123 src/FastIntegerDivide.cpp     Type t = numerator.type();
type              225 src/FastIntegerDivide.cpp     internal_assert(result.type() == t);
type             1114 src/Func.cpp       user_assert(condition.type().is_bool()) << "Argument passed to specialize must be of type bool\n";
type             1937 src/Func.cpp       user_assert(!min.defined() || Int(32).can_represent(min.type())) << "Can't represent min bound in int32\n";
type             1939 src/Func.cpp       user_assert(Int(32).can_represent(extent.type())) << "Can't represent extent bound in int32\n";
type             1971 src/Func.cpp       user_assert(Int(32).can_represent(modulus.type())) << "Can't represent modulus as int32\n";
type             1972 src/Func.cpp       user_assert(Int(32).can_represent(remainder.type())) << "Can't represent remainder as int32\n";
type             2554 src/Func.cpp           init_values[i] = cast(e[i].type(), init_val);
type             2569 src/Func.cpp       FuncRef self_ref = define_base_case(func, expanded_args, cast(e.type(), init_val))(expanded_args);
type             2696 src/Func.cpp               Type t = func_ref.function().values()[i].type();
type              196 src/Func.h         NO_INLINE typename std::enable_if<Internal::all_are_convertible<VarOrRVar, Args...>::value, Stage &>::type
type              977 src/Func.h         NO_INLINE typename std::enable_if<Internal::all_are_convertible<Var, Args...>::value, FuncRef>::type
type              994 src/Func.h         NO_INLINE typename std::enable_if<Internal::all_are_convertible<Expr, Args...>::value, FuncRef>::type
type             1206 src/Func.h         NO_INLINE typename std::enable_if<Internal::all_are_convertible<VarOrRVar, Args...>::value, Func &>::type
type             1608 src/Func.h         NO_INLINE typename std::enable_if<Internal::all_are_convertible<Var, Args...>::value, Func &>::type
type             1976 src/Func.h         using T = typename std::remove_pointer<typename std::remove_reference<Last>::type>::type;
type             1977 src/Func.h         user_assert(t[idx].type() == type_of<T>())
type             1979 src/Func.h             << t[idx] << " of type " << t[idx].type()
type             1991 src/Func.h         using T = typename std::remove_pointer<typename std::remove_reference<Last>::type>::type;
type             2008 src/Func.h         user_assert(e.type() == type_of<T>())
type             2010 src/Func.h             << e << " of type " << e.type()
type             2051 src/Func.h         user_assert(e.type() == type_of<T>())
type             2053 src/Func.h             << e << " of type " << e.type()
type              212 src/Function.cpp             expr = Call::make(c->type, c->name, c->args, c->call_type,
type              461 src/Function.cpp         contents->output_types[i] = values[i].type();
type              469 src/Function.cpp         Parameter output(values[i].type(), true, args.size(), buffer_name);
type              508 src/Function.cpp         Type pure_type = pure_def_vals[i].type();
type              509 src/Function.cpp         if (pure_type != values[i].type()) {
type              517 src/Function.cpp             err << values[i].type() << ", but pure definition has type " << pure_type;
type              235 src/FuseGPUThreadLoops.cpp         Type type;
type              242 src/FuseGPUThreadLoops.cpp         AllocGroup(const SharedAllocation &alloc) : max_type_bytes(alloc.type.bytes()) {
type              243 src/FuseGPUThreadLoops.cpp             max_size_bytes = simplify(alloc.type.bytes() * alloc.size);
type              248 src/FuseGPUThreadLoops.cpp             max_type_bytes = std::max(max_type_bytes, alloc.type.bytes());
type              249 src/FuseGPUThreadLoops.cpp             max_size_bytes = simplify(max(max_size_bytes, simplify(alloc.size * alloc.type.bytes())));
type              343 src/FuseGPUThreadLoops.cpp         alloc.type = op->type;
type              361 src/FuseGPUThreadLoops.cpp                 expr = Load::make(op->type, shared_mem_name + "_" + op->name,
type              365 src/FuseGPUThreadLoops.cpp                 expr = Load::make(op->type, shared_mem_name, base + index,
type              451 src/FuseGPUThreadLoops.cpp                     Expr size = alloc_size * alloc.type.bytes();
type              528 src/FuseGPUThreadLoops.cpp                                    alloc.type, {alloc.size}, const_true(), s);
type              548 src/FuseGPUThreadLoops.cpp             sentinel.type = UInt(8);
type              563 src/FuseGPUThreadLoops.cpp                     int new_elem_size = alloc.type.bytes();
type               13 src/FuzzFloatStores.cpp         Type t = op->value.type();
type               18 src/FuzzFloatStores.cpp             value = reinterpret(mask.type(), value);
type              108 src/Generator.cpp         param.type(), param.dimensions(), def, min, max);
type              572 src/Generator.cpp             std::string type = p->get_template_type();
type              574 src/Generator.cpp             if (type == "float" || type == "double") {
type              582 src/Generator.cpp                 stream << indent() << comma << type << " " << p->name << " = " << value << "\n";
type              594 src/Generator.cpp             std::string type = p->get_template_type();
type              595 src/Generator.cpp             if (type == "typename") {
type              597 src/Generator.cpp             } else if (type == "float" || type == "double") {
type              993 src/Generator.cpp void GeneratorParamBase::fail_wrong_type(const char *type) {
type              994 src/Generator.cpp     user_error << "The GeneratorParam " << name << " cannot be set with a value of type " << type << ".\n";
type             1561 src/Generator.cpp             user_assert(f.output_types()[0] == type()) 
type             1562 src/Generator.cpp                 << "Expected type " << type() 
type             1569 src/Generator.cpp             user_assert(e.type() == type())
type             1570 src/Generator.cpp                 << "Expected type " << type() 
type             1571 src/Generator.cpp                 << " but got " << e.type()
type             1642 src/Generator.cpp         parameters_.emplace_back(type(), kind() != IOKind::Scalar, dimensions(), array_name(i), true, false);
type             1669 src/Generator.cpp             Expr e = Internal::Variable::make(type(), array_name(i), parameters_[i]);
type             1693 src/Generator.cpp             check_matching_type_and_dim({p.type()}, p.dimensions());
type             1708 src/Generator.cpp             check_matching_type_and_dim({e.type()}, 0);
type             1710 src/Generator.cpp             parameters_.emplace_back(e.type(), false, 0, array_name(i), true, false);
type              314 src/Generator.h     using type = T;
type              318 src/Generator.h struct select_type : std::conditional<First::value, typename First::type, typename select_type<Rest...>::type> { };
type              321 src/Generator.h struct select_type<First> { using type = typename std::conditional<First::value, typename First::type, void>::type; };
type              397 src/Generator.h     EXPORT void fail_wrong_type(const char *type);
type              414 src/Generator.h     using type = T;
type              449 src/Generator.h     template <typename T2, typename std::enable_if<std::is_convertible<T2, T>::value>::type * = nullptr>
type              464 src/Generator.h     template <typename T2, typename std::enable_if<!std::is_convertible<T2, T>::value>::type * = nullptr>
type              689 src/Generator.h     >::type;
type              932 src/Generator.h         Buffer<> other(p.type(), nullptr, std::vector<int>(p.dimensions(), 1));
type              939 src/Generator.h         Parameter p(b.type(), true, b.dimensions());
type             1099 src/Generator.h     EXPORT Type type() const;
type             1210 src/Generator.h     using TBase = typename std::remove_all_extents<T>::type;
type             1219 src/Generator.h     >::type * = nullptr>
type             1227 src/Generator.h     >::type * = nullptr>
type             1235 src/Generator.h     >::type * = nullptr>
type             1241 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_array<T2>::value>::type * = nullptr>
type             1246 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_array<T2>::value>::type * = nullptr>
type             1251 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_array<T2>::value>::type * = nullptr>
type             1256 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_array<T2>::value>::type * = nullptr>
type             1261 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_array<T2>::value>::type * = nullptr>
type             1503 src/Generator.h struct has_static_halide_type_method<T2, typename type_sink<decltype(T2::static_halide_type())>::type> : std::true_type {};
type             1505 src/Generator.h template<typename T, typename TBase = typename std::remove_all_extents<T>::type>
type             1512 src/Generator.h     >::type;
type             1532 src/Generator.h         >::type;
type             1702 src/Generator.h     using TBase = typename std::remove_all_extents<T>::type;
type             1712 src/Generator.h     >::type * = nullptr>
type             1720 src/Generator.h     >::type * = nullptr>
type             1728 src/Generator.h     >::type * = nullptr>
type             1734 src/Generator.h     template <typename... Args, typename T2 = T, typename std::enable_if<!std::is_array<T2>::value>::type * = nullptr>
type             1739 src/Generator.h     template <typename ExprOrVar, typename T2 = T, typename std::enable_if<!std::is_array<T2>::value>::type * = nullptr>
type             1744 src/Generator.h     template <typename T2 = T, typename std::enable_if<!std::is_array<T2>::value>::type * = nullptr>
type             1749 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_array<T2>::value>::type * = nullptr>
type             1754 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_array<T2>::value>::type * = nullptr>
type             1759 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_array<T2>::value>::type * = nullptr>
type             1764 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_array<T2>::value>::type * = nullptr>
type             1769 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_array<T2>::value>::type * = nullptr>
type             1777 src/Generator.h     >::type * = nullptr>
type             1846 src/Generator.h             user_assert(Type(buffer.type()) == this->type())
type             1847 src/Generator.h                 << "Output should have type=" << this->type() << " but saw type=" << Type(buffer.type()) << "\n";
type             1881 src/Generator.h             user_assert(output_types.at(0) == this->type())
type             1882 src/Generator.h                 << "Output should have type=" << this->type() << " but saw type=" << output_types.at(0) << "\n";
type             1922 src/Generator.h     template <typename T2 = T, typename std::enable_if<!std::is_array<T2>::value>::type * = nullptr>
type             1933 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_array<T2>::value>::type * = nullptr>
type             1939 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_array<T2>::value>::type * = nullptr>
type             1963 src/Generator.h template<typename T, typename TBase = typename std::remove_all_extents<T>::type>
type             1969 src/Generator.h     >::type;
type             2085 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_same<T2, ::Halide::Type>::value>::type * = nullptr>
type             2091 src/Generator.h     template <typename T2 = T, typename std::enable_if<std::is_integral<T2>::value>::type * = nullptr>
type             2308 src/Generator.h     template <typename... Args, typename std::enable_if<NoRealizations<Args...>::value>::type * = nullptr>
type             2562 src/Generator.h              typename std::enable_if<std::is_arithmetic<T>::value>::type * = nullptr>
type             2575 src/Generator.h              typename std::enable_if<std::is_arithmetic<T>::value>::type * = nullptr>
type             2690 src/Generator.h     struct has_generate_method<T2, typename type_sink<decltype(std::declval<T2>().generate())>::type> : std::true_type {};
type             2696 src/Generator.h     struct has_schedule_method<T2, typename type_sink<decltype(std::declval<T2>().schedule())>::type> : std::true_type {};
type             2699 src/Generator.h               typename std::enable_if<!has_generate_method<T2>::value>::type * = nullptr>
type             2708 src/Generator.h               typename std::enable_if<has_generate_method<T2>::value>::type * = nullptr>
type             2719 src/Generator.h               typename std::enable_if<!has_generate_method<T2>::value>::type * = nullptr>
type             2725 src/Generator.h               typename std::enable_if<has_generate_method<T2>::value>::type * = nullptr>
type             2738 src/Generator.h               typename std::enable_if<!has_schedule_method<T2>::value>::type * = nullptr>
type             2744 src/Generator.h               typename std::enable_if<has_schedule_method<T2>::value>::type * = nullptr>
type             2837 src/Generator.h     template <typename... Args, typename std::enable_if<NoRealizations<Args...>::value>::type * = nullptr>
type              310 src/HexagonOffload.cpp void do_relocation(uint32_t fixup_offset, char *fixup_addr, uint32_t type,
type              350 src/HexagonOffload.cpp     switch (type) {
type              362 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              366 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              370 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              374 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              378 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              382 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              386 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              390 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              394 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              398 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              412 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              431 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              435 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              444 src/HexagonOffload.cpp         internal_error << "Not pic code " << type << "\n";
type              463 src/HexagonOffload.cpp         internal_error << "Unhandled relocation type " << type << "\n";
type              553 src/HexagonOffload.cpp     Relocation relocate(uint64_t fixup_offset, char *fixup_addr, uint64_t type,
type              556 src/HexagonOffload.cpp         if (type == R_HEX_32) {
type              560 src/HexagonOffload.cpp         do_relocation(fixup_offset, fixup_addr, type, sym, sym_offset, addend, got);
type              579 src/HexagonOffload.cpp             expr = Load::make(op->type, op->name, mutate(op->index), op->image,
type              614 src/HexagonOffload.cpp     Expr state_var(const std::string& name, Type type) {
type              615 src/HexagonOffload.cpp         return Let::make(name, state_var_ptr(name, type),
type              620 src/HexagonOffload.cpp     Expr state_var_ptr(const std::string& name, Type type) {
type              685 src/HexagonOffload.cpp                 output_buffers.push_back(LoweredArgument(i.first, kind, i.second.type, i.second.dimensions));
type              688 src/HexagonOffload.cpp                 input_buffers.push_back(LoweredArgument(i.first, kind, i.second.type, i.second.dimensions));
type              692 src/HexagonOffload.cpp             Parameter p(i.second.type, true, i.second.dimensions);
type              748 src/HexagonOffload.cpp             arg_sizes.push_back(Expr((uint64_t)(pseudo_buffer.type().bytes())));
type              782 src/HexagonOffload.cpp         if (op->value.type() == Int(32)) {
type              788 src/HexagonOffload.cpp         if (op->value.type() == Int(32)) {
type              794 src/HexagonOffload.cpp         if (op->value.type() == Int(32)) {
type              800 src/HexagonOffload.cpp         if (op->value.type() == Int(32)) {
type               27 src/HexagonOptimize.cpp     switch (x.type().bits()) {
type               31 src/HexagonOptimize.cpp     default: internal_error << "Cannot interleave native vectors of type " << x.type() << "\n";
type               33 src/HexagonOptimize.cpp     return Call::make(x.type(), fn, {x}, Call::PureExtern);
type               38 src/HexagonOptimize.cpp     switch (x.type().bits()) {
type               42 src/HexagonOptimize.cpp     default: internal_error << "Cannot deinterleave native vectors of type " << x.type() << "\n";
type               44 src/HexagonOptimize.cpp     return Call::make(x.type(), fn, {x}, Call::PureExtern);
type               76 src/HexagonOptimize.cpp         if (op->type.lanes() != lanes) {
type               77 src/HexagonOptimize.cpp             expr = Cast::make(with_lanes(op->type), mutate(op->value));
type               84 src/HexagonOptimize.cpp         if (op->type.lanes() != lanes) {
type               85 src/HexagonOptimize.cpp             expr = Variable::make(with_lanes(op->type), op->name);
type               92 src/HexagonOptimize.cpp         if (op->type.lanes() != lanes) {
type              196 src/HexagonOptimize.cpp                 Type t = matches[i].type();
type              214 src/HexagonOptimize.cpp                         matches[i] = cast(matches[i].type().with_lanes(1), pow);
type              225 src/HexagonOptimize.cpp                     internal_assert(matches[i].type().is_vector());
type              241 src/HexagonOptimize.cpp             x = Call::make(x.type(), p.intrin, matches, Call::PureExtern);
type              342 src/HexagonOptimize.cpp         if (op->type.is_vector()) {
type              377 src/HexagonOptimize.cpp         if (ty.lanes() == 1 && x.type().lanes() > 1) {
type              382 src/HexagonOptimize.cpp         if (ty.lanes() != x.type().lanes()) {
type              401 src/HexagonOptimize.cpp         if (op.type().bits() == mpy_bits*2) {
type              403 src/HexagonOptimize.cpp                 if (cast->value.type().bits() == mpy_bits) {
type              466 src/HexagonOptimize.cpp         if (op->type.is_vector() && (op->type.bits() == 16 || op->type.bits() == 32)) {
type              467 src/HexagonOptimize.cpp             int lanes = op->type.lanes();
type              476 src/HexagonOptimize.cpp             if (op->type.is_uint()) {
type              492 src/HexagonOptimize.cpp                 if (op->type.bits() == 32 || !a0123.as<Shuffle>()) {
type              495 src/HexagonOptimize.cpp                     b0123 = reinterpret(Type(b0123.type().code(), 32, 1), b0123);
type              496 src/HexagonOptimize.cpp                     Expr new_expr = halide_hexagon_add_4mpy(op->type, suffix, a0123, b0123);
type              497 src/HexagonOptimize.cpp                     if (op->type.bits() == 16) {
type              503 src/HexagonOptimize.cpp                         new_expr = Call::make(op->type, "halide.hexagon.pack.vw", {new_expr}, Call::PureExtern);
type              516 src/HexagonOptimize.cpp             if (op->type.is_uint()) {
type              534 src/HexagonOptimize.cpp                 if (op->type.bits() == 32 || (!a0123.as<Shuffle>() && !b0123.as<Shuffle>())) {
type              535 src/HexagonOptimize.cpp                     Expr new_expr = halide_hexagon_add_4mpy(op->type, suffix, a0123, b0123);
type              536 src/HexagonOptimize.cpp                     if (op->type.bits() == 16) {
type              542 src/HexagonOptimize.cpp                         new_expr = Call::make(op->type, "halide.hexagon.pack.vw", {new_expr}, Call::PureExtern);
type              554 src/HexagonOptimize.cpp         if (op->type.is_vector() && (op->type.bits() == 16 || op->type.bits() == 32)) {
type              555 src/HexagonOptimize.cpp             int lanes = op->type.lanes();
type              564 src/HexagonOptimize.cpp             if (op->type.bits() == 16) {
type              568 src/HexagonOptimize.cpp             } else if (op->type.bits() == 32) {
type              584 src/HexagonOptimize.cpp                     b01 = reinterpret(Type(b01.type().code(), 16, 1), b01);
type              585 src/HexagonOptimize.cpp                     new_expr = halide_hexagon_add_2mpy(op->type, vdmpy_suffix, a01, b01);
type              587 src/HexagonOptimize.cpp                     new_expr = halide_hexagon_add_2mpy(op->type, vmpa_suffix, mpys[0].first, mpys[1].first, mpys[0].second, mpys[1].second);
type              663 src/HexagonOptimize.cpp         if (op->type.is_vector()) {
type              674 src/HexagonOptimize.cpp         if (op->type.is_vector()) {
type              702 src/HexagonOptimize.cpp         if (op->type.is_vector()) {
type              713 src/HexagonOptimize.cpp                     expr = Call::make(op->type, i.first, {matches[0]}, Call::PureExtern) + 1;
type              854 src/HexagonOptimize.cpp         if (op->type.is_vector()) {
type              869 src/HexagonOptimize.cpp                     Expr replacement = with_lanes(i.second, op->type.lanes());
type              887 src/HexagonOptimize.cpp             Type src_type = op->args[0].type();
type              888 src/HexagonOptimize.cpp             Type dst_type = op->type;
type              958 src/HexagonOptimize.cpp         if (x.type().is_scalar() || x.as<Broadcast>()) {
type              996 src/HexagonOptimize.cpp         } else if (x.type().is_scalar() || x.as<Broadcast>()) {
type             1002 src/HexagonOptimize.cpp                 return Variable::make(var->type, var->name + ".deinterleaved");
type             1004 src/HexagonOptimize.cpp                 return Variable::make(var->type, var->name + ".weak_deinterleaved");
type             1029 src/HexagonOptimize.cpp             if (expr.type().bits() == 1) {
type             1059 src/HexagonOptimize.cpp         internal_assert(op->type.is_scalar());
type             1063 src/HexagonOptimize.cpp         internal_assert(op->type.is_scalar());
type             1067 src/HexagonOptimize.cpp         internal_assert(op->type.is_scalar());
type             1075 src/HexagonOptimize.cpp         internal_assert(op->condition.type().is_scalar());
type             1149 src/HexagonOptimize.cpp                 Expr interleaved = Variable::make(deinterleaved.type(), deinterleaved_name);
type             1182 src/HexagonOptimize.cpp         if (op->type.bits() == op->value.type().bits()) {
type             1188 src/HexagonOptimize.cpp                 expr = native_interleave(Cast::make(op->type, value));
type             1190 src/HexagonOptimize.cpp                 expr = Cast::make(op->type, value);
type             1233 src/HexagonOptimize.cpp                 if (i.type().is_scalar()) continue;
type             1234 src/HexagonOptimize.cpp                 if (i.type().bits() != op->type.bits() || i.type().lanes() != op->type.lanes()) {
type             1248 src/HexagonOptimize.cpp             expr = Call::make(op->type, Call::bool_to_mask, {arg}, Call::PureIntrinsic);
type             1313 src/HexagonOptimize.cpp             expr = Call::make(op->type, op->name, args, op->call_type,
type             1325 src/HexagonOptimize.cpp             expr = Call::make(op->type, deinterleaving_alts[op->name], args, op->call_type);
type             1332 src/HexagonOptimize.cpp             expr = Call::make(op->type, interleaving_alts[op->name], { arg }, op->call_type,
type             1335 src/HexagonOptimize.cpp             expr = Call::make(op->type, op->name, args, op->call_type,
type             1372 src/HexagonOptimize.cpp             stmt = Allocate::make(op->name, op->type, op->extents, condition, body,
type             1424 src/HexagonOptimize.cpp             if ((op->type.lanes()*op->type.bits()) % (native_vector_bits*2) == 0) {
type             1478 src/HexagonOptimize.cpp                         expr = Call::make(op->type, i.second, args, Call::PureExtern);
type             1529 src/HexagonOptimize.cpp         if (op->value.type().is_vector()) {
type             1533 src/HexagonOptimize.cpp         if (op->value.type().is_vector()) {
type             1551 src/HexagonOptimize.cpp         if (!op->type.is_vector() || op->index.as<Ramp>()) {
type             1563 src/HexagonOptimize.cpp             int align = lut_alignment / op->type.bytes();
type             1584 src/HexagonOptimize.cpp                     Expr lut = Load::make(op->type.with_lanes(const_extent), op->name,
type             1591 src/HexagonOptimize.cpp                     index = simplify(cast(UInt(8).with_lanes(op->type.lanes()), index - base));
type             1593 src/HexagonOptimize.cpp                     expr = Call::make(op->type, "dynamic_shuffle", {lut, index, 0, const_extent - 1}, Call::PureIntrinsic);
type             1599 src/HexagonOptimize.cpp             expr = Load::make(op->type, op->name, index, op->image, op->param, op->predicate);
type               10 src/IR.cpp         internal_assert(t.lanes() == v.type().lanes()) << "Cast may not change vector widths\n";
type               13 src/IR.cpp         node->type = t;
type               21 src/IR.cpp         internal_assert(a.type() == b.type()) << "Add of mismatched types\n";
type               24 src/IR.cpp         node->type = a.type();
type               33 src/IR.cpp         internal_assert(a.type() == b.type()) << "Sub of mismatched types\n";
type               36 src/IR.cpp         node->type = a.type();
type               45 src/IR.cpp         internal_assert(a.type() == b.type()) << "Mul of mismatched types\n";
type               48 src/IR.cpp         node->type = a.type();
type               57 src/IR.cpp         internal_assert(a.type() == b.type()) << "Div of mismatched types\n";
type               60 src/IR.cpp         node->type = a.type();
type               69 src/IR.cpp         internal_assert(a.type() == b.type()) << "Mod of mismatched types\n";
type               72 src/IR.cpp         node->type = a.type();
type               81 src/IR.cpp         internal_assert(a.type() == b.type()) << "Min of mismatched types\n";
type               84 src/IR.cpp         node->type = a.type();
type               93 src/IR.cpp         internal_assert(a.type() == b.type()) << "Max of mismatched types\n";
type               96 src/IR.cpp         node->type = a.type();
type              105 src/IR.cpp         internal_assert(a.type() == b.type()) << "EQ of mismatched types\n";
type              108 src/IR.cpp         node->type = Bool(a.type().lanes());
type              117 src/IR.cpp         internal_assert(a.type() == b.type()) << "NE of mismatched types\n";
type              120 src/IR.cpp         node->type = Bool(a.type().lanes());
type              129 src/IR.cpp         internal_assert(a.type() == b.type()) << "LT of mismatched types\n";
type              132 src/IR.cpp         node->type = Bool(a.type().lanes());
type              142 src/IR.cpp         internal_assert(a.type() == b.type()) << "LE of mismatched types\n";
type              145 src/IR.cpp         node->type = Bool(a.type().lanes());
type              154 src/IR.cpp         internal_assert(a.type() == b.type()) << "GT of mismatched types\n";
type              157 src/IR.cpp         node->type = Bool(a.type().lanes());
type              167 src/IR.cpp         internal_assert(a.type() == b.type()) << "GE of mismatched types\n";
type              170 src/IR.cpp         node->type = Bool(a.type().lanes());
type              179 src/IR.cpp         internal_assert(a.type().is_bool()) << "lhs of And is not a bool\n";
type              180 src/IR.cpp         internal_assert(b.type().is_bool()) << "rhs of And is not a bool\n";
type              181 src/IR.cpp         internal_assert(a.type() == b.type()) << "And of mismatched types\n";
type              184 src/IR.cpp         node->type = Bool(a.type().lanes());
type              193 src/IR.cpp         internal_assert(a.type().is_bool()) << "lhs of Or is not a bool\n";
type              194 src/IR.cpp         internal_assert(b.type().is_bool()) << "rhs of Or is not a bool\n";
type              195 src/IR.cpp         internal_assert(a.type() == b.type()) << "Or of mismatched types\n";
type              198 src/IR.cpp         node->type = Bool(a.type().lanes());
type              206 src/IR.cpp         internal_assert(a.type().is_bool()) << "argument of Not is not a bool\n";
type              209 src/IR.cpp         node->type = Bool(a.type().lanes());
type              218 src/IR.cpp         internal_assert(condition.type().is_bool()) << "First argument to Select is not a bool: " << condition.type() << "\n";
type              219 src/IR.cpp         internal_assert(false_value.type() == true_value.type()) << "Select of mismatched types\n";
type              220 src/IR.cpp         internal_assert(condition.type().is_scalar() ||
type              221 src/IR.cpp                         condition.type().lanes() == true_value.type().lanes())
type              225 src/IR.cpp         node->type = true_value.type();
type              232 src/IR.cpp     Expr Load::make(Type type, const std::string &name, const Expr &index, Buffer<> image, Parameter param, const Expr &predicate) {
type              235 src/IR.cpp         internal_assert(type.lanes() == index.type().lanes()) << "Vector lanes of Load must match vector lanes of index\n";
type              236 src/IR.cpp         internal_assert(type.lanes() == predicate.type().lanes())
type              240 src/IR.cpp         node->type = type;
type              252 src/IR.cpp         internal_assert(base.type().is_scalar()) << "Ramp with vector base\n";
type              253 src/IR.cpp         internal_assert(stride.type().is_scalar()) << "Ramp with vector stride\n";
type              255 src/IR.cpp         internal_assert(stride.type() == base.type()) << "Ramp of mismatched types\n";
type              258 src/IR.cpp         node->type = base.type().with_lanes(lanes);
type              267 src/IR.cpp         internal_assert(value.type().is_scalar()) << "Broadcast of vector\n";
type              271 src/IR.cpp         node->type = value.type().with_lanes(lanes);
type              282 src/IR.cpp         node->type = body.type();
type              302 src/IR.cpp         internal_assert(message.type() == Int(32)) << "AssertStmt message must be an int:" << message << "\n";
type              331 src/IR.cpp         internal_assert(min.type().is_scalar()) << "For with vector min\n";
type              332 src/IR.cpp         internal_assert(extent.type().is_scalar()) << "For with vector extent\n";
type              349 src/IR.cpp         internal_assert(value.type().lanes() == index.type().lanes()) << "Vector lanes of Store must match vector lanes of index\n";
type              350 src/IR.cpp         internal_assert(value.type().lanes() == predicate.type().lanes())
type              378 src/IR.cpp     Stmt Allocate::make(const std::string &name, Type type, const std::vector<Expr> &extents,
type              383 src/IR.cpp             internal_assert(extents[i].type().is_scalar() == 1) << "Allocate of vector extent\n";
type              387 src/IR.cpp         internal_assert(condition.type().is_bool()) << "Allocate condition is not boolean\n";
type              391 src/IR.cpp         node->type = type;
type              445 src/IR.cpp             internal_assert(bounds[i].min.type().is_scalar()) << "Realize of vector size\n";
type              446 src/IR.cpp             internal_assert(bounds[i].extent.type().is_scalar()) << "Realize of vector size\n";
type              451 src/IR.cpp         internal_assert(condition.type().is_bool()) << "Realize condition is not boolean\n";
type              466 src/IR.cpp             internal_assert(bounds[i].min.type().is_scalar()) << "Prefetch of vector size\n";
type              467 src/IR.cpp             internal_assert(bounds[i].extent.type().is_scalar()) << "Prefetch of vector size\n";
type              537 src/IR.cpp     Expr Call::make(Type type, const std::string &name, const std::vector<Expr> &args, CallType call_type,
type              549 src/IR.cpp                 internal_assert(args[i].type() == Int(32))
type              556 src/IR.cpp                 internal_assert(args[i].type() == Int(32))
type              562 src/IR.cpp         node->type = type;
type              573 src/IR.cpp     Expr Variable::make(Type type, const std::string &name, Buffer<> image, Parameter param, ReductionDomain reduction_domain) {
type              576 src/IR.cpp         node->type = type;
type              588 src/IR.cpp         Type element_ty = vectors.front().type().element_of();
type              591 src/IR.cpp             internal_assert(i.type().element_of() == element_ty) << "Shuffle of vectors of mismatched types.\n";
type              592 src/IR.cpp             input_lanes += i.type().lanes();
type              599 src/IR.cpp         node->type = element_ty.with_lanes((int)indices.size());
type              612 src/IR.cpp         int lanes = vectors.front().type().lanes();
type              615 src/IR.cpp             internal_assert(i.type().lanes() == lanes)
type              639 src/IR.cpp             for (int j = 0; j < vectors[i].type().lanes(); j++) {
type              648 src/IR.cpp         if (begin == 0 && size == vector.type().lanes() && stride == 1) {
type              665 src/IR.cpp         int lanes = vectors.front().type().lanes();
type              673 src/IR.cpp             if (i.type().lanes() != lanes) {
type              712 src/IR.cpp             input_lanes += i.type().lanes();
type              723 src/IR.cpp             input_lanes += i.type().lanes();
type              210 src/IR.h           EXPORT static Expr make(Type type, const std::string &name,
type              344 src/IR.h           Type type;
type              359 src/IR.h           EXPORT static Stmt make(const std::string &name, Type type, const std::vector<Expr> &extents,
type              389 src/IR.h               internal_assert(min.type() == extent.type()) << "Region min and extent must have same type\n";
type              559 src/IR.h           EXPORT static Expr make(Type type, const std::string &name, const std::vector<Expr> &args, CallType call_type,
type              568 src/IR.h               return make(image.type(), image.name(), args, Image, nullptr, 0, image, Parameter());
type              573 src/IR.h               return make(param.type(), param.name(), args, Image, nullptr, 0, Buffer<>(), param);
type              614 src/IR.h           static Expr make(Type type, const std::string &name) {
type              615 src/IR.h               return make(type, name, Buffer<>(), Parameter(), ReductionDomain());
type              618 src/IR.h           static Expr make(Type type, const std::string &name, Parameter param) {
type              619 src/IR.h               return make(type, name, Buffer<>(), param, ReductionDomain());
type              622 src/IR.h           static Expr make(Type type, const std::string &name, Buffer<> image) {
type              623 src/IR.h               return make(type, name, image, Parameter(), ReductionDomain());
type              626 src/IR.h           static Expr make(Type type, const std::string &name, ReductionDomain reduction_domain) {
type              627 src/IR.h               return make(type, name, Buffer<>(), Parameter(), reduction_domain);
type              630 src/IR.h           EXPORT static Expr make(Type type, const std::string &name, Buffer<> image,
type              143 src/IREquality.cpp     if (compare_types(a.type(), b.type()) != Equal) {
type               77 src/IRMatch.cpp             !types_match(op->type, e->type)) {
type               86 src/IRMatch.cpp             !types_match(op->type, e->type)) {
type               98 src/IRMatch.cpp             !types_match(op->type, e->type)) {
type              105 src/IRMatch.cpp         if (result && e && types_match(op->type, e->type)) {
type              118 src/IRMatch.cpp         if (!types_match(op->type, expr.type())) {
type              192 src/IRMatch.cpp         if (result && e && types_match(op->type, e->type) && e->name == op->name) {
type              216 src/IRMatch.cpp         if (result && e && types_match(op->type, e->type)) {
type              227 src/IRMatch.cpp             types_match(op->type, e->type) &&
type               76 src/IRMutator.cpp         expr = Cast::make(op->type, value);
type              121 src/IRMutator.cpp         expr = Load::make(op->type, op->name, index, op->image, op->param, predicate);
type              157 src/IRMutator.cpp         expr = Call::make(op->type, op->name, new_args, op->call_type,
type              274 src/IRMutator.cpp         stmt = Allocate::make(op->name, op->type, new_extents, condition, body, new_expr, op->free_function);
type              129 src/IROperator.cpp     if (!(e.type().is_int() || e.type().is_uint())) return false;
type              196 src/IROperator.cpp         return is_negative_negatable_const(c->value, c->type);
type              209 src/IROperator.cpp     return is_negative_negatable_const(e, e.type());
type              244 src/IROperator.cpp     if (e.type().bits() < 2) return false;
type              313 src/IROperator.cpp     if (t == e.type()) {
type              315 src/IROperator.cpp     } else if (t.can_represent(e.type())) {
type              320 src/IROperator.cpp         if (t.can_represent(c->value.type())) {
type              380 src/IROperator.cpp     if (a.type() == b.type()) return;
type              382 src/IROperator.cpp     user_assert(!a.type().is_handle() && !b.type().is_handle())
type              387 src/IROperator.cpp     if (a.type().is_scalar() && b.type().is_vector()) {
type              388 src/IROperator.cpp         a = Broadcast::make(a, b.type().lanes());
type              389 src/IROperator.cpp     } else if (a.type().is_vector() && b.type().is_scalar()) {
type              390 src/IROperator.cpp         b = Broadcast::make(b, a.type().lanes());
type              392 src/IROperator.cpp         internal_assert(a.type().lanes() == b.type().lanes()) << "Can't match types of differing widths";
type              395 src/IROperator.cpp     Type ta = a.type(), tb = b.type();
type              417 src/IROperator.cpp         int lanes = a.type().lanes();
type              429 src/IROperator.cpp     Type type = input.type();
type              430 src/IROperator.cpp     Type int_type = Int(32, type.lanes());
type              454 src/IROperator.cpp     *reduced = reinterpret(type, blended);
type              458 src/IROperator.cpp     Type type = x_full.type();
type              459 src/IROperator.cpp     internal_assert(type.element_of() == Float(32));
type              461 src/IROperator.cpp     Expr nan = Call::make(type, "nan_f32", {}, Call::PureExtern);
type              462 src/IROperator.cpp     Expr neg_inf = Call::make(type, "neg_inf_f32", {}, Call::PureExtern);
type              470 src/IROperator.cpp     Expr patched = select(exceptional, make_one(type), x_full);
type              491 src/IROperator.cpp     result += cast(type, exponent) * logf(2.0);
type              502 src/IROperator.cpp     Type type = x_full.type();
type              503 src/IROperator.cpp     internal_assert(type.element_of() == Float(32));
type              511 src/IROperator.cpp     Expr k = cast(Int(32, type.lanes()), k_real);
type              531 src/IROperator.cpp     Expr inf = Call::make(type, "inf_f32", {}, Call::PureExtern);
type              535 src/IROperator.cpp     Expr two_to_the_n = reinterpret(type, biased << 23);
type              540 src/IROperator.cpp     result = select(biased > 0, result, make_zero(type));
type              549 src/IROperator.cpp     user_assert(x_full.type() == Float(32)) << "halide_erf only works for Float(32)";
type              591 src/IROperator.cpp         result = make_one(e.type());
type              595 src/IROperator.cpp         result = make_one(e.type()) / raise_to_integer_power(e, -p);
type              609 src/IROperator.cpp     internal_assert(cond.type().is_bool()) << "Should be a boolean condition\n";
type              655 src/IROperator.cpp     args[5] = (int)type.code();
type              656 src/IROperator.cpp     args[6] = type.bits();
type              680 src/IROperator.cpp         internal_assert(e.type() == Int(32))
type              717 src/IROperator.cpp     user_assert(x.type() == Float(32)) << "fast_log only works for Float(32)";
type              741 src/IROperator.cpp     user_assert(x_full.type() == Float(32)) << "fast_exp only works for Float(32)";
type              798 src/IROperator.cpp         Internal::Call::make(args[0].type(), Internal::Call::return_second,
type              805 src/IROperator.cpp     return Internal::Call::make(p.type(),
type              813 src/IROperator.cpp     user_assert(condition.type().is_bool()) << "Require condition must be a boolean type\n";
type              824 src/IROperator.cpp     Expr failure_value = cast(args[0].type(), requirement_failed_error);
type              825 src/IROperator.cpp     return Internal::Call::make(args[0].type(),
type              837 src/IROperator.cpp     return Internal::Call::make(result.type(), Internal::Call::memoize_expr,
type              845 src/IROperator.cpp     if (t.is_float() && e.type().is_float()) {
type              846 src/IROperator.cpp         if (t.bits() < e.type().bits()) {
type              851 src/IROperator.cpp     } else if (e.type() != t) {
type              853 src/IROperator.cpp         if (e.type().is_float() && !t.is_float() && t.bits() >= e.type().bits()) {
type              859 src/IROperator.cpp             e = select(e >= cast(e.type(), t.max()), t.max(), cast(t, e));
type              862 src/IROperator.cpp             if (!e.type().is_uint()) {
type              863 src/IROperator.cpp                 min_bound = lossless_cast(e.type(), t.min());
type              865 src/IROperator.cpp             Expr max_bound = lossless_cast(e.type(), t.max());
type              184 src/IROperator.h     Type type;
type              202 src/IROperator.h     if (a.type() == t) return a;
type              204 src/IROperator.h     if (t.is_handle() && !a.type().is_handle()) {
type              208 src/IROperator.h     } else if (a.type().is_handle() && !t.is_handle()) {
type              226 src/IROperator.h         if (a.type().is_scalar()) {
type              250 src/IROperator.h     Internal::check_representable(a.type(), b);
type              251 src/IROperator.h     return Internal::Add::make(a, Internal::make_const(a.type(), b));
type              259 src/IROperator.h     Internal::check_representable(b.type(), a);
type              260 src/IROperator.h     return Internal::Add::make(Internal::make_const(b.type(), a), b);
type              268 src/IROperator.h     a = Internal::Add::make(a, cast(a.type(), b));
type              285 src/IROperator.h     Internal::check_representable(a.type(), b);
type              286 src/IROperator.h     return Internal::Sub::make(a, Internal::make_const(a.type(), b));
type              294 src/IROperator.h     Internal::check_representable(b.type(), a);
type              295 src/IROperator.h     return Internal::Sub::make(Internal::make_const(b.type(), a), b);
type              305 src/IROperator.h     return Internal::Sub::make(Internal::make_zero(a.type()), a);
type              313 src/IROperator.h     a = Internal::Sub::make(a, cast(a.type(), b));
type              330 src/IROperator.h     Internal::check_representable(a.type(), b);
type              331 src/IROperator.h     return Internal::Mul::make(a, Internal::make_const(a.type(), b));
type              339 src/IROperator.h     Internal::check_representable(b.type(), a);
type              340 src/IROperator.h     return Internal::Mul::make(Internal::make_const(b.type(), a), b);
type              348 src/IROperator.h     a = Internal::Mul::make(a, cast(a.type(), b));
type              369 src/IROperator.h     a = Internal::Div::make(a, cast(a.type(), b));
type              380 src/IROperator.h     Internal::check_representable(a.type(), b);
type              381 src/IROperator.h     return Internal::Div::make(a, Internal::make_const(a.type(), b));
type              389 src/IROperator.h     Internal::check_representable(b.type(), a);
type              390 src/IROperator.h     return Internal::Div::make(Internal::make_const(b.type(), a), b);
type              412 src/IROperator.h     Internal::check_representable(a.type(), b);
type              413 src/IROperator.h     return Internal::Mod::make(a, Internal::make_const(a.type(), b));
type              421 src/IROperator.h     Internal::check_representable(b.type(), a);
type              422 src/IROperator.h     return Internal::Mod::make(Internal::make_const(b.type(), a), b);
type              440 src/IROperator.h     Internal::check_representable(a.type(), b);
type              441 src/IROperator.h     return Internal::GT::make(a, Internal::make_const(a.type(), b));
type              450 src/IROperator.h     Internal::check_representable(b.type(), a);
type              451 src/IROperator.h     return Internal::GT::make(Internal::make_const(b.type(), a), b);
type              469 src/IROperator.h     Internal::check_representable(a.type(), b);
type              470 src/IROperator.h     return Internal::LT::make(a, Internal::make_const(a.type(), b));
type              479 src/IROperator.h     Internal::check_representable(b.type(), a);
type              480 src/IROperator.h     return Internal::LT::make(Internal::make_const(b.type(), a), b);
type              498 src/IROperator.h     Internal::check_representable(a.type(), b);
type              499 src/IROperator.h     return Internal::LE::make(a, Internal::make_const(a.type(), b));
type              508 src/IROperator.h     Internal::check_representable(b.type(), a);
type              509 src/IROperator.h     return Internal::LE::make(Internal::make_const(b.type(), a), b);
type              527 src/IROperator.h     Internal::check_representable(a.type(), b);
type              528 src/IROperator.h     return Internal::GE::make(a, Internal::make_const(a.type(), b));
type              537 src/IROperator.h     Internal::check_representable(b.type(), a);
type              538 src/IROperator.h     return Internal::GE::make(Internal::make_const(b.type(), a), b);
type              556 src/IROperator.h     Internal::check_representable(a.type(), b);
type              557 src/IROperator.h     return Internal::EQ::make(a, Internal::make_const(a.type(), b));
type              566 src/IROperator.h     Internal::check_representable(b.type(), a);
type              567 src/IROperator.h     return Internal::EQ::make(Internal::make_const(b.type(), a), b);
type              585 src/IROperator.h     Internal::check_representable(a.type(), b);
type              586 src/IROperator.h     return Internal::NE::make(a, Internal::make_const(a.type(), b));
type              595 src/IROperator.h     Internal::check_representable(b.type(), a);
type              596 src/IROperator.h     return Internal::NE::make(Internal::make_const(b.type(), a), b);
type              610 src/IROperator.h     internal_assert(a.type().is_bool()) << "operator&& of Expr of type " << a.type() << "\n";
type              614 src/IROperator.h         return Internal::make_zero(a.type());
type              633 src/IROperator.h     internal_assert(a.type().is_bool()) << "operator|| of Expr of type " << a.type() << "\n";
type              635 src/IROperator.h         return Internal::make_one(a.type());
type              669 src/IROperator.h     Internal::check_representable(a.type(), b);
type              670 src/IROperator.h     return Internal::Max::make(a, Internal::make_const(a.type(), b));
type              681 src/IROperator.h     Internal::check_representable(b.type(), a);
type              682 src/IROperator.h     return Internal::Max::make(Internal::make_const(b.type(), a), b);
type              695 src/IROperator.h          typename std::enable_if<Halide::Internal::all_are_convertible<Expr, Rest...>::value>::type* = nullptr>
type              714 src/IROperator.h     Internal::check_representable(a.type(), b);
type              715 src/IROperator.h     return Internal::Min::make(a, Internal::make_const(a.type(), b));
type              725 src/IROperator.h     Internal::check_representable(b.type(), a);
type              726 src/IROperator.h     return Internal::Min::make(Internal::make_const(b.type(), a), b);
type              739 src/IROperator.h          typename std::enable_if<Halide::Internal::all_are_convertible<Expr, Rest...>::value>::type* = nullptr>
type              777 src/IROperator.h     Expr n_min_val = lossless_cast(a.type(), min_val);
type              780 src/IROperator.h     Expr n_max_val = lossless_cast(a.type(), max_val);
type              793 src/IROperator.h     Type t = a.type();
type              810 src/IROperator.h     Type t = a.type();
type              836 src/IROperator.h         true_value = cast(false_value.type(), true_value);
type              839 src/IROperator.h         false_value = cast(true_value.type(), false_value);
type              842 src/IROperator.h     user_assert(condition.type().is_bool())
type              844 src/IROperator.h         << "  " << condition << " has type " << condition.type() << "\n";
type              846 src/IROperator.h     user_assert(true_value.type() == false_value.type())
type              848 src/IROperator.h         << "  " << true_value << " has type " << true_value.type() << "\n"
type              849 src/IROperator.h         << "  " << false_value << " has type " << false_value.type() << "\n";
type              859 src/IROperator.h          typename std::enable_if<Halide::Internal::all_are_convertible<Expr, Args...>::value>::type* = nullptr>
type              872 src/IROperator.h     if (x.type() == Float(64)) {
type              875 src/IROperator.h     else if (x.type() == Float(16)) {
type              888 src/IROperator.h     if (x.type() == Float(64)) {
type              891 src/IROperator.h     else if (x.type() == Float(16)) {
type              904 src/IROperator.h     if (x.type() == Float(64)) {
type              907 src/IROperator.h     else if (x.type() == Float(16)) {
type              920 src/IROperator.h     if (x.type() == Float(64)) {
type              923 src/IROperator.h     else if (x.type() == Float(16)) {
type              936 src/IROperator.h     if (x.type() == Float(64)) {
type              939 src/IROperator.h     else if (x.type() == Float(16)) {
type              952 src/IROperator.h     if (x.type() == Float(64)) {
type              955 src/IROperator.h     else if (x.type() == Float(16)) {
type              969 src/IROperator.h     if (y.type() == Float(64)) {
type              973 src/IROperator.h     else if (y.type() == Float(16)) {
type              989 src/IROperator.h     if (x.type() == Float(64)) {
type              992 src/IROperator.h     else if (x.type() == Float(16)) {
type             1005 src/IROperator.h     if (x.type() == Float(64)) {
type             1008 src/IROperator.h     else if(x.type() == Float(16)) {
type             1021 src/IROperator.h     if (x.type() == Float(64)) {
type             1024 src/IROperator.h     else if (x.type() == Float(16)) {
type             1037 src/IROperator.h     if (x.type() == Float(64)) {
type             1040 src/IROperator.h     else if (x.type() == Float(16)) {
type             1053 src/IROperator.h     if (x.type() == Float(64)) {
type             1056 src/IROperator.h     else if (x.type() == Float(16)) {
type             1069 src/IROperator.h     if (x.type() == Float(64)) {
type             1072 src/IROperator.h     else if (x.type() == Float(16)) {
type             1085 src/IROperator.h     if (x.type() == Float(64)) {
type             1088 src/IROperator.h     else if (x.type() == Float(16)) {
type             1112 src/IROperator.h     if (x.type() == Float(64)) {
type             1115 src/IROperator.h     else if (x.type() == Float(16)) {
type             1132 src/IROperator.h     if (x.type() == Float(64)) {
type             1135 src/IROperator.h     else if (x.type() == Float(16)) {
type             1156 src/IROperator.h     if (x.type() == Float(64)) {
type             1160 src/IROperator.h     else if (x.type() == Float(16)) {
type             1176 src/IROperator.h     user_assert(x.type() == Float(32)) << "erf only takes float arguments\n";
type             1209 src/IROperator.h     user_assert(x.type() == Float(32)) << "fast_inverse only takes float arguments\n";
type             1210 src/IROperator.h     return Internal::Call::make(x.type(), "fast_inverse_f32", {x}, Internal::Call::PureExtern);
type             1217 src/IROperator.h     user_assert(x.type() == Float(32)) << "fast_inverse_sqrt only takes float arguments\n";
type             1218 src/IROperator.h     return Internal::Call::make(x.type(), "fast_inverse_sqrt_f32", {x}, Internal::Call::PureExtern);
type             1227 src/IROperator.h     if (x.type().element_of() == Float(64)) {
type             1228 src/IROperator.h         return Internal::Call::make(x.type(), "floor_f64", {x}, Internal::Call::PureExtern);
type             1230 src/IROperator.h     else if (x.type().element_of() == Float(16)) {
type             1234 src/IROperator.h         Type t = Float(32, x.type().lanes());
type             1245 src/IROperator.h     if (x.type().element_of() == Float(64)) {
type             1246 src/IROperator.h         return Internal::Call::make(x.type(), "ceil_f64", {x}, Internal::Call::PureExtern);
type             1248 src/IROperator.h     else if (x.type().element_of() == Float(16)) {
type             1252 src/IROperator.h         Type t = Float(32, x.type().lanes());
type             1264 src/IROperator.h     if (x.type().element_of() == Float(64)) {
type             1267 src/IROperator.h     else if (x.type().element_of() == Float(16)) {
type             1271 src/IROperator.h         Type t = Float(32, x.type().lanes());
type             1281 src/IROperator.h     if (x.type().element_of() == Float(64)) {
type             1284 src/IROperator.h     else if (x.type().element_of() == Float(16)) {
type             1288 src/IROperator.h         Type t = Float(32, x.type().lanes());
type             1297 src/IROperator.h     user_assert(x.type().is_float()) << "is_nan only works for float";
type             1298 src/IROperator.h     Type t = Bool(x.type().lanes());
type             1299 src/IROperator.h     if (x.type().element_of() == Float(64)) {
type             1302 src/IROperator.h     else if (x.type().element_of() == Float(64)) {
type             1306 src/IROperator.h         Type ft = Float(32, x.type().lanes());
type             1322 src/IROperator.h     int from_bits = e.type().bits() * e.type().lanes();
type             1325 src/IROperator.h         << "Reinterpret cast from type " << e.type()
type             1342 src/IROperator.h     user_assert(x.type().is_int() || x.type().is_uint())
type             1344 src/IROperator.h     user_assert(y.type().is_int() || y.type().is_uint())
type             1347 src/IROperator.h     if (y.type().bits() != x.type().bits()) {
type             1348 src/IROperator.h         y = cast(y.type().with_bits(x.type().bits()), y);
type             1350 src/IROperator.h     if (y.type() != x.type()) {
type             1351 src/IROperator.h         y = reinterpret(x.type(), y);
type             1353 src/IROperator.h     return Internal::Call::make(x.type(), Internal::Call::bitwise_and, {x, y}, Internal::Call::PureIntrinsic);
type             1361 src/IROperator.h     user_assert(x.type().is_int() || x.type().is_uint())
type             1363 src/IROperator.h     user_assert(y.type().is_int() || y.type().is_uint())
type             1366 src/IROperator.h     if (y.type().bits() != x.type().bits()) {
type             1367 src/IROperator.h         y = cast(y.type().with_bits(x.type().bits()), y);
type             1369 src/IROperator.h     if (y.type() != x.type()) {
type             1370 src/IROperator.h         y = reinterpret(x.type(), y);
type             1372 src/IROperator.h     return Internal::Call::make(x.type(), Internal::Call::bitwise_or, {x, y}, Internal::Call::PureIntrinsic);
type             1380 src/IROperator.h     user_assert(x.type().is_int() || x.type().is_uint())
type             1382 src/IROperator.h     user_assert(y.type().is_int() || y.type().is_uint())
type             1385 src/IROperator.h     if (y.type().bits() != x.type().bits()) {
type             1386 src/IROperator.h         y = cast(y.type().with_bits(x.type().bits()), y);
type             1388 src/IROperator.h     if (y.type() != x.type()) {
type             1389 src/IROperator.h         y = reinterpret(x.type(), y);
type             1391 src/IROperator.h     return Internal::Call::make(x.type(), Internal::Call::bitwise_xor, {x, y}, Internal::Call::PureIntrinsic);
type             1397 src/IROperator.h     user_assert(x.type().is_int() || x.type().is_uint())
type             1399 src/IROperator.h     return Internal::Call::make(x.type(), Internal::Call::bitwise_not, {x}, Internal::Call::PureIntrinsic);
type             1412 src/IROperator.h     user_assert(!x.type().is_float()) << "First argument to shift left is a float: " << x << "\n";
type             1413 src/IROperator.h     user_assert(!y.type().is_float()) << "Second argument to shift left is a float: " << y << "\n";
type             1415 src/IROperator.h     return Internal::Call::make(x.type(), Internal::Call::shift_left, {x, y}, Internal::Call::PureIntrinsic);
type             1418 src/IROperator.h     Internal::check_representable(x.type(), y);
type             1419 src/IROperator.h     return x << Internal::make_const(x.type(), y);
type             1422 src/IROperator.h     Internal::check_representable(y.type(), x);
type             1423 src/IROperator.h     return Internal::make_const(y.type(), x) << y;
type             1438 src/IROperator.h     user_assert(!x.type().is_float()) << "First argument to shift right is a float: " << x << "\n";
type             1439 src/IROperator.h     user_assert(!y.type().is_float()) << "Second argument to shift right is a float: " << y << "\n";
type             1441 src/IROperator.h     return Internal::Call::make(x.type(), Internal::Call::shift_right, {x, y}, Internal::Call::PureIntrinsic);
type             1444 src/IROperator.h     Internal::check_representable(x.type(), y);
type             1445 src/IROperator.h     return x >> Internal::make_const(x.type(), y);
type             1448 src/IROperator.h     Internal::check_representable(y.type(), x);
type             1449 src/IROperator.h     return Internal::make_const(y.type(), x) >> y;
type             1531 src/IROperator.h         zero_val = cast(one_val.type(), zero_val);
type             1534 src/IROperator.h         one_val = cast(zero_val.type(), one_val);
type             1537 src/IROperator.h     user_assert(zero_val.type() == one_val.type())
type             1538 src/IROperator.h         << "Can't lerp between " << zero_val << " of type " << zero_val.type()
type             1539 src/IROperator.h         << " and " << one_val << " of different type " << one_val.type() << "\n";
type             1540 src/IROperator.h     user_assert((weight.type().is_uint() || weight.type().is_float()))
type             1542 src/IROperator.h         << "lerp weight " << weight << " has type " << weight.type() << ".\n";
type             1543 src/IROperator.h     user_assert((zero_val.type().is_float() || zero_val.type().lanes() <= 32))
type             1547 src/IROperator.h     if (!zero_val.type().is_float()) {
type             1555 src/IROperator.h     return Internal::Call::make(zero_val.type(), Internal::Call::lerp,
type             1563 src/IROperator.h     return Internal::Call::make(x.type(), Internal::Call::popcount,
type             1571 src/IROperator.h     return Internal::Call::make(x.type(), Internal::Call::count_leading_zeros,
type             1579 src/IROperator.h     return Internal::Call::make(x.type(), Internal::Call::count_trailing_zeros,
type             1591 src/IROperator.h     if (x.type().is_uint()) {
type             1594 src/IROperator.h     user_assert(x.type().is_int()) << "First argument to div_round_to_zero is not an integer: " << x << "\n";
type             1595 src/IROperator.h     user_assert(y.type().is_int()) << "Second argument to div_round_to_zero is not an integer: " << y << "\n";
type             1596 src/IROperator.h     return Internal::Call::make(x.type(), Internal::Call::div_round_to_zero,
type             1610 src/IROperator.h     if (x.type().is_uint()) {
type             1613 src/IROperator.h     user_assert(x.type().is_int()) << "First argument to mod_round_to_zero is not an integer: " << x << "\n";
type             1614 src/IROperator.h     user_assert(y.type().is_int()) << "Second argument to mod_round_to_zero is not an integer: " << y << "\n";
type             1615 src/IROperator.h     return Internal::Call::make(x.type(), Internal::Call::mod_round_to_zero,
type             1656 src/IROperator.h         user_assert(seed.type() == Int(32))
type             1658 src/IROperator.h             << seed << " of type " << seed.type() << "\n";
type             1678 src/IROperator.h         user_assert(seed.type() == Int(32) || seed.type() == UInt(32))
type             1680 src/IROperator.h             << seed << " of type " << seed.type() << "\n";
type             1856 src/IROperator.h     return Internal::Call::make(e.type(), Internal::Call::likely,
type             1863 src/IROperator.h     return Internal::Call::make(e.type(), Internal::Call::likely_if_innermost,
type               17 src/IRPrinter.cpp ostream &operator<<(ostream &out, const Type &type) {
type               18 src/IRPrinter.cpp     switch (type.code()) {
type               29 src/IRPrinter.cpp         if (type.handle_type) {
type               30 src/IRPrinter.cpp             out << "(" << type.handle_type->inner_name.name << " *)";
type               36 src/IRPrinter.cpp     if (!type.is_handle()) {
type               37 src/IRPrinter.cpp         out << type.bits();
type               39 src/IRPrinter.cpp     if (type.lanes() > 1) out << 'x' << type.lanes();
type              170 src/IRPrinter.cpp ostream &operator<<(ostream &out, const ForType &type) {
type              171 src/IRPrinter.cpp     switch (type) {
type              235 src/IRPrinter.cpp std::ostream &operator<<(std::ostream &out, const LoweredFunc::LinkageType &type) {
type              236 src/IRPrinter.cpp     switch (type) {
type              276 src/IRPrinter.cpp     if (op->type == Int(32)) {
type              279 src/IRPrinter.cpp         stream << "(" << op->type << ")" << op->value;
type              284 src/IRPrinter.cpp     stream << "(" << op->type << ")" << op->value;
type              288 src/IRPrinter.cpp   switch (op->type.bits()) {
type              299 src/IRPrinter.cpp         internal_error << "Bad bit-width for float: " << op->type << "\n";
type              337 src/IRPrinter.cpp     stream << op->type << '(';
type              514 src/IRPrinter.cpp         stream << op->type << ", ";
type              609 src/IRPrinter.cpp     stream << "allocate " << op->name << "[" << op->type;
type               33 src/ImageParam.cpp         user_assert(b.type() == type())
type               35 src/ImageParam.cpp             << " of type " << type()
type               37 src/ImageParam.cpp             << " of type " << Type(b.type()) << "\n";
type              101 src/InferArguments.cpp                      p.type(), p.dimensions(), def, min, max),
type              125 src/InferArguments.cpp             Argument(b.name(), Argument::InputBuffer, b.type(), b.dimensions()),
type              118 src/InjectHostDevBufferCopies.cpp         if (op->type.is_handle() && ends_with(op->name, ".buffer")) {
type              557 src/InjectHostDevBufferCopies.cpp             stmt = Allocate::make(op->name, op->type, op->extents, const_false(), op->body);
type              586 src/InjectHostDevBufferCopies.cpp             inner_body = Allocate::make(op->name, op->type, op->extents, op->condition, inner_body,
type               49 src/InjectImageIntrinsics.cpp         stmt = Evaluate::make(Call::make(value_arg.type(),
type              114 src/InjectImageIntrinsics.cpp         Type load_type = call->type;
type               72 src/InjectOpenGLIntrinsics.cpp             expr = Call::make(call->type, Call::glsl_texture_load,
type               86 src/InjectOpenGLIntrinsics.cpp             expr = Call::make(call->type, Call::glsl_texture_store,
type               68 src/InlineReductions.cpp                     expr = Variable::make(v->type, var_name);
type              145 src/InlineReductions.cpp     f(v.free_vars) = e.type().min();
type              161 src/InlineReductions.cpp     f(v.free_vars) = e.type().max();
type              185 src/InlineReductions.cpp     initial_tup[value_index] = e.type().min();
type              214 src/InlineReductions.cpp     initial_tup[value_index] = e.type().max();
type               66 src/Introspection.cpp         TypeInfo *type;
type               71 src/Introspection.cpp                            type(nullptr),
type               84 src/Introspection.cpp         TypeInfo *type;
type               88 src/Introspection.cpp             TypeInfo *type;
type               99 src/Introspection.cpp         TypeInfo *type;
type              109 src/Introspection.cpp                           type(nullptr),
type              155 src/Introspection.cpp         enum {Primitive, Class, Struct, Pointer, Typedef, Const, Reference, Array} type;
type              312 src/Introspection.cpp         TypeInfo *t = global_variables[idx].type;
type              317 src/Introspection.cpp         while (t->type == TypeInfo::Array) {
type              318 src/Introspection.cpp             t = t->members[0].type;
type              347 src/Introspection.cpp             if (v.type && v.type->type == TypeInfo::Array && v.type->size) {
type              348 src/Introspection.cpp                 elem_type = v.type->members[0].type;
type              352 src/Introspection.cpp             if (v.type) {
type              353 src/Introspection.cpp                 debug(5) << " with type " << v.type->name << "\n";
type              360 src/Introspection.cpp                  (v.type && type_name_match(v.type->name, type_name)))) {
type              365 src/Introspection.cpp                 int64_t array_size_bytes = v.type->size * elem_type->size;
type              391 src/Introspection.cpp         if (ptr.type) {
type              392 src/Introspection.cpp             debug(5) << " with type " << ptr.type->name << "\n";
type              398 src/Introspection.cpp         internal_assert(ptr.type->type == TypeInfo::Pointer)
type              400 src/Introspection.cpp         internal_assert(ptr.type->members.size() == 1);
type              401 src/Introspection.cpp         TypeInfo *object_type = ptr.type->members[0].type;
type              409 src/Introspection.cpp         heap_object.type = object_type;
type              417 src/Introspection.cpp             member.type = member_spec.type;
type              419 src/Introspection.cpp             if (member.type) {
type              421 src/Introspection.cpp                 debug(5) << member.name << " - " << (int)(member.type->type) << "\n";
type              437 src/Introspection.cpp             if (parent.type->type == TypeInfo::Pointer ||
type              438 src/Introspection.cpp                 parent.type->type == TypeInfo::Reference) continue;
type              440 src/Introspection.cpp             for (size_t j = 0; j < parent.type->members.size(); j++) {
type              441 src/Introspection.cpp                 const LocalVariable &member_spec = parent.type->members[j];
type              442 src/Introspection.cpp                 TypeInfo *member_type = member_spec.type;
type              445 src/Introspection.cpp                 child.type = member_type;
type              447 src/Introspection.cpp                 if (parent.type->type == TypeInfo::Typedef ||
type              448 src/Introspection.cpp                     parent.type->type == TypeInfo::Const) {
type              451 src/Introspection.cpp                 } else if (parent.type->type == TypeInfo::Array) {
type              459 src/Introspection.cpp                 if (child.type) {
type              460 src/Introspection.cpp                     debug(5) << child.name << " - " << (int)(child.type->type) << "\n";
type              472 src/Introspection.cpp             debug(5) << std::hex << mem.addr << std::dec << ": " << mem.type->name << " " << mem.name << "\n";
type              505 src/Introspection.cpp         uint64_t object_end = object_start + obj.type->size;
type              516 src/Introspection.cpp             TypeInfo *t = obj.members[i].type;
type              523 src/Introspection.cpp                      << " and type type " << (int)t->type << "\n";
type              533 src/Introspection.cpp             if (t->type == TypeInfo::Array) {
type              534 src/Introspection.cpp                 TypeInfo *elem_type = t->members[0].type;
type              548 src/Introspection.cpp             } else if (t->type == TypeInfo::Struct ||
type              549 src/Introspection.cpp                        t->type == TypeInfo::Class ||
type              550 src/Introspection.cpp                        t->type == TypeInfo::Primitive) {
type              676 src/Introspection.cpp             TypeInfo *type = var.type;
type              678 src/Introspection.cpp             if (type && type->type == TypeInfo::Array && type->size) {
type              679 src/Introspection.cpp                 elem_type = type->members[0].type;
type              682 src/Introspection.cpp             if (offset == var.stack_offset && var.type) {
type              683 src/Introspection.cpp                 debug(5) << "Considering match: " << var.type->name << ", " << var.name << "\n";
type              688 src/Introspection.cpp                  (type && type_name_match(type->name, type_name)))) {
type              695 src/Introspection.cpp                 int64_t array_size_bytes = type->size * elem_type->size;
type              802 src/Introspection.cpp                 TypeInfo *c = types[i].members[j].type;
type              825 src/Introspection.cpp                 TypeInfo *c = v.type;
type              854 src/Introspection.cpp             TypeInfo *c = v.type;
type             1359 src/Introspection.cpp                             type_info.type = TypeInfo::Primitive;
type             1366 src/Introspection.cpp                             type_info.type = TypeInfo::Class;
type             1373 src/Introspection.cpp                             type_info.type = TypeInfo::Struct;
type             1380 src/Introspection.cpp                             type_info.type = TypeInfo::Typedef;
type             1395 src/Introspection.cpp                             type_info.type = TypeInfo::Pointer;
type             1408 src/Introspection.cpp                             type_info.type = TypeInfo::Reference;
type             1419 src/Introspection.cpp                             type_info.type = TypeInfo::Const;
type             1430 src/Introspection.cpp                             type_info.type = TypeInfo::Array;
type             1499 src/Introspection.cpp                             type_stack.back().first.type == TypeInfo::Array) {
type             1503 src/Introspection.cpp                                    type_stack.back().first.type == TypeInfo::Array) {
type             1627 src/Introspection.cpp                             v.type = origin->type;
type             1656 src/Introspection.cpp                         var.type = spec->type;
type             1674 src/Introspection.cpp                     functions[i].variables[j].type =
type             1680 src/Introspection.cpp                 global_variables[i].type =
type             1686 src/Introspection.cpp                     types[i].members[j].type =
type             1697 src/Introspection.cpp                 if (t->type == TypeInfo::Pointer) {
type             1700 src/Introspection.cpp                     t = t->members[0].type;
type             1701 src/Introspection.cpp                 } else if (t->type == TypeInfo::Reference) {
type             1704 src/Introspection.cpp                     t = t->members[0].type;
type             1705 src/Introspection.cpp                 } else if (t->type == TypeInfo::Const) {
type             1708 src/Introspection.cpp                     t = t->members[0].type;
type             1709 src/Introspection.cpp                 } else if (t->type == TypeInfo::Array) {
type             1719 src/Introspection.cpp                     t = t->members[0].type;
type             1743 src/Introspection.cpp                 if (v.type &&
type             1744 src/Introspection.cpp                     (v.type->type == TypeInfo::Struct ||
type             1745 src/Introspection.cpp                      v.type->type == TypeInfo::Class ||
type             1746 src/Introspection.cpp                      v.type->type == TypeInfo::Typedef)) {
type             1747 src/Introspection.cpp                     size_t members = v.type->members.size();
type             1749 src/Introspection.cpp                                     v.type->members.begin(),
type             1750 src/Introspection.cpp                                     v.type->members.end());
type             1753 src/Introspection.cpp                     if (new_vars[j].type->type == TypeInfo::Typedef) {
type             1773 src/Introspection.cpp                     if (functions[i].variables[j].type) {
type             1774 src/Introspection.cpp                         debug(5) << " " << functions[i].variables[j].type->name << " " << functions[i].variables[j].name << "\n";
type             1784 src/Introspection.cpp             if (v.type && v.addr &&
type             1785 src/Introspection.cpp                 (v.type->type == TypeInfo::Struct ||
type             1786 src/Introspection.cpp                  v.type->type == TypeInfo::Class ||
type             1787 src/Introspection.cpp                  v.type->type == TypeInfo::Typedef)) {
type             1789 src/Introspection.cpp                 vector<LocalVariable> &members = v.type->members;
type             1798 src/Introspection.cpp                     mem.type = members[j].type;
type             1825 src/Introspection.cpp                     if (!v.name.empty() && v.type && v.stack_offset != no_location) {
type               69 src/Introspection.h static bool check_introspection(const void *var, const std::string &type,
type               74 src/Introspection.h     std::string name = Introspection::get_variable_name(var, type);
type               15 src/Lerp.cpp       internal_assert(zero_val.type() == one_val.type());
type               16 src/Lerp.cpp       internal_assert(weight.type().is_uint() || weight.type().is_float());
type               18 src/Lerp.cpp       Type result_type = zero_val.type();
type               23 src/Lerp.cpp       if (zero_val.type().is_int()) {
type               24 src/Lerp.cpp           computation_type = UInt(zero_val.type().bits(), zero_val.type().lanes());
type               41 src/Lerp.cpp           if (weight.type().is_float())
type               44 src/Lerp.cpp               half_weight = weight.type().max() / 2;
type               52 src/Lerp.cpp           if (weight.type().is_float()) {
type               62 src/Lerp.cpp                                      Cast::make(Float(64, typed_weight.type().lanes()), typed_weight));
type               75 src/Lerp.cpp                   int weight_bits = weight.type().bits();
type              100 src/Lerp.cpp                   int bit_size_difference = weight.type().bits() - computation_type.bits();
type              107 src/Lerp.cpp                       int shift_amount = std::min(computation_type.bits(), weight.type().bits());
type              122 src/Lerp.cpp                                          weight / cast(weight.type(), (int32_t)scaling_factor));
type              145 src/Lerp.cpp                   Expr  one_expand = Cast::make(UInt(2 * bits, one_val.type().lanes()),
type               27 src/LoopCarry.cpp     if (e.type() != Int(32)) {
type               34 src/LoopCarry.cpp             return make_zero(v->type);
type               37 src/LoopCarry.cpp         return make_zero(op->type);
type              391 src/LoopCarry.cpp                 Expr scratch_idx = scratch_index(i, orig_load->type);
type              392 src/LoopCarry.cpp                 Expr load_from_scratch = Load::make(orig_load->type, scratch, scratch_idx,
type              393 src/LoopCarry.cpp                                                     Buffer<>(), Parameter(), const_true(orig_load->type.lanes()));
type              400 src/LoopCarry.cpp                                                         Parameter(), const_true(orig_load->type.lanes()));
type              407 src/LoopCarry.cpp                                                scratch_index(i-1, orig_load->type),
type              408 src/LoopCarry.cpp                                                Parameter(), const_true(orig_load->type.lanes()));
type              434 src/LoopCarry.cpp                 Expr scratch_idx = scratch_index(i, initial_scratch_values[i].type());
type              437 src/LoopCarry.cpp                                                     const_true(scratch_idx.type().lanes()));
type              458 src/LoopCarry.cpp                         loads[c.front()][0]->type.element_of(),
type              459 src/LoopCarry.cpp                         (int)c.size() * loads[c.front()][0]->type.lanes(),
type              490 src/LoopCarry.cpp         Type type;
type              529 src/LoopCarry.cpp                 stmt = Allocate::make(alloc.name, alloc.type, {alloc.size}, const_true(), stmt);
type              334 src/Lower.cpp                                             buf.type(), buf.dimensions()));
type               31 src/Memoization.cpp                     record(Halide::Internal::Parameter(extern_args[i].buffer.type(), true,
type               85 src/Memoization.cpp         info.type = parameter.type();
type               93 src/Memoization.cpp         } else if (info.type.is_handle()) {
type              100 src/Memoization.cpp             info.size_expr = info.type.bytes();
type              101 src/Memoization.cpp             info.value_expr = Internal::Variable::make(info.type, parameter.name(), parameter);
type              104 src/Memoization.cpp         dependency_info[DependencyKey(info.type.bytes(), parameter.name())] = info;
type              109 src/Memoization.cpp         info.type = expr.type();
type              110 src/Memoization.cpp         info.size_expr = info.type.bytes();
type              112 src/Memoization.cpp         dependency_info[DependencyKey(info.type.bytes(), unique_name("memoize_tag"))] = info;
type              136 src/Memoization.cpp         Type type;
type              156 src/Memoization.cpp             int alignment = i.second.type.bytes();
type              512 src/Memoization.cpp                 body = Allocate::make(allocation->name, allocation->type, allocation->extents, allocation->condition, body,
type              379 src/ModulusRemainder.cpp     bool value_interesting = op->value.type().is_int();
type               37 src/Monotonic.cpp         if (op->type.can_represent(op->value.type())) {
type               42 src/Monotonic.cpp         if (op->value.type().bits() >= 32 && op->type.bits() >= 32) {
type               17 src/OutputImageParam.cpp     return param.type();
type               85 src/OutputImageParam.cpp     return Argument(name(), kind, type(), dimensions());
type               41 src/OutputImageParam.h     EXPORT Type type() const;
type               56 src/ParallelRVar.cpp             expr = Variable::make(op->type, get_new_name(op->name));
type               83 src/ParallelRVar.cpp         if (op->value.type() == Bool()) {
type               52 src/Param.h        template <typename T2 = T, typename std::enable_if<!std::is_pointer<T2>::value>::type * = nullptr>
type              110 src/Param.h        Type type() const {
type              123 src/Param.h            if (min.defined() && min.type() != type_of<T>()) {
type              130 src/Param.h            if (max.defined() && max.type() != type_of<T>()) {
type              161 src/Param.h            return Argument(name(), Argument::InputScalar, type(), 0,
type               12 src/Parameter.cpp     const Type type;
type               28 src/Parameter.cpp         : type(t), dimensions(d), name(n), buffer(Buffer<>()), data(0),
type              122 src/Parameter.cpp     return contents->type;
type              152 src/Parameter.cpp     const Type t = type();
type              191 src/Parameter.cpp         user_assert(contents->type == b.type())
type              193 src/Parameter.cpp             << " of type " << contents->type
type              195 src/Parameter.cpp             << " of type " << Type(b.type()) << "\n";
type              261 src/Parameter.cpp         user_assert(e.type() == contents->type)
type              263 src/Parameter.cpp             << " of type " << contents->type
type              265 src/Parameter.cpp             << " of type " << e.type() << "\n";
type              278 src/Parameter.cpp         user_assert(e.type() == contents->type)
type              280 src/Parameter.cpp             << " of type " << contents->type
type              282 src/Parameter.cpp             << " of type " << e.type() << "\n";
type              360 src/Parameter.cpp         Type t = (*args)[i].type();
type               60 src/Parameter.h     EXPORT Type type() const;
type               84 src/Parameter.h         user_assert(type() == type_of<T>() || (type().is_handle() && type_of<T>() == UInt(64)))
type               85 src/Parameter.h             << "Can't get Param<" << type()
type               99 src/Parameter.h         user_assert(type() == type_of<T>() || (type().is_handle() && type_of<T>() == UInt(64)))
type              100 src/Parameter.h             << "Can't set Param<" << type()
type              267 src/PartitionLoops.cpp         if (s.condition.type().is_vector()) {
type              277 src/PartitionLoops.cpp         internal_assert(s.condition.type().is_scalar()) << s.condition << "\n";
type              773 src/PartitionLoops.cpp             Expr new_var = Variable::make(op->value.type(), new_name);
type              807 src/PartitionLoops.cpp                 inner = Allocate::make(a->name, a->type, a->extents, a->condition, inner);
type              844 src/PartitionLoops.cpp             inner = Allocate::make(allocate_a->name, allocate_a->type, allocate_a->extents, allocate_a->condition, inner);
type              848 src/PartitionLoops.cpp             Expr condition = Variable::make(op->condition.type(), condition_name);
type              856 src/PartitionLoops.cpp             inner = substitute(let_a->name, Variable::make(let_a->value.type(), new_name), inner);
type              863 src/PartitionLoops.cpp             inner = substitute(let_b->name, Variable::make(let_b->value.type(), new_name), inner);
type              901 src/PartitionLoops.cpp                 Expr var = Variable::make(true_value.type(), var_name);
type              910 src/PartitionLoops.cpp                 Expr var = Variable::make(false_value.type(), var_name);
type              964 src/PartitionLoops.cpp                 expr = Call::make(op->type, Call::likely, {mutate(op->args[0])}, Call::PureIntrinsic);
type              289 src/Pipeline.cpp         debug(1) << "Inferred argument: " << arg.arg.type << " " << arg.arg.name << "\n";
type              666 src/Pipeline.cpp         Type type;
type              686 src/Pipeline.cpp         Type type = output_buffer_types[i].type;
type              693 src/Pipeline.cpp         user_assert(dst[i].type() == type)
type              696 src/Pipeline.cpp             << " because Buffer has type " << Type(dst[i].type())
type              698 src/Pipeline.cpp             << "\" has type " << type << ".\n";
type              769 src/Pipeline.cpp                                     arg.arg.type);
type              919 src/Pipeline.cpp             tracked_buffers[i].query = Runtime::Buffer<>(ia.param.type(), nullptr, initial_shape);
type              920 src/Pipeline.cpp             tracked_buffers[i].orig = Runtime::Buffer<>(ia.param.type(), nullptr, initial_shape);
type              129 src/Prefetch.cpp             scope.push(op->name, Interval(Variable::make(op->value.type(), min_name),
type              130 src/Prefetch.cpp                                           Variable::make(op->value.type(), max_name)));
type              176 src/Prefetch.cpp             prefetch = Prefetch::make(buf_name, {param.type()}, bounds, param);
type              283 src/Prefetch.cpp             internal_assert(base && base->type.is_handle());
type              299 src/Prefetch.cpp             stmt = Evaluate::make(Call::make(call->type, Call::prefetch, args, Call::Intrinsic));
type              329 src/Prefetch.cpp             internal_assert(base && base->type.is_handle());
type              331 src/Prefetch.cpp             int elem_size = base->type.bytes();
type              354 src/Prefetch.cpp                     Expr abs_stride_bytes = Call::make(stride_bytes.type(), Call::abs, {stride_bytes}, Call::PureIntrinsic);
type              362 src/Prefetch.cpp             stmt = Evaluate::make(Call::make(call->type, Call::prefetch, args, Call::Intrinsic));
type               72 src/Profiling.cpp                                  const Type &type,
type               84 src/Profiling.cpp             int64_t stack_bytes = constant_size * type.bytes();
type               99 src/Profiling.cpp         size = simplify(Select::make(condition, size * type.bytes(), make_zero(UInt(64))));
type              115 src/Profiling.cpp         Expr size = compute_allocation_size(new_extents, condition, op->type, op->name, on_stack);
type              116 src/Profiling.cpp         internal_assert(size.type() == UInt(64));
type              142 src/Profiling.cpp             stmt = Allocate::make(op->name, op->type, new_extents, condition, body, new_expr, op->free_function);
type              158 src/Profiling.cpp         internal_assert(alloc.size.type() == UInt(64));
type               19 src/Qualify.cpp             expr = Variable::make(v->type, prefix + v->name, v->reduction_domain);
type               21 src/Random.cpp     internal_assert(x.type() == UInt(32));
type               68 src/Random.cpp     internal_assert(e[0].type() == Int(32) || e[0].type() == UInt(32));
type               72 src/Random.cpp         internal_assert(e[i].type() == Int(32) || e[i].type() == UInt(32));
type              103 src/Random.cpp             if (op->type == Float(32)) {
type              105 src/Random.cpp             } else if (op->type == Int(32)) {
type              107 src/Random.cpp             } else if (op->type == UInt(32)) {
type              167 src/Reduction.cpp             expr = Variable::make(op->type, op->name);
type               57 src/RemoveDeadAllocations.cpp             stmt = Allocate::make(op->name, op->type, op->extents, op->condition, body, op->new_expr, op->free_function);
type               50 src/RemoveUndef.cpp             expr = Cast::make(op->type, value);
type              126 src/RemoveUndef.cpp             expr = Load::make(op->type, op->name, index, op->image, op->param, pred);
type              171 src/RemoveUndef.cpp             expr = Call::make(op->type, op->name, new_args, op->call_type,
type              334 src/RemoveUndef.cpp                 new_value = undef(old_value.type());
type              393 src/RemoveUndef.cpp             stmt = Allocate::make(op->name, op->type, new_extents, condition, body, new_expr, op->free_function);
type               31 src/ScheduleFunctions.cpp     Type type;
type              159 src/ScheduleFunctions.cpp         internal_assert(nest[i].type == Container::Let);
type              182 src/ScheduleFunctions.cpp         internal_assert(nest[i].type == Container::If);
type              202 src/ScheduleFunctions.cpp         if (nest[i].type == Container::Let) {
type              205 src/ScheduleFunctions.cpp         } else if (nest[i].type == Container::If) {
type              209 src/ScheduleFunctions.cpp             internal_assert(nest[i].type == Container::For);
type              362 src/ScheduleFunctions.cpp                 Parameter p(b.type(), true, b.dimensions(), b.name());
type              587 src/ScheduleFunctions.cpp         if (op->type.is_handle() &&
type              852 src/ScheduleFunctions.cpp         if (v->type.is_handle() &&
type                9 src/ScheduleParam.cpp       type(t),
type               25 src/ScheduleParam.cpp       type(that.type), 
type               35 src/ScheduleParam.cpp         internal_assert(type == that.type);
type               37 src/ScheduleParam.cpp         type = that.type;
type               27 src/ScheduleParam.h         return type == Handle();
type               32 src/ScheduleParam.h         return type;
type               73 src/ScheduleParam.h     Type type;
type               93 src/ScheduleParam.h     template <typename TO2 = TO, typename std::enable_if<!std::is_same<TO2, bool>::value>::type * = nullptr>
type               96 src/ScheduleParam.h     template <typename TO2 = TO, typename std::enable_if<std::is_same<TO2, bool>::value>::type * = nullptr>
type              113 src/ScheduleParam.h               typename std::enable_if<std::is_arithmetic<T2>::value>::type * = nullptr>
type              119 src/ScheduleParam.h               typename std::enable_if<!std::is_arithmetic<T2>::value>::type * = nullptr>
type              125 src/ScheduleParam.h                                                    std::is_convertible<T2, T>::value>::type * = nullptr>
type              126 src/ScheduleParam.h     HALIDE_ALWAYS_INLINE void typed_setter_impl(const T2 &value, const char *type) {
type              134 src/ScheduleParam.h                 user_error << "The ScheduleParam " << name() << " cannot be set with a value of type " << type << ".\n";
type              140 src/ScheduleParam.h     template <typename T2, typename std::enable_if<std::is_same<T2, LoopLevel>::value>::type * = nullptr>
type              146 src/ScheduleParam.h     template <typename T2, typename std::enable_if<!std::is_convertible<T2, T>::value>::type * = nullptr>
type              147 src/ScheduleParam.h     HALIDE_ALWAYS_INLINE void typed_setter_impl(const T2 &value, const char *type) {
type              148 src/ScheduleParam.h         user_error << "The ScheduleParam " << name() << " cannot be set with a value of type " << type << ".\n";
type              152 src/ScheduleParam.h               typename std::enable_if<std::is_same<T2, LoopLevel>::value>::type * = nullptr>
type              164 src/ScheduleParam.h               typename std::enable_if<std::is_same<T2, bool>::value>::type * = nullptr>
type              176 src/ScheduleParam.h               typename std::enable_if<std::is_arithmetic<T2>::value && !std::is_same<T2, bool>::value>::type * = nullptr>
type              117 src/Simplify.cpp         if (call->type != t) {
type              267 src/Simplify.cpp         if (e.type().is_vector()) {
type              278 src/Simplify.cpp         if (e.type().is_vector()) {
type              289 src/Simplify.cpp         if (e.type().is_vector()) {
type              306 src/Simplify.cpp         Type t = e.type();
type              447 src/Simplify.cpp         if (!no_overflow(e.type())) return Expr();
type              460 src/Simplify.cpp         if (!no_overflow(e.type())) return Expr();
type              469 src/Simplify.cpp         if (propagate_indeterminate_expression(value, op->type, &expr)) {
type              479 src/Simplify.cpp         if (value.type() == op->type) {
type              481 src/Simplify.cpp         } else if (op->type.is_int() &&
type              484 src/Simplify.cpp             expr = IntImm::make(op->type, (int64_t)f);
type              485 src/Simplify.cpp         } else if (op->type.is_uint() &&
type              488 src/Simplify.cpp             expr = UIntImm::make(op->type, (uint64_t)f);
type              489 src/Simplify.cpp         } else if (op->type.is_float() &&
type              492 src/Simplify.cpp             expr = FloatImm::make(op->type, f);
type              493 src/Simplify.cpp         } else if (op->type.is_int() &&
type              496 src/Simplify.cpp             expr = IntImm::make(op->type, i);
type              497 src/Simplify.cpp         } else if (op->type.is_uint() &&
type              500 src/Simplify.cpp             expr = UIntImm::make(op->type, (uint64_t)i);
type              501 src/Simplify.cpp         } else if (op->type.is_float() &&
type              504 src/Simplify.cpp             expr = FloatImm::make(op->type, (double)i);
type              505 src/Simplify.cpp         } else if (op->type.is_int() &&
type              508 src/Simplify.cpp             expr = IntImm::make(op->type, (int64_t)u);
type              509 src/Simplify.cpp         } else if (op->type.is_uint() &&
type              512 src/Simplify.cpp             expr = UIntImm::make(op->type, u);
type              513 src/Simplify.cpp         } else if (op->type.is_float() &&
type              516 src/Simplify.cpp             expr = FloatImm::make(op->type, (double)u);
type              518 src/Simplify.cpp                    op->type.code() == cast->type.code() &&
type              519 src/Simplify.cpp                    op->type.bits() < cast->type.bits()) {
type              523 src/Simplify.cpp             expr = mutate(Cast::make(op->type, cast->value));
type              525 src/Simplify.cpp                    (op->type.is_int() || op->type.is_uint()) &&
type              526 src/Simplify.cpp                    (cast->type.is_int() || cast->type.is_uint()) &&
type              527 src/Simplify.cpp                    op->type.bits() <= cast->type.bits() &&
type              528 src/Simplify.cpp                    op->type.bits() <= op->value.type().bits()) {
type              534 src/Simplify.cpp             expr = mutate(Cast::make(op->type, cast->value));
type              537 src/Simplify.cpp             expr = mutate(Broadcast::make(Cast::make(op->type.element_of(), broadcast_value->value), broadcast_value->lanes));
type              539 src/Simplify.cpp                    op->type.element_of() == Int(64) &&
type              540 src/Simplify.cpp                    op->value.type().element_of() == Int(32)) {
type              542 src/Simplify.cpp             expr = mutate(Ramp::make(Cast::make(op->type.element_of(), ramp_value->base),
type              543 src/Simplify.cpp                                      Cast::make(op->type.element_of(), ramp_value->stride),
type              546 src/Simplify.cpp                    op->type == Int(64) &&
type              547 src/Simplify.cpp                    op->value.type() == Int(32) &&
type              551 src/Simplify.cpp             expr = mutate(Cast::make(op->type, add->a) + add->b);
type              555 src/Simplify.cpp             expr = Cast::make(op->type, value);
type              566 src/Simplify.cpp                 internal_assert(info.replacement.type() == op->type) << "Cannot replace variable " << op->name
type              567 src/Simplify.cpp                     << " of type " << op->type << " with expression of type " << info.replacement.type() << "\n";
type              590 src/Simplify.cpp         if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type              653 src/Simplify.cpp             if (no_overflow(a.type()) &&
type              654 src/Simplify.cpp                 add_would_overflow(a.type().bits(), ia, ib)) {
type              655 src/Simplify.cpp                 expr = signed_integer_overflow_error(a.type());
type              657 src/Simplify.cpp                 expr = IntImm::make(a.type(), ia + ib);
type              662 src/Simplify.cpp             expr = UIntImm::make(a.type(), ua + ub);
type              666 src/Simplify.cpp             expr = FloatImm::make(a.type(), fa + fb);
type              673 src/Simplify.cpp             expr = mutate(a * make_const(op->type, 2));
type              779 src/Simplify.cpp                    no_overflow(op->type)) {
type              781 src/Simplify.cpp             expr = mutate(a * (make_one(op->type) + mul_b->b));
type              785 src/Simplify.cpp                    no_overflow(op->type)) {
type              787 src/Simplify.cpp             expr = mutate((make_one(op->type) + mul_b->a) * a);
type              791 src/Simplify.cpp                    no_overflow(op->type)) {
type              793 src/Simplify.cpp             expr = mutate(mul_a->a * (mul_a->b + make_one(op->type)));
type              797 src/Simplify.cpp                    no_overflow(op->type)) {
type              799 src/Simplify.cpp             expr = mutate((mul_a->a + make_one(op->type)) * b);
type              800 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              806 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              812 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              818 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              825 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              833 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              841 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              849 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              869 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              876 src/Simplify.cpp             expr = mutate((add_a_a->a + IntImm::make(op->type, ia + ib*ic)) / div_a->b);
type              899 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              908 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              916 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              924 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              932 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type              945 src/Simplify.cpp             Expr ratio = make_const(a.type(), div_imp(ia, ib));
type              958 src/Simplify.cpp         if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type             1015 src/Simplify.cpp             expr = make_zero(op->type);
type             1017 src/Simplify.cpp             if (no_overflow(a.type()) &&
type             1018 src/Simplify.cpp                 sub_would_overflow(a.type().bits(), ia, ib)) {
type             1019 src/Simplify.cpp                 expr = signed_integer_overflow_error(a.type());
type             1021 src/Simplify.cpp                 expr = IntImm::make(a.type(), ia - ib);
type             1024 src/Simplify.cpp             expr = UIntImm::make(a.type(), ua - ub);
type             1026 src/Simplify.cpp             expr = FloatImm::make(a.type(), fa - fb);
type             1028 src/Simplify.cpp             expr = mutate(a + IntImm::make(a.type(), (-ib)));
type             1030 src/Simplify.cpp             expr = mutate(a + FloatImm::make(a.type(), (-fb)));
type             1048 src/Simplify.cpp                                      make_zero(ramp_b->stride.type())- ramp_b->stride,
type             1064 src/Simplify.cpp                                        make_zero(op->type),
type             1071 src/Simplify.cpp                                        make_zero(op->type)));
type             1076 src/Simplify.cpp                                        make_zero(op->type),
type             1083 src/Simplify.cpp                                        make_zero(op->type)));
type             1092 src/Simplify.cpp             expr = mutate(make_zero(add_b->a.type()) - add_b->a);
type             1095 src/Simplify.cpp             expr = mutate(make_zero(add_b->a.type()) - add_b->b);
type             1100 src/Simplify.cpp                    no_overflow(op->type)) {
type             1102 src/Simplify.cpp             expr = mutate(Max::make(make_zero(op->type), max_a->b - max_a->a));
type             1106 src/Simplify.cpp                    no_overflow(op->type)) {
type             1108 src/Simplify.cpp             expr = mutate(Min::make(make_zero(op->type), min_a->b - min_a->a));
type             1112 src/Simplify.cpp                    no_overflow(op->type)) {
type             1114 src/Simplify.cpp             expr = mutate(Max::make(max_a->a - max_a->b, make_zero(op->type)));
type             1118 src/Simplify.cpp                    no_overflow(op->type)) {
type             1120 src/Simplify.cpp             expr = mutate(Min::make(min_a->a - min_a->b, make_zero(op->type)));
type             1125 src/Simplify.cpp                    no_overflow(op->type)) {
type             1127 src/Simplify.cpp             expr = mutate(Min::make(make_zero(op->type), max_b->a - max_b->b));
type             1131 src/Simplify.cpp                    no_overflow(op->type)) {
type             1133 src/Simplify.cpp             expr = mutate(Max::make(make_zero(op->type), min_b->a - min_b->b));
type             1137 src/Simplify.cpp                    no_overflow(op->type)) {
type             1139 src/Simplify.cpp             expr = mutate(Min::make(max_b->b - max_b->a, make_zero(op->type)));
type             1143 src/Simplify.cpp                    no_overflow(op->type)) {
type             1145 src/Simplify.cpp             expr = mutate(Max::make(min_b->b - min_b->a, make_zero(op->type)));
type             1171 src/Simplify.cpp                    no_overflow(op->type)) {
type             1173 src/Simplify.cpp             expr = mutate(a * (make_one(op->type) - mul_b->b));
type             1177 src/Simplify.cpp                    no_overflow(op->type)) {
type             1179 src/Simplify.cpp             expr = mutate((make_one(op->type) - mul_b->a) * a);
type             1183 src/Simplify.cpp                    no_overflow(op->type)) {
type             1185 src/Simplify.cpp             expr = mutate(mul_a->a * (mul_a->b - make_one(op->type)));
type             1189 src/Simplify.cpp                    no_overflow(op->type)) {
type             1191 src/Simplify.cpp             expr = mutate((mul_a->a - make_one(op->type)) * b);
type             1237 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1240 src/Simplify.cpp                    no_overflow(op->type) &&
type             1247 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1250 src/Simplify.cpp                    no_overflow(op->type) &&
type             1254 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1260 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1266 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1272 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1278 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1284 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1295 src/Simplify.cpp             expr = make_zero(op->type);
type             1301 src/Simplify.cpp             expr = make_zero(op->type);
type             1302 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1308 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1314 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1320 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1326 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1327 src/Simplify.cpp                    (op->type.is_int() || op->type.is_uint()) &&
type             1334 src/Simplify.cpp             expr = mutate(make_zero(a.type()) - (b % mul_a->b));
type             1335 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1336 src/Simplify.cpp                    (op->type.is_int() || op->type.is_uint()) &&
type             1348 src/Simplify.cpp                    op->type.is_int() &&
type             1349 src/Simplify.cpp                    no_overflow(op->type) &&
type             1371 src/Simplify.cpp                    op->type.is_int() &&
type             1372 src/Simplify.cpp                    no_overflow(op->type) &&
type             1382 src/Simplify.cpp                    op->type.is_int() &&
type             1383 src/Simplify.cpp                    no_overflow(op->type) &&
type             1393 src/Simplify.cpp                    op->type.is_int() &&
type             1394 src/Simplify.cpp                    no_overflow(op->type) &&
type             1404 src/Simplify.cpp                    op->type.is_int() &&
type             1405 src/Simplify.cpp                    no_overflow(op->type) &&
type             1415 src/Simplify.cpp                    op->type.is_int() &&
type             1416 src/Simplify.cpp                    no_overflow(op->type) &&
type             1429 src/Simplify.cpp                    op->type.is_int() &&
type             1430 src/Simplify.cpp                    no_overflow(op->type) &&
type             1449 src/Simplify.cpp         if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type             1486 src/Simplify.cpp             if (no_overflow(a.type()) &&
type             1487 src/Simplify.cpp                 mul_would_overflow(a.type().bits(), ia, ib)) {
type             1488 src/Simplify.cpp                 expr = signed_integer_overflow_error(a.type());
type             1490 src/Simplify.cpp                 expr = IntImm::make(a.type(), ia * ib);
type             1493 src/Simplify.cpp             expr = UIntImm::make(a.type(), ua * ub);
type             1495 src/Simplify.cpp             expr = FloatImm::make(a.type(), fa * fb);
type             1552 src/Simplify.cpp         if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type             1620 src/Simplify.cpp             expr = make_const(op->type, div_imp(num_max, ib));
type             1625 src/Simplify.cpp         if (ramp_a && no_overflow_scalar_int(ramp_a->base.type())) {
type             1630 src/Simplify.cpp         if (is_zero(b) && !op->type.is_float()) {
type             1631 src/Simplify.cpp             expr = indeterminate_expression_error(op->type);
type             1637 src/Simplify.cpp             expr = make_one(op->type);
type             1640 src/Simplify.cpp             expr = IntImm::make(op->type, div_imp(ia, ib));
type             1643 src/Simplify.cpp             expr = UIntImm::make(op->type, ua / ub);
type             1647 src/Simplify.cpp             expr = FloatImm::make(op->type, fa / fb);
type             1650 src/Simplify.cpp         } else if (no_overflow_scalar_int(op->type) &&
type             1653 src/Simplify.cpp             expr = mutate(select(b < make_zero(op->type),
type             1654 src/Simplify.cpp                                  make_one(op->type),
type             1655 src/Simplify.cpp                                  make_const(op->type, -1)));
type             1657 src/Simplify.cpp                    no_overflow_scalar_int(ramp_a->base.type()) &&
type             1664 src/Simplify.cpp             Type t = op->type.element_of();
type             1669 src/Simplify.cpp                    no_overflow_scalar_int(ramp_a->base.type()) &&
type             1678 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1685 src/Simplify.cpp             expr = mutate(div_a->a / make_const(op->type, ia * ib));
type             1686 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1695 src/Simplify.cpp             expr = mutate((div_a_a->a + make_const(op->type, ia*ib)) / make_const(op->type, ia*ic));
type             1696 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1705 src/Simplify.cpp                 expr = mutate(mul_a->a * make_const(op->type, div_imp(ia, ib)));
type             1708 src/Simplify.cpp                 expr = mutate(mul_a->a / make_const(op->type, div_imp(ib, ia)));
type             1710 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1719 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1721 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1729 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1731 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1740 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1742 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1750 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1752 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1762 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1764 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1773 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1775 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1784 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1786 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1795 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1797 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1806 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1808 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1817 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1819 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1828 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1830 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1840 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1842 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1849 src/Simplify.cpp             Expr ratio = make_const(op->type, div_imp(ia, ib));
type             1853 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1857 src/Simplify.cpp             expr = mutate(add_a->b/b + make_one(op->type));
type             1858 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1862 src/Simplify.cpp             expr = mutate(add_a->a/b + make_one(op->type));
type             1863 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1868 src/Simplify.cpp             expr = mutate((make_zero(op->type) - sub_a->b)/b + make_one(op->type));
type             1869 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1873 src/Simplify.cpp             expr = mutate(sub_a->a/b + make_const(op->type, -1));
type             1876 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1881 src/Simplify.cpp             expr = mutate((add_a_a->b + add_a->b)/b + make_one(op->type));
type             1882 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1887 src/Simplify.cpp             expr = mutate((add_a_a->a + add_a->b)/b + make_one(op->type));
type             1888 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1893 src/Simplify.cpp             expr = mutate((add_a->a + add_a_b->a)/b + make_one(op->type));
type             1894 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1899 src/Simplify.cpp             expr = mutate((add_a->a + add_a_b->b)/b + make_one(op->type));
type             1901 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1906 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1911 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1917 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1923 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1929 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1936 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1941 src/Simplify.cpp             expr = mutate(mul_a_a->a + ((make_zero(op->type) - sub_a->b) / b));
type             1942 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1947 src/Simplify.cpp             expr = mutate(mul_a_a->b + ((make_zero(op->type) - sub_a->b) / b));
type             1948 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1954 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             1961 src/Simplify.cpp         } else if (b.type().is_float() && is_simple_const(b)) {
type             1964 src/Simplify.cpp             expr = mutate(a * (make_one(b.type()) / b));
type             1975 src/Simplify.cpp         if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type             1995 src/Simplify.cpp             no_overflow_scalar_int(op->type)) {
type             2014 src/Simplify.cpp             no_overflow_scalar_int(ramp_a->base.type())) {
type             2018 src/Simplify.cpp         if (is_zero(b) && !op->type.is_float()) {
type             2019 src/Simplify.cpp             expr = indeterminate_expression_error(op->type);
type             2023 src/Simplify.cpp             expr = IntImm::make(op->type, mod_imp(ia, ib));
type             2025 src/Simplify.cpp             expr = UIntImm::make(op->type, ua % ub);
type             2027 src/Simplify.cpp             expr = FloatImm::make(op->type, mod_imp(fa, fb));
type             2030 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2037 src/Simplify.cpp             expr = make_zero(op->type);
type             2038 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2047 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2055 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2064 src/Simplify.cpp         } else if (no_overflow_scalar_int(op->type) &&
type             2069 src/Simplify.cpp             expr = make_const(op->type, mod_imp((int64_t)mod_rem.remainder, ib));
type             2070 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2080 src/Simplify.cpp                    no_overflow_scalar_int(ramp_a->base.type()) &&
type             2088 src/Simplify.cpp             Expr new_base = make_const(ramp_a->base.type(), mod_imp((int64_t)mod_rem.remainder, ib));
type             2091 src/Simplify.cpp                    no_overflow_scalar_int(ramp_a->base.type()) &&
type             2099 src/Simplify.cpp             Type t = ramp_a->base.type();
type             2112 src/Simplify.cpp         if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type             2169 src/Simplify.cpp             expr = IntImm::make(op->type, std::min(ia, ib));
type             2173 src/Simplify.cpp             expr = UIntImm::make(op->type, std::min(ua, ub));
type             2177 src/Simplify.cpp             expr = FloatImm::make(op->type, std::min(fa, fb));
type             2180 src/Simplify.cpp                    b.type().is_max(ib)) {
type             2185 src/Simplify.cpp                    b.type().is_min(ib)) {
type             2190 src/Simplify.cpp                    b.type().is_max(ub)) {
type             2194 src/Simplify.cpp         } else if (op->type.is_uint() &&
type             2212 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2229 src/Simplify.cpp         if (no_overflow(op->type) &&
type             2241 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2251 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2261 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2389 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2396 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2402 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2408 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2423 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2431 src/Simplify.cpp             Expr factor = make_const(op->type, ia);
type             2437 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2443 src/Simplify.cpp             Expr factor = make_const(op->type, ia);
type             2449 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2456 src/Simplify.cpp             Expr ratio  = make_const(op->type, ib / ia);
type             2457 src/Simplify.cpp             Expr factor = make_const(op->type, ia);
type             2481 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2502 src/Simplify.cpp         if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type             2554 src/Simplify.cpp             expr = IntImm::make(op->type, std::max(ia, ib));
type             2558 src/Simplify.cpp             expr = UIntImm::make(op->type, std::max(ua, ub));
type             2562 src/Simplify.cpp             expr = FloatImm::make(op->type, std::max(fa, fb));
type             2565 src/Simplify.cpp                    b.type().is_min(ib)) {
type             2570 src/Simplify.cpp                    b.type().is_max(ib)) {
type             2574 src/Simplify.cpp         } else if (op->type.is_uint() &&
type             2580 src/Simplify.cpp                    b.type().is_max(ub)) {
type             2596 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2614 src/Simplify.cpp         if (no_overflow(op->type) &&
type             2626 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2636 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2646 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2752 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2759 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2765 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2771 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2785 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2793 src/Simplify.cpp             Expr factor = make_const(op->type, ia);
type             2799 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2805 src/Simplify.cpp             Expr factor = make_const(op->type, ia);
type             2811 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2818 src/Simplify.cpp             Expr ratio = make_const(op->type, ib / ia);
type             2819 src/Simplify.cpp             Expr factor = make_const(op->type, ia);
type             2843 src/Simplify.cpp         } else if (no_overflow(op->type) &&
type             2864 src/Simplify.cpp         if (propagate_indeterminate_expression(delta, op->type, &expr)) {
type             2874 src/Simplify.cpp         Expr zero = make_zero(delta.type());
type             2877 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             2882 src/Simplify.cpp             for (int i = 0; i < delta.type().lanes(); i++) {
type             2891 src/Simplify.cpp                 expr = const_true(op->type.lanes());
type             2894 src/Simplify.cpp                 expr = const_false(op->type.lanes());
type             2897 src/Simplify.cpp         } else if (no_overflow_scalar_int(delta.type())) {
type             2917 src/Simplify.cpp                                           make_zero(broadcast->value.type())),
type             2921 src/Simplify.cpp             expr = (add->a == mutate(make_zero(delta.type()) - add->b));
type             2933 src/Simplify.cpp                    no_overflow(mul->type)) {
type             2951 src/Simplify.cpp             expr = (delta == make_zero(delta.type()));
type             2961 src/Simplify.cpp         if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type             2969 src/Simplify.cpp                 expr = const_true(op->type.lanes());
type             2973 src/Simplify.cpp                 expr = const_false(op->type.lanes());
type             3005 src/Simplify.cpp             no_overflow_scalar_int(delta_ramp->base.type())) {
type             3016 src/Simplify.cpp             expr = make_bool(ia < ib, op->type.lanes());
type             3019 src/Simplify.cpp             expr = make_bool(ua < ub, op->type.lanes());
type             3021 src/Simplify.cpp                    a.type().is_max(ia)) {
type             3023 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3025 src/Simplify.cpp                    b.type().is_min(ib)) {
type             3027 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3029 src/Simplify.cpp                    (no_overflow(delta.type()) &&
type             3031 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3032 src/Simplify.cpp         } else if (no_overflow(delta.type()) &&
type             3034 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3039 src/Simplify.cpp         } else if (no_overflow(delta.type())) {
type             3080 src/Simplify.cpp                 expr = mutate(make_zero(add_b->b.type()) < add_b->b);
type             3083 src/Simplify.cpp                 expr = mutate(make_zero(add_b->a.type()) < add_b->a);
type             3092 src/Simplify.cpp                 expr = mutate(sub_b->b < make_zero(sub_b->b.type()));
type             3109 src/Simplify.cpp                 if (mul_a->type.is_int()) {
type             3121 src/Simplify.cpp             } else if (a.type().is_int() &&
type             3127 src/Simplify.cpp             } else if (a.type().is_int() &&
type             3132 src/Simplify.cpp                 Expr one = make_one(a.type());
type             3188 src/Simplify.cpp                 expr = mutate(0 < b % make_const(a.type(), ia));
type             3248 src/Simplify.cpp                 expr = mutate(sub_b->b < div_a_a->a % div_a_a->b + make_const(a.type(), -ic));
type             3298 src/Simplify.cpp         if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type             3354 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3360 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3364 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3370 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3376 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3384 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3392 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3401 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3409 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3418 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3426 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3435 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3443 src/Simplify.cpp             expr = const_false(op->type.lanes());
type             3479 src/Simplify.cpp             expr = mutate(a && substitute(var_a->name, make_one(a.type()), b));
type             3481 src/Simplify.cpp             expr = mutate(substitute(var_b->name, make_one(b.type()), a) && b);
type             3492 src/Simplify.cpp         if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type             3530 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3536 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3540 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3546 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3552 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3560 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3568 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3576 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3584 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3592 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3600 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3608 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3616 src/Simplify.cpp             expr = const_true(op->type.lanes());
type             3640 src/Simplify.cpp             expr = mutate(a || substitute(var_a->name, make_zero(a.type()), b));
type             3642 src/Simplify.cpp             expr = mutate(substitute(var_b->name, make_zero(b.type()), a) || b);
type             3670 src/Simplify.cpp         if (propagate_indeterminate_expression(a, op->type, &expr)) {
type             3675 src/Simplify.cpp             expr = make_zero(a.type());
type             3677 src/Simplify.cpp             expr = make_one(a.type());
type             3706 src/Simplify.cpp         if (propagate_indeterminate_expression(condition, true_value, false_value, op->type, &expr)) {
type             3727 src/Simplify.cpp         } else if (true_value.type().is_bool() &&
type             3730 src/Simplify.cpp             if (true_value.type().is_vector() && condition.type().is_scalar()) {
type             3731 src/Simplify.cpp                 expr = Broadcast::make(condition, true_value.type().lanes());
type             3735 src/Simplify.cpp         } else if (true_value.type().is_bool() &&
type             3738 src/Simplify.cpp             if (true_value.type().is_vector() && condition.type().is_scalar()) {
type             3739 src/Simplify.cpp                 expr = Broadcast::make(mutate(!condition), true_value.type().lanes());
type             3811 src/Simplify.cpp             expr = mutate(add_t->a + Select::make(condition, add_t->b, make_zero(sub_f->b.type()) - sub_f->b));
type             3816 src/Simplify.cpp             expr = mutate(add_t->b + Select::make(condition, add_t->a, make_zero(sub_f->b.type()) - sub_f->b));
type             3821 src/Simplify.cpp             expr = mutate(sub_t->a + Select::make(condition, make_zero(sub_t->b.type()) - sub_t->b, add_f->b));
type             3826 src/Simplify.cpp             expr = mutate(sub_t->a + Select::make(condition, make_zero(sub_t->b.type()) - sub_t->b, add_f->a));
type             3938 src/Simplify.cpp                     if (!and_chain && eq->b.type().is_bool()) {
type             3985 src/Simplify.cpp             expr = undef(op->type);
type             3988 src/Simplify.cpp             Expr load = Load::make(op->type.element_of(), op->name, b_index->value, op->image, op->param, b_pred->value);
type             3993 src/Simplify.cpp             expr = Load::make(op->type, op->name, index, op->image, op->param, predicate);
type             4006 src/Simplify.cpp             if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type             4012 src/Simplify.cpp                 Type t = op->type;
type             4045 src/Simplify.cpp             if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type             4054 src/Simplify.cpp                 !b.type().is_max(ib) &&
type             4055 src/Simplify.cpp                 is_const_power_of_two_integer(make_const(a.type(), ib + 1), &bits)) {
type             4056 src/Simplify.cpp                 expr = Mod::make(a, make_const(a.type(), ib + 1));
type             4058 src/Simplify.cpp                        b.type().is_max(ub)) {
type             4061 src/Simplify.cpp                        is_const_power_of_two_integer(make_const(a.type(), ub + 1), &bits)) {
type             4062 src/Simplify.cpp                 expr = Mod::make(a, make_const(a.type(), ub + 1));
type             4070 src/Simplify.cpp             if (propagate_indeterminate_expression(a, b, op->type, &expr)) {
type             4081 src/Simplify.cpp             if (propagate_indeterminate_expression(a, op->type, &expr)) {
type             4084 src/Simplify.cpp             Type ta = a.type();
type             4091 src/Simplify.cpp                 expr = make_const(op->type, ia);
type             4099 src/Simplify.cpp                 expr = make_const(a.type(), fa);
type             4114 src/Simplify.cpp                 expr = Call::make(op->type, op->name, {arg}, op->call_type);
type             4162 src/Simplify.cpp                 expr = Call::make(op->type, op->name, new_args, op->call_type);
type             4169 src/Simplify.cpp             if (propagate_indeterminate_expression(arg, op->type, &expr)) {
type             4173 src/Simplify.cpp                 expr = FloatImm::make(arg.type(), std::sqrt(*f));
type             4175 src/Simplify.cpp                 expr = Call::make(op->type, op->name, {arg}, op->call_type);
type             4182 src/Simplify.cpp             if (propagate_indeterminate_expression(arg, op->type, &expr)) {
type             4186 src/Simplify.cpp                 expr = FloatImm::make(arg.type(), std::log(*f));
type             4188 src/Simplify.cpp                 expr = Call::make(op->type, op->name, {arg}, op->call_type);
type             4195 src/Simplify.cpp             if (propagate_indeterminate_expression(arg, op->type, &expr)) {
type             4199 src/Simplify.cpp                 expr = FloatImm::make(arg.type(), std::exp(*f));
type             4201 src/Simplify.cpp                 expr = Call::make(op->type, op->name, {arg}, op->call_type);
type             4209 src/Simplify.cpp             if (propagate_indeterminate_expression(arg0, arg1, op->type, &expr)) {
type             4215 src/Simplify.cpp                 expr = FloatImm::make(arg0.type(), std::pow(*f0, *f1));
type             4217 src/Simplify.cpp                 expr = Call::make(op->type, op->name, {arg0, arg1}, op->call_type);
type             4226 src/Simplify.cpp             if (propagate_indeterminate_expression(arg, op->type, &expr)) {
type             4232 src/Simplify.cpp                     expr = FloatImm::make(arg.type(), std::floor(*f));
type             4234 src/Simplify.cpp                     expr = FloatImm::make(arg.type(), std::ceil(*f));
type             4236 src/Simplify.cpp                     expr = FloatImm::make(arg.type(), std::nearbyint(*f));
type             4238 src/Simplify.cpp                     expr = FloatImm::make(arg.type(), (*f < 0 ? std::ceil(*f) : std::floor(*f)));
type             4247 src/Simplify.cpp                 expr = Call::make(op->type, op->name, {arg}, op->call_type);
type             4291 src/Simplify.cpp                 expr = Call::make(op->type, Call::prefetch, args, Call::Intrinsic);
type             4345 src/Simplify.cpp                 Type t = load_indices[0].type().with_lanes(op->indices.size());
type             4356 src/Simplify.cpp                     t = first_load->type;
type             4466 src/Simplify.cpp                     if (new_vectors[i].type().lanes() == new_vectors[i-1].type().lanes()) {
type             4472 src/Simplify.cpp                         Expr check = mutate(b->value - r->stride * new_vectors[i-1].type().lanes());
type             4485 src/Simplify.cpp             if (new_vectors[0].type().is_scalar() && new_vectors[1].type().is_scalar()) {
type             4489 src/Simplify.cpp                     if (!new_vectors[i].type().is_scalar()) {
type             4537 src/Simplify.cpp             if (slices_a[i].type() != slices_b[i].type()) {
type             4563 src/Simplify.cpp         Expr new_var = Variable::make(new_value.type(), new_name);
type             4625 src/Simplify.cpp                 new_var = Variable::make(new_value.type(), new_name);
type             4629 src/Simplify.cpp                 new_var = Variable::make(new_value.type(), new_name);
type             4631 src/Simplify.cpp             } else if (cast && cast->type.bits() > cast->value.type().bits()) {
type             4637 src/Simplify.cpp                 new_var = Variable::make(new_value.type(), new_name);
type             4638 src/Simplify.cpp                 replacement = substitute(new_name, Cast::make(cast->type, new_var), replacement);
type             4644 src/Simplify.cpp                 new_var = Variable::make(new_value.type(), new_name);
type             4648 src/Simplify.cpp                 new_var = Variable::make(var_a ? shuffle->vectors[1].type() : shuffle->vectors[0].type(), new_name);
type             4675 src/Simplify.cpp         if (new_value.defined() && no_overflow_scalar_int(new_value.type())) {
type             4688 src/Simplify.cpp         if (no_overflow_scalar_int(value.type())) {
type             4834 src/Simplify.cpp                                     Store::make(op->name, value, index, op->param, const_true(value.type().lanes())));
type             4864 src/Simplify.cpp             stmt = Allocate::make(op->name, op->type, new_extents,
type             4874 src/Simplify.cpp             stmt = Allocate::make(op->name, op->type, new_extents,
type             4942 src/Simplify.cpp             Expr new_var = Variable::make(let_first->value.type(), var_name);
type             5010 src/Simplify.cpp     internal_assert(e.type().is_bool())
type             6118 src/Simplify.cpp     Expr one = cast(e.type(), 1);
type             6119 src/Simplify.cpp     Expr zero = cast(e.type(), 0);
type             6161 src/Simplify.cpp     if (!e.type().is_uint()) {
type             6427 src/Simplify.cpp         Expr value = Load::make(index.type(), "f", index, Buffer<>(), Parameter(), const_true(index.type().lanes()));
type             6441 src/Simplify.cpp         internal_assert(r1.type() == halide_type_of<uint16_t>());
type             6443 src/Simplify.cpp         internal_assert(r2.type() == halide_type_of<uint16_t>());
type             6446 src/Simplify.cpp         internal_assert(r3.type() == halide_type_of<int>());
type             6449 src/Simplify.cpp         internal_assert(r1.type() == halide_type_of<uint16_t>());
type             6451 src/Simplify.cpp         internal_assert(r2.type() == halide_type_of<uint16_t>());
type             6454 src/Simplify.cpp         internal_assert(r3.type() == halide_type_of<int>());
type               37 src/SimplifySpecializations.cpp         if (e.type().is_bool()) {
type              137 src/SimplifySpecializations.cpp             if (eq->b.type().is_bool()) {
type              168 src/SkipStages.cpp             return make_zero(a.type());
type              170 src/SkipStages.cpp             return make_one(a.type());
type              275 src/SkipStages.cpp             expr = Call::make(op->type, Call::if_then_else,
type              282 src/SkipStages.cpp             expr = Call::make(op->type, Call::if_then_else,
type               85 src/Solve.cpp          internal_assert(!e.type().is_uint()) << "Negating unsigned is not legal\n";
type              230 src/Solve.cpp              if (op->type.is_uint()) {
type              415 src/Solve.cpp                  expr = mutate(b + T::make(add_a->b, make_zero(op->type)));
type              418 src/Solve.cpp                  expr = mutate(a + T::make(add_b->b, make_zero(op->type)));
type              427 src/Solve.cpp                  expr = mutate(b - T::make(sub_a->b, make_zero(op->type)));
type              430 src/Solve.cpp                  expr = mutate(a - T::make(sub_b->b, make_zero(op->type)));
type              587 src/Solve.cpp                  if (a.type().is_float()) {
type              595 src/Solve.cpp                      expr = mutate(Opp::make(mul_a->a, make_zero(b.type()) - b));
type              599 src/Solve.cpp                      internal_assert(!b.type().is_uint()) << "Negating unsigned is not legal\n";
type              627 src/Solve.cpp                  if (a.type().is_float()) {
type              633 src/Solve.cpp                  } else if (a.type().is_int() && a.type().bits() >= 32) {
type              639 src/Solve.cpp                          internal_assert(!a.type().is_uint()) << "Negating unsigned is not legal\n";
type              659 src/Solve.cpp          } else if (a_uses_var && b_uses_var && a.type().is_int() && a.type().bits() >= 32) {
type              662 src/Solve.cpp              expr = mutate(Cmp::make(a - b, make_zero(a.type())));
type              764 src/Solve.cpp          internal_assert(op->type.is_bool());
type              841 src/Solve.cpp          internal_assert(op->type.is_bool());
type              862 src/Solve.cpp          internal_assert(op->type.is_bool());
type              941 src/Solve.cpp              Expr b_var = Variable::make(b.type(), b_name);
type              942 src/Solve.cpp              Expr c_var = Variable::make(c.type(), c_name);
type              955 src/Solve.cpp              Expr b_var = Variable::make(b.type(), b_name);
type              956 src/Solve.cpp              Expr c_var = Variable::make(c.type(), c_name);
type              995 src/Solve.cpp              Expr b_var = Variable::make(b.type(), b_name);
type              996 src/Solve.cpp              Expr c_var = Variable::make(c.type(), c_name);
type             1009 src/Solve.cpp              Expr b_var = Variable::make(b.type(), b_name);
type             1010 src/Solve.cpp              Expr c_var = Variable::make(c.type(), c_name);
type             1027 src/Solve.cpp          if (op->a.type().is_bool()) {
type             1028 src/Solve.cpp              internal_assert(op->a.type().is_bool() == op->b.type().is_bool());
type             1040 src/Solve.cpp          if (op->a.type().is_bool()) {
type             1041 src/Solve.cpp              internal_assert(op->a.type().is_bool() == op->b.type().is_bool());
type             1160 src/Solve.cpp          if (op->type.is_vector()) {
type             1196 src/Solve.cpp          if (scope.contains(op->name) && op->type.is_bool()) {
type             1215 src/Solve.cpp          } else if (op->type.is_vector()) {
type             1231 src/Solve.cpp          if (op->value.type().is_bool()) {
type             1254 src/Solve.cpp                  min_var = Variable::make(value_bounds.min.type(), min_name);
type             1261 src/Solve.cpp                  max_var = Variable::make(value_bounds.max.type(), max_name);
type              122 src/SplitTuples.cpp             expr = Call::make(op->type, name, args, op->call_type, f.get_contents());
type              176 src/SplitTuples.cpp                 val = Variable::make(val.type(), var_name);
type              201 src/StmtToHtml.cpp         stream << open_span("Type") << op->type << close_span();
type              421 src/StmtToHtml.cpp         stream << op->type;
type              157 src/StorageFlattening.cpp         builder.type = op->types[0];
type              211 src/StorageFlattening.cpp         stmt = Store::make(op->name, value, idx, output_buf, const_true(value.type().lanes()));
type              219 src/StorageFlattening.cpp             expr = Load::make(op->type, op->name, idx, op->image, op->param,
type              220 src/StorageFlattening.cpp                               const_true(op->type.lanes()));
type              303 src/StorageFlattening.cpp         Type t = upgrade(op->type);
type              304 src/StorageFlattening.cpp         if (t != op->type) {
type              305 src/StorageFlattening.cpp             expr = Cast::make(op->type, Load::make(t, op->name, mutate(op->index),
type              313 src/StorageFlattening.cpp         Type t = upgrade(op->value.type());
type              314 src/StorageFlattening.cpp         if (t != op->value.type()) {
type              323 src/StorageFlattening.cpp         Type t = upgrade(op->type);
type              324 src/StorageFlattening.cpp         if (t != op->type) {
type               69 src/StorageFolding.cpp             expr = Call::make(op->type, op->name, args, op->call_type,
type              279 src/StorageFolding.cpp         if (var->type.is_handle() &&
type               18 src/Tracing.cpp     Type type;
type               34 src/Tracing.cpp                              (int)type.code(), (int)type.bits(), (int)type.lanes(),
type               88 src/Tracing.cpp             Expr value_var = Variable::make(op->type, value_var_name);
type               94 src/Tracing.cpp             builder.type = op->type;
type              101 src/Tracing.cpp                              Call::make(op->type, Call::return_second,
type              128 src/Tracing.cpp                 Type t = values[i].type();
type              132 src/Tracing.cpp                 builder.type = t;
type              151 src/Tracing.cpp                     args[i] = Variable::make(args[i].type(), name);
type               81 src/TrimNoOps.cpp         if (op->value.type().is_handle() || is_zero(op->predicate)) {
type               98 src/TrimNoOps.cpp             Expr equivalent_load = Load::make(op->value.type(), op->name, op->index,
type              235 src/TrimNoOps.cpp         if (!op->type.is_int() || op->type.bits() < 32) {
type              252 src/TrimNoOps.cpp         if (!op->type.is_int() || op->type.bits() < 32) {
type              271 src/TrimNoOps.cpp             expr = make_one(op->type);
type              273 src/TrimNoOps.cpp             expr = make_zero(op->type);
type               99 src/Tuple.h                 typename = typename std::enable_if<Internal::all_are_convertible<Buffer<>, Args...>::value>::type>
type              204 src/Type.h                 halide_c_type_to_name<typename std::remove_cv<T>::type>::name(),
type              247 src/Type.h             return halide_internal_handle_traits<T, halide_c_type_to_name<typename std::remove_cv<T>::type>::known_type>::type_info(true, halide_handle_cplusplus_type::NotReference);
type              254 src/Type.h             return halide_internal_handle_traits<T, halide_c_type_to_name<typename std::remove_cv<T>::type>::known_type>::type_info(false, halide_handle_cplusplus_type::LValueReference);
type              261 src/Type.h             return halide_internal_handle_traits<T, halide_c_type_to_name<typename std::remove_cv<T>::type>::known_type>::type_info(false, halide_handle_cplusplus_type::RValueReference);
type              287 src/Type.h         halide_type_t type;
type              303 src/Type.h         Type() : type(Handle, 0, 0), handle_type(nullptr) {}
type              311 src/Type.h             : type(code, (uint8_t)bits, (uint16_t)lanes), handle_type(handle_type) {
type              321 src/Type.h              : type(that), handle_type(handle_type) {}
type              325 src/Type.h         operator halide_type_t() const { return type; }
type              328 src/Type.h         halide_type_code_t code() const { return (halide_type_code_t)type.code; }
type              331 src/Type.h         int bits() const { return type.bits; }
type              334 src/Type.h         int lanes() const { return type.lanes; }
type               27 src/UnifyDuplicateLets.cpp                 expr = Variable::make(e.type(), iter->second);
type               42 src/UnifyDuplicateLets.cpp             expr = Variable::make(op->type, iter->second);
type               86 src/UnifyDuplicateLets.cpp                 value = Variable::make(value.type(), iter->second);
type               96 src/UniquifyVariableNames.cpp             expr = Variable::make(op->type, new_name);
type              188 src/Util.cpp   string make_entity_name(void *stack_ptr, const string &type, char prefix) {
type              189 src/Util.cpp       string name = Introspection::get_variable_name(stack_ptr, type);
type               64 src/Util.h     EXPORT std::string make_entity_name(void *stack_ptr, const std::string &type, char prefix);
type              278 src/Util.h         using type = integer_sequence<T, Ints..., sizeof...(Ints)>;
type              283 src/Util.h         using type = typename next_integer_sequence<
type              284 src/Util.h             typename make_integer_sequence_helper<T, I+1, N>::type
type              285 src/Util.h         >::type;
type              290 src/Util.h         using type = integer_sequence<T>;
type              294 src/Util.h     using make_integer_sequence = typename make_integer_sequence_helper<T, 0, N>::type;
type               49 src/VaryingAttributes.cpp         Expr intrinsic = Call::make(e.type(), Call::glsl_varying,
type               87 src/VaryingAttributes.cpp         expr = Call::make(op->type, op->name, new_args, op->call_type,
type              102 src/VaryingAttributes.cpp             mutated_value = Call::make(mutated_value.type(), Call::glsl_varying,
type              168 src/VaryingAttributes.cpp         if (order && (!op->type.is_float())) {
type              176 src/VaryingAttributes.cpp         expr = Cast::make(op->type, mutated_value);
type              443 src/VaryingAttributes.cpp             expr = Variable::make(op->type, name);
type              506 src/VaryingAttributes.cpp         if ((ends_with(op->name, ".varying")) && (op->type != Float(32))) {
type              514 src/VaryingAttributes.cpp             expr = Cast::make(op->type, floor(v + 0.5f));
type              536 src/VaryingAttributes.cpp         } else if (scope.contains(op->name) && (op->type != scope.get(op->name).type())) {
type              540 src/VaryingAttributes.cpp             expr = Variable::make(scope.get(op->name).type(), op->name);
type              547 src/VaryingAttributes.cpp         return Float(e.type().bits(), e.type().lanes());
type              555 src/VaryingAttributes.cpp         bool a_float = mutated_a.type().is_float();
type              556 src/VaryingAttributes.cpp         bool b_float = mutated_b.type().is_float();
type              592 src/VaryingAttributes.cpp         bool t_float = mutated_true_value.type().is_float();
type              593 src/VaryingAttributes.cpp         bool f_float = mutated_false_value.type().is_float();
type              613 src/VaryingAttributes.cpp         bool base_float = mutated_base.type().is_float();
type              614 src/VaryingAttributes.cpp         bool stride_float = mutated_stride.type().is_float();
type              633 src/VaryingAttributes.cpp         bool changed = op->value.type().is_float() != mutated_value.type().is_float();
type              650 src/VaryingAttributes.cpp         bool changed = op->value.type().is_float() != mutated_value.type().is_float();
type              954 src/VaryingAttributes.cpp                                Parameter(), const_true(op->args[1].type().lanes()));
type             1122 src/VaryingAttributes.cpp     return Internal::Call::make(v_.type(),
type               38 src/VectorizeLoops.cpp             expr = Variable::make(op->type, var + ".lane." + std::to_string(op->indices[0]));
type              135 src/VectorizeLoops.cpp         Expr last_lane_idx = make_const(r->base.type(), r->lanes-1);
type              144 src/VectorizeLoops.cpp         return {Variable::make(var->type.element_of(), var->name + ".min_lane"),
type              145 src/VectorizeLoops.cpp                 Variable::make(var->type.element_of(), var->name + ".max_lane")};
type              167 src/VectorizeLoops.cpp     for (int i = 1; i < e.type().lanes(); i++) {
type              169 src/VectorizeLoops.cpp         if (e.type().is_bool()) {
type              201 src/VectorizeLoops.cpp         expr = Load::make(op->type, op->name, mutate_index(op->name, op->index),
type              261 src/VectorizeLoops.cpp         if (pred.type().lanes() == new_pred.type().lanes()) {
type              270 src/VectorizeLoops.cpp         valid = valid && should_predicate_store_load(op->type.bits());
type              277 src/VectorizeLoops.cpp         if (!op->index.type().is_scalar()) {
type              278 src/VectorizeLoops.cpp             internal_assert(op->predicate.type().lanes() == lanes);
type              279 src/VectorizeLoops.cpp             internal_assert(op->index.type().lanes() == lanes);
type              296 src/VectorizeLoops.cpp         expr = Load::make(op->type, op->name, index, op->image, op->param, predicate);
type              301 src/VectorizeLoops.cpp         valid = valid && should_predicate_store_load(op->value.type().bits());
type              308 src/VectorizeLoops.cpp         if (!op->index.type().is_scalar()) {
type              309 src/VectorizeLoops.cpp             internal_assert(op->predicate.type().lanes() == lanes);
type              310 src/VectorizeLoops.cpp             internal_assert(op->index.type().lanes() == lanes);
type              311 src/VectorizeLoops.cpp             internal_assert(op->value.type().lanes() == lanes);
type              343 src/VectorizeLoops.cpp             lanes(vpred.type().lanes()), valid(true), vectorized(false) {
type              378 src/VectorizeLoops.cpp         if (e.type().lanes() == lanes) {
type              380 src/VectorizeLoops.cpp         } else if (e.type().lanes() == 1) {
type              395 src/VectorizeLoops.cpp             Type t = op->type.with_lanes(value.type().lanes());
type              407 src/VectorizeLoops.cpp             expr = Variable::make(scope.get(op->name).type(), widened_name);
type              419 src/VectorizeLoops.cpp             int w = std::max(a.type().lanes(), b.type().lanes());
type              449 src/VectorizeLoops.cpp             int lanes = std::max(true_value.type().lanes(), false_value.type().lanes());
type              450 src/VectorizeLoops.cpp             lanes = std::max(lanes, condition.type().lanes());
type              465 src/VectorizeLoops.cpp             int w = index.type().lanes();
type              467 src/VectorizeLoops.cpp             expr = Load::make(op->type.with_lanes(w), op->name, index, op->image,
type              485 src/VectorizeLoops.cpp             max_lanes = std::max(new_arg.type().lanes(), max_lanes);
type              504 src/VectorizeLoops.cpp                 new_args[i] = Call::make(call->type.element_of(), Call::make_struct,
type              511 src/VectorizeLoops.cpp             expr = Call::make(op->type, Call::trace, new_args, op->call_type);
type              517 src/VectorizeLoops.cpp             expr = Call::make(op->type.with_lanes(max_lanes), op->name, new_args,
type              528 src/VectorizeLoops.cpp         bool was_vectorized = (!op->value.type().is_vector() &&
type              529 src/VectorizeLoops.cpp                                mutated_value.type().is_vector());
type              557 src/VectorizeLoops.cpp         bool was_vectorized = (!op->value.type().is_vector() &&
type              558 src/VectorizeLoops.cpp                                mutated_value.type().is_vector());
type              581 src/VectorizeLoops.cpp             Type t = mutated_value.type();
type              629 src/VectorizeLoops.cpp             max_lanes = std::max(new_arg.type().lanes(), max_lanes);
type              637 src/VectorizeLoops.cpp             max_lanes = std::max(new_value.type().lanes(), max_lanes);
type              662 src/VectorizeLoops.cpp             int lanes = std::max(predicate.type().lanes(), std::max(value.type().lanes(), index.type().lanes()));
type              669 src/VectorizeLoops.cpp         if (op->condition.type().lanes() > 1) {
type              678 src/VectorizeLoops.cpp         int lanes = cond.type().lanes();
type              779 src/VectorizeLoops.cpp         if (min.type().is_vector()) {
type              788 src/VectorizeLoops.cpp         if (extent.type().is_vector()) {
type              814 src/VectorizeLoops.cpp         int lanes = replacement.type().lanes();
type              826 src/VectorizeLoops.cpp             if (extent.type().is_vector()) {
type              834 src/VectorizeLoops.cpp             user_assert(new_expr.type().is_scalar())
type              856 src/VectorizeLoops.cpp         stmt = Allocate::make(op->name, op->type, new_extents, op->condition, body, new_expr, op->free_function);
type              881 src/VectorizeLoops.cpp         int lanes = replacement.type().lanes();
type              889 src/VectorizeLoops.cpp                 e = substitute(iter.name(), Variable::make(lane.type(), name), e);
type              912 src/VectorizeLoops.cpp         widening_suffix = ".x" + std::to_string(replacement.type().lanes());
type               22 src/WrapExternStages.cpp     internal_assert(call.type() == Int(32));
type               49 src/WrapExternStages.cpp                                       b.type(), b.dimensions());
type               53 src/WrapExternStages.cpp                                   arg.buffer.type(), arg.buffer.dimensions());
type               56 src/WrapExternStages.cpp                                   arg.expr.type(), 0);
type               59 src/WrapExternStages.cpp                                   arg.image_param.type(), arg.image_param.dimensions());
type               63 src/WrapExternStages.cpp             args.emplace_back(b.name(), Argument::OutputBuffer, b.type(), b.dimensions());
type               73 src/WrapExternStages.cpp                 Expr new_buffer_var = Variable::make(a.type, a.name + ".buffer");
type               98 src/WrapExternStages.cpp                 call_args.push_back(Variable::make(a.type, a.name));
type              102 src/WrapExternStages.cpp         Expr inner_call = Call::make(op->type, op->name, call_args, op->call_type);
type              132 src/WrapExternStages.cpp                 expr = Call::make(op->type, make_wrapper(op), new_args, Call::Extern, op->func);
type              172 src/WrapExternStages.cpp             call_args.push_back(Variable::make(arg.type, arg.name));
type              184 src/WrapExternStages.cpp             builder.type = arg.type;
type              114 src/runtime/HalideBuffer.h     static const bool T_is_void = std::is_same<typename std::remove_const<T>::type, void>::value;
type              118 src/runtime/HalideBuffer.h     using add_const_if_T_is_const = typename std::conditional<std::is_const<T>::value, const T2, T2>::type;
type              124 src/runtime/HalideBuffer.h                                                  T>::type;
type              130 src/runtime/HalideBuffer.h     using storage_T = typename std::conditional<std::is_pointer<T>::value, uint64_t, not_void_T>::type;
type              141 src/runtime/HalideBuffer.h         return halide_type_of<typename std::remove_cv<not_void_T>::type>();
type              312 src/runtime/HalideBuffer.h         return halide_type_of<typename std::remove_cv<T2>::type>();
type              412 src/runtime/HalideBuffer.h     halide_type_t type() const {
type              413 src/runtime/HalideBuffer.h         return buf.type;
type              425 src/runtime/HalideBuffer.h         return (T *)(buf.host + index * type().bytes());
type              437 src/runtime/HalideBuffer.h         return (T *)(buf.host + index * type().bytes());
type              447 src/runtime/HalideBuffer.h         buf.type = static_halide_type();
type              453 src/runtime/HalideBuffer.h         assert(T_is_void || buf.type == static_halide_type());
type              461 src/runtime/HalideBuffer.h         buf.type = static_halide_type();
type              481 src/runtime/HalideBuffer.h         old_buf.elem_size = buf.type.bytes();
type              501 src/runtime/HalideBuffer.h         static_assert(std::is_same<typename std::remove_const<T>::type,
type              502 src/runtime/HalideBuffer.h                                    typename std::remove_const<T2>::type>::value ||
type              506 src/runtime/HalideBuffer.h             return other.type() == static_halide_type();
type              628 src/runtime/HalideBuffer.h         size_t size = type().bytes();
type              637 src/runtime/HalideBuffer.h         assert(size == (size_t)type().bytes() && "Error: Overflow computing total size of buffer.");
type              689 src/runtime/HalideBuffer.h              typename = typename std::enable_if<AllInts<Args...>::value>::type>
type              694 src/runtime/HalideBuffer.h         buf.type = t;
type              714 src/runtime/HalideBuffer.h         buf.type = static_halide_type();
type              725 src/runtime/HalideBuffer.h              typename = typename std::enable_if<AllInts<Args...>::value>::type>
type              729 src/runtime/HalideBuffer.h         buf.type = static_halide_type();
type              745 src/runtime/HalideBuffer.h         buf.type = t;
type              757 src/runtime/HalideBuffer.h         buf.type = static_halide_type();
type              772 src/runtime/HalideBuffer.h         buf.type = scalar_type_of_array(vals);
type              783 src/runtime/HalideBuffer.h              typename = typename std::enable_if<AllInts<Args...>::value>::type>
type              788 src/runtime/HalideBuffer.h         buf.type = t;
type              799 src/runtime/HalideBuffer.h              typename = typename std::enable_if<AllInts<Args...>::value>::type>
type              801 src/runtime/HalideBuffer.h         buf.type = static_halide_type();
type              813 src/runtime/HalideBuffer.h         buf.type = static_halide_type();
type              828 src/runtime/HalideBuffer.h         buf.type = t;
type              842 src/runtime/HalideBuffer.h         buf.type = t;
type              855 src/runtime/HalideBuffer.h         buf.type = halide_type_of<typename std::remove_cv<T>::type>();
type              894 src/runtime/HalideBuffer.h              typename = typename std::enable_if<(D2 <= D)>::type>
type              905 src/runtime/HalideBuffer.h              typename = typename std::enable_if<(D2 <= D)>::type>
type              993 src/runtime/HalideBuffer.h         if (type().bytes() == 1) {
type              998 src/runtime/HalideBuffer.h         } else if (type().bytes() == 2) {
type             1003 src/runtime/HalideBuffer.h         } else if (type().bytes() == 4) {
type             1008 src/runtime/HalideBuffer.h         } else if (type().bytes() == 8) {
type             1039 src/runtime/HalideBuffer.h         buf.host += shift * dim(d).stride() * type().bytes();
type             1146 src/runtime/HalideBuffer.h         buf.host += shift * dim(d).stride() * type().bytes();
type             1402 src/runtime/HalideBuffer.h             return (storage_T *)(this->buf.host) + offset_of(0, args...) * type().bytes();
type             1420 src/runtime/HalideBuffer.h             return (storage_T *)this->buf.host + offset_of(pos) * type().bytes();
type             1447 src/runtime/HalideBuffer.h              typename = typename std::enable_if<AllInts<Args...>::value>::type>
type             1472 src/runtime/HalideBuffer.h              typename = typename std::enable_if<AllInts<Args...>::value>::type>
type             1709 src/runtime/HalideBuffer.h              typename = typename std::enable_if<(d >= 0)>::type>
type             1720 src/runtime/HalideBuffer.h              typename = typename std::enable_if<(d < 0)>::type>
type             1862 src/runtime/HalideBuffer.h              typename = typename std::enable_if<!std::is_arithmetic<typename std::decay<Fn>::type>::value>::type>
type              333 src/runtime/HalideRuntime.h     struct halide_type_t type;
type              403 src/runtime/HalideRuntime.h     struct halide_type_t type;
type              432 src/runtime/HalideRuntime.h         return (const char *)value() + type.lanes * type.bytes();
type             1013 src/runtime/HalideRuntime.h     struct halide_type_t type;
type             1076 src/runtime/HalideRuntime.h         return host + index * type.bytes();
type             1088 src/runtime/HalideRuntime.h         return host + index * type.bytes();
type             1102 src/runtime/HalideRuntime.h         return host + index * type.bytes();
type             1210 src/runtime/HalideRuntime.h     struct halide_type_t type;
type               23 src/runtime/android_ioctl.h #define _IOC(dir,type,nr,size)   (((dir) << _IOC_DIRSHIFT) |   ((type) << _IOC_TYPESHIFT) |   ((nr) << _IOC_NRSHIFT) |   ((size) << _IOC_SIZESHIFT))
type               25 src/runtime/android_ioctl.h #define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
type               26 src/runtime/android_ioctl.h #define _IOR(type,nr,data) _IOC(_IOC_READ,(type),(nr),(sizeof(data)))
type               27 src/runtime/android_ioctl.h #define _IOW(type,nr,data) _IOC(_IOC_WRITE,(type),(nr),(sizeof(data)))
type               28 src/runtime/android_ioctl.h #define _IOWR(type,nr,data) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(sizeof(data)))
type               30 src/runtime/android_ioctl.h #define _IOR_BAD(type,nr,data) _IOC(_IOC_READ,(type),(nr),sizeof(data))
type               31 src/runtime/android_ioctl.h #define _IOW_BAD(type,nr,data) _IOC(_IOC_WRITE,(type),(nr),sizeof(data))
type               32 src/runtime/android_ioctl.h #define _IOWR_BAD(type,nr,data) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(data))
type               86 src/runtime/buffer_t.cpp     return buf->type.code;
type               91 src/runtime/buffer_t.cpp     return buf->type.bits;
type               96 src/runtime/buffer_t.cpp     return buf->type.lanes;
type              111 src/runtime/buffer_t.cpp     dst->type.code = (halide_type_code_t)type_code;
type              112 src/runtime/buffer_t.cpp     dst->type.bits = (uint8_t)type_bits;
type              113 src/runtime/buffer_t.cpp     dst->type.lanes = 1;
type              132 src/runtime/buffer_t.cpp     dst->type = src->type;
type              156 src/runtime/buffer_t.cpp     dst->host += offset * src->type.bytes();
type               19 src/runtime/cache.cpp     debug(user_context) << buf_name << ": elem_size " << buf.type.bytes() << " dimensions " << buf.dimensions << ", ";
type               73 src/runtime/device_buffer_utils.h     c.chunk_size = buf->type.bytes();
type               85 src/runtime/device_buffer_utils.h     if (buf->type.bits == 0) {
type               98 src/runtime/device_buffer_utils.h         uint64_t stride_bytes = buf->dim[i].stride * buf->type.bytes();
type              306 src/runtime/hexagon_remote/bin/src/halide_hexagon_remote_skel.c    uint8_t    type;\
type              306 src/runtime/hexagon_remote/bin/src/halide_hexagon_remote_stub.c    uint8_t    type;\
type              460 src/runtime/hexagon_remote/bin/src/halide_hexagon_remote_stub.c extern int adsp_pls_add_lookup(uint32_t type, uint32_t key, int size, int (*ctor)(void* ctx, void* data), void* ctx, void (*dtor)(void* ctx), void** ppo);
type              462 src/runtime/hexagon_remote/bin/src/halide_hexagon_remote_stub.c extern int HAP_pls_add_lookup(uint32_t type, uint32_t key, int size, int (*ctor)(void* ctx, void* data), void* ctx, void (*dtor)(void* ctx), void** ppo);
type              193 src/runtime/hexagon_remote/halide_remote.cpp         request.type = HAP_power_set_HVX;
type              210 src/runtime/hexagon_remote/halide_remote.cpp         request.type = HAP_power_set_HVX;
type              233 src/runtime/hexagon_remote/halide_remote.cpp     request.type = HAP_power_set_apptype;
type              241 src/runtime/hexagon_remote/halide_remote.cpp     request.type = HAP_power_set_mips_bw;
type              273 src/runtime/hexagon_remote/halide_remote.cpp     power_info.type = HAP_power_get_max_mips;
type              287 src/runtime/hexagon_remote/halide_remote.cpp     power_info.type = HAP_power_get_max_bus_bw;
type              168 src/runtime/matlab.cpp INLINE mxArray *create_numeric_matrix(size_t M, size_t N, mxClassID type, mxComplexity complexity) {
type              170 src/runtime/matlab.cpp         return mxCreateNumericMatrix_730(M, N, type, complexity);
type              172 src/runtime/matlab.cpp         return mxCreateNumericMatrix_700(M, N, type, complexity);
type              200 src/runtime/matlab.cpp         desc << get_class_name(get_class_id(arg->type.code, arg->type.bits));
type              268 src/runtime/matlab.cpp     mxClassID arg_class_id = get_class_id(arg->type.code, arg->type.bits);
type              292 src/runtime/matlab.cpp     buf->type = arg->type;
type              339 src/runtime/matlab.cpp     int32_t type_code = arg->type.code;
type              340 src/runtime/matlab.cpp     int32_t type_bits = arg->type.bits;
type              429 src/runtime/matlab.cpp             size_t size_bytes = max(8, (arg_metadata->type.bits + 7) / 8);
type               68 src/runtime/mini_opengl.h typedef void (*PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices );
type               73 src/runtime/mini_opengl.h                                      GLenum format, GLenum type,
type               87 src/runtime/mini_opengl.h                                     GLint border, GLenum format, GLenum type,
type               93 src/runtime/mini_opengl.h                                        GLenum format, GLenum type,
type               98 src/runtime/mini_opengl.h                                 GLenum format, GLenum type,
type              131 src/runtime/mini_opengl.h typedef GLuint (*PFNGLCREATESHADERPROC) (GLenum type);
type              150 src/runtime/mini_opengl.h typedef void (*PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
type               21 src/runtime/old_buffer_t.cpp     case 1: new_buf->type = halide_type_of<uint8_t>(); break;
type               22 src/runtime/old_buffer_t.cpp     case 2: new_buf->type = halide_type_of<uint16_t>(); break;
type               23 src/runtime/old_buffer_t.cpp     case 4: new_buf->type = halide_type_of<uint32_t>(); break;
type               24 src/runtime/old_buffer_t.cpp     case 8: new_buf->type = halide_type_of<uint64_t>(); break;
type               39 src/runtime/old_buffer_t.cpp         (old_buf->elem_size != new_buf->type.bytes())) {
type               43 src/runtime/old_buffer_t.cpp              << "for expected type (" << new_buf->type << ")";
type               79 src/runtime/old_buffer_t.cpp     old_buf->elem_size = new_buf->type.bytes();
type              156 src/runtime/opengl.cpp     Type type;
type              358 src/runtime/opengl.cpp WEAK GLuint make_shader(void *user_context, GLenum type,
type              362 src/runtime/opengl.cpp     debug(user_context) << ((type == GL_VERTEX_SHADER) ? "GL_VERTEX_SHADER" : "GL_FRAGMENT_SHADER")
type              370 src/runtime/opengl.cpp     GLuint shader = global_state.CreateShader(type);
type              420 src/runtime/opengl.cpp     Argument::Type type = Argument::Void;
type              422 src/runtime/opengl.cpp         type = Argument::Float;
type              424 src/runtime/opengl.cpp         type = Argument::Bool;
type              426 src/runtime/opengl.cpp         type = Argument::Int8;
type              428 src/runtime/opengl.cpp         type = Argument::Int16;
type              430 src/runtime/opengl.cpp         type = Argument::Int32;
type              432 src/runtime/opengl.cpp         type = Argument::UInt8;
type              434 src/runtime/opengl.cpp         type = Argument::UInt16;
type              436 src/runtime/opengl.cpp         type = Argument::UInt32;
type              438 src/runtime/opengl.cpp     if (type == Argument::Void) {
type              445 src/runtime/opengl.cpp     arg->type = type;
type              575 src/runtime/opengl.cpp #define GLFUNC(type, name) name = NULL;
type              805 src/runtime/opengl.cpp                              GLint *internal_format, GLint *format, GLint *type) {
type              806 src/runtime/opengl.cpp     if (buf->type == halide_type_of<uint8_t>()) {
type              807 src/runtime/opengl.cpp         *type = GL_UNSIGNED_BYTE;
type              808 src/runtime/opengl.cpp     } else if (buf->type == halide_type_of<uint16_t>()) {
type              809 src/runtime/opengl.cpp         *type = GL_UNSIGNED_SHORT;
type              810 src/runtime/opengl.cpp     } else if (buf->type == halide_type_of<float>()) {
type              811 src/runtime/opengl.cpp         *type = GL_FLOAT;
type              862 src/runtime/opengl.cpp         if (*type == GL_FLOAT) {
type             1012 src/runtime/opengl.cpp         GLint internal_format, format, type;
type             1013 src/runtime/opengl.cpp         if (!get_texture_format(user_context, buf, &internal_format, &format, &type)) {
type             1025 src/runtime/opengl.cpp         global_state.TexImage2D(GL_TEXTURE_2D, 0, internal_format, width, height, 0, format, type, NULL);
type             1190 src/runtime/opengl.cpp     GLint internal_format, format, type;
type             1191 src/runtime/opengl.cpp     if (!get_texture_format(user_context, buf, &internal_format, &format, &type)) {
type             1209 src/runtime/opengl.cpp         global_state.TexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, format, type, buf->host);
type             1217 src/runtime/opengl.cpp         size_t texture_size = width * height * buffer_channels * buf->type.bytes();
type             1224 src/runtime/opengl.cpp         switch (type) {
type             1237 src/runtime/opengl.cpp         global_state.TexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, format, type, tmp.ptr);
type             1261 src/runtime/opengl.cpp     GLint internal_format, format, type;
type             1262 src/runtime/opengl.cpp     if (!get_texture_format(user_context, buf, &internal_format, &format, &type)) {
type             1309 src/runtime/opengl.cpp         if (type != GL_UNSIGNED_BYTE && type != extra_type) {
type             1331 src/runtime/opengl.cpp         global_state.ReadPixels(0, 0, buf->dim[0].extent, buf->dim[1].extent, format, type, buf->host);
type             1345 src/runtime/opengl.cpp         size_t texture_size = width * height * texture_channels * buf->type.bytes();
type             1356 src/runtime/opengl.cpp         global_state.ReadPixels(0, 0, buf->dim[0].extent, buf->dim[1].extent, format, type, tmp.ptr);
type             1371 src/runtime/opengl.cpp         switch (type) {
type             1472 src/runtime/opengl.cpp             switch (kernel_arg->type) {
type             1560 src/runtime/opengl.cpp             switch (kernel_arg->type) {
type              139 src/runtime/openglcompute.cpp         << "  type: " << buf->type << "\n"
type              146 src/runtime/openglcompute.cpp #define GLFUNC(type, name) name = NULL;
type              266 src/runtime/openglcompute.cpp                         << "(type: " << buf->type << ")\n";
type               27 src/runtime/printer.h template<int type, uint64_t length = 1024>
type              148 src/runtime/printer.h             if (type == ErrorPrinter) {
type              150 src/runtime/printer.h             } else if (type == BasicPrinter) {
type              287 src/runtime/to_string.cpp     dst = halide_type_to_string(dst, end, &(buf->type));
type               27 src/runtime/tracing.cpp         uint32_t value_bytes = (uint32_t)(e->type.lanes * e->type.bytes());
type               39 src/runtime/tracing.cpp         header.type = e->type;
type               67 src/runtime/tracing.cpp         while (print_bits < e->type.bits) print_bits <<= 1;
type               86 src/runtime/tracing.cpp         if (e->type.lanes > 1) {
type               91 src/runtime/tracing.cpp                 if ((e->type.lanes > 1) && (i % e->type.lanes) == 0) {
type               99 src/runtime/tracing.cpp         if (e->type.lanes > 1) {
type              106 src/runtime/tracing.cpp             if (e->type.lanes > 1) {
type              111 src/runtime/tracing.cpp             for (int i = 0; i < e->type.lanes; i++) {
type              115 src/runtime/tracing.cpp                 if (e->type.code == 0) {
type              125 src/runtime/tracing.cpp                 } else if (e->type.code == 1) {
type              135 src/runtime/tracing.cpp                 } else if (e->type.code == 2) {
type              144 src/runtime/tracing.cpp                 } else if (e->type.code == 3) {
type              148 src/runtime/tracing.cpp             if (e->type.lanes > 1) {
type              236 src/runtime/tracing.cpp     event.type.code = (halide_type_code_t)type_code;
type              237 src/runtime/tracing.cpp     event.type.bits = (uint8_t)type_bits;
type              238 src/runtime/tracing.cpp     event.type.lanes = (uint16_t)type_lanes;
type              242 src/runtime/tracing.cpp     if (event.type.lanes > 1) {
type              243 src/runtime/tracing.cpp         dimensions *= event.type.lanes;
type              126 src/runtime/write_debug_image.cpp     int32_t bytes_per_element = buf->type.bytes();
type               22 test/correctness/buffer_t.cpp     CHECK(type, 24, 32);
type               19 test/correctness/cast.cpp             assert((int_expr[i] + int_expr[j]).type() == int_expr[i].type());
type               20 test/correctness/cast.cpp             assert((uint_expr[i] + uint_expr[j]).type() == uint_expr[i].type());
type               21 test/correctness/cast.cpp             assert((int_expr[i] + uint_expr[j]).type() == int_expr[i].type());
type               22 test/correctness/cast.cpp             assert((uint_expr[i] + int_expr[j]).type() == int_expr[i].type());
type               25 test/correctness/cast.cpp         assert((int_expr[i] + 1).type() == int_expr[i].type());
type               26 test/correctness/cast.cpp         assert((1 + int_expr[i]).type() == int_expr[i].type());
type               27 test/correctness/cast.cpp         assert((int_expr[i] + 1.0f).type() == Float(32));
type               28 test/correctness/cast.cpp         assert((uint_expr[i] + 1.0f).type() == Float(32));
type               32 test/correctness/cast.cpp         assert(a.type() == int_expr[i].type());
type               44 test/correctness/constant_expr.cpp     if (e.type() != t) {
type               45 test/correctness/constant_expr.cpp         std::cerr << "constant of type " << t << " returned expr of type " << e.type() << "\n";
type               14 test/correctness/constant_type.cpp     if (f.value().type() != t) {
type               15 test/correctness/constant_type.cpp         std::cout << "Function was defined with type " << t << " but has type " << f.value().type() << "\n";
type               20 test/correctness/constant_type.cpp     if (add_one.type() != t) {
type               21 test/correctness/constant_type.cpp         std::cout << "Add 1 changed type from " << t << " to " << add_one.type() << "\n";
type               26 test/correctness/constant_type.cpp     if (one_add.type() != t) {
type               27 test/correctness/constant_type.cpp         std::cout << "Pre-add 1 changed type from " << t << " to " << one_add.type() << "\n";
type               17 test/correctness/custom_lowering_pass.cpp         if (op->type.is_float() && is_const(op->b)) {
type               46 test/correctness/custom_lowering_pass.cpp         if (op->type.is_float()) {
type               12 test/correctness/extern_output_expansion.cpp     assert(in->type == halide_type_of<int>());
type               13 test/correctness/extern_output_expansion.cpp     assert(out->type == halide_type_of<int>());
type               44 test/correctness/extern_producer.cpp     assert(out->type == halide_type_of<float>());
type               68 test/correctness/extern_producer.cpp     assert(out1->host && out1->type == halide_type_of<float>() && out1->dim[0].stride == 1);
type               69 test/correctness/extern_producer.cpp     assert(out2->host && out2->type == halide_type_of<float>() && out2->dim[0].stride == 1);
type               19 test/correctness/extern_sort.cpp         memcpy(out->host, in->host, out->dim[0].extent * out->type.bytes());
type               36 test/correctness/extern_stage.cpp         assert(in1->type == halide_type_of<uint8_t>());
type               37 test/correctness/extern_stage.cpp         assert(in2->type == halide_type_of<int32_t>());
type               38 test/correctness/extern_stage.cpp         assert(out->type == halide_type_of<uint8_t>());
type              226 test/correctness/fuzz_simplify.cpp             v->second = random_leaf(test.type().element_of(), true);
type              229 test/correctness/fuzz_simplify.cpp         if (!test_simplification(test, simplified, test.type(), vars)) {
type                9 test/correctness/infer_arguments.cpp     return (expr.type() == type_of<T>() &&
type              102 test/correctness/infer_arguments.cpp         EXPECT(Type::Float, frac_arg.type.code());
type              103 test/correctness/infer_arguments.cpp         EXPECT(Type::Int, height_arg.type.code());
type              104 test/correctness/infer_arguments.cpp         EXPECT(Type::UInt, thresh_arg.type.code());
type              105 test/correctness/infer_arguments.cpp         EXPECT(Type::Int, width_arg.type.code());
type              106 test/correctness/infer_arguments.cpp         EXPECT(Type::UInt, z_unsigned_arg.type.code());
type              108 test/correctness/infer_arguments.cpp         EXPECT(32, frac_arg.type.bits());
type              109 test/correctness/infer_arguments.cpp         EXPECT(32, height_arg.type.bits());
type              110 test/correctness/infer_arguments.cpp         EXPECT(8, thresh_arg.type.bits());
type              111 test/correctness/infer_arguments.cpp         EXPECT(32, width_arg.type.bits());
type              112 test/correctness/infer_arguments.cpp         EXPECT(64, z_unsigned_arg.type.bits());
type              139 test/correctness/infer_arguments.cpp         EXPECT(Type::Float, frac_arg.type.code());
type              140 test/correctness/infer_arguments.cpp         EXPECT(Type::UInt, thresh_arg.type.code());
type              142 test/correctness/infer_arguments.cpp         EXPECT(32, frac_arg.type.bits());
type              143 test/correctness/infer_arguments.cpp         EXPECT(8, thresh_arg.type.bits());
type                6 test/correctness/introspection.cpp void check(const void *var, const std::string &type,
type               11 test/correctness/introspection.cpp     std::string name = Halide::Internal::Introspection::get_variable_name(var, type);
type               38 test/correctness/many_small_extern_stages.cpp         size_t sz = out->type.bytes() * out->dim[0].extent * out->dim[1].extent;
type               56 test/correctness/math.cpp #define fun_1(type_ret, type, name, c_name)                             \
type               57 test/correctness/math.cpp     void test_##type##_##name(Buffer<type> in) {                        \
type               59 test/correctness/math.cpp         if (!target.supports_type(type_of<type>())) {                   \
type               81 test/correctness/math.cpp #define fun_2(type_ret, type, name, c_name)                                         \
type               82 test/correctness/math.cpp     void test_##type##_##name(Buffer<type> in) {                                    \
type               84 test/correctness/math.cpp         if (!target.supports_type(type_of<type>())) {                               \
type              188 test/correctness/math.cpp #define call_1(type, name, steps, start, end)                     \
type              190 test/correctness/math.cpp     printf("Testing " #name "(" #type ")\n");                     \
type              191 test/correctness/math.cpp     TestArgs<type> args(steps, start, end);                       \
type              192 test/correctness/math.cpp     test_##type##_##name(args.data);                              \
type              195 test/correctness/math.cpp #define call_2(type, name, steps, start1, end1, start2, end2)     \
type              197 test/correctness/math.cpp     printf("Testing " #name "(" #type ")\n");                     \
type              198 test/correctness/math.cpp     TestArgs<type> args(steps, start1, end1, start2, end2);       \
type              199 test/correctness/math.cpp     test_##type##_##name(args.data);                              \
type               12 test/correctness/reschedule.cpp         if (ev->type.lanes > 1) {
type              112 test/correctness/simd_op_check.cpp                 Buffer<> b(p.type(), {W*4+H, H});
type              114 test/correctness/simd_op_check.cpp                 if (p.type().is_float()) {
type              115 test/correctness/simd_op_check.cpp                     r = cast(p.type(), random_float() * 1024 - 512);
type              120 test/correctness/simd_op_check.cpp                     r = cast(p.type(), random_int() / 4);
type               19 test/correctness/specialize.cpp         if (ev->type.lanes > 1) {
type               21 test/correctness/specialize.cpp             vector_store_lanes = ev->type.lanes;
type               83 test/correctness/tracing.cpp     assert(ev->dimensions <= 4 && ev->type.lanes <= 4);
type               90 test/correctness/tracing.cpp     e.type_code = ev->type.code;
type               91 test/correctness/tracing.cpp     e.bits = ev->type.bits;
type               92 test/correctness/tracing.cpp     e.width = ev->type.lanes;
type               98 test/correctness/tracing.cpp     for (int i = 0; i < ev->type.lanes; i++) {
type                8 test/correctness/tracing_broadcast.cpp         for (int i = 0; i < e->type.lanes; ++i) {
type              608 test/correctness/vector_math.cpp     Buffer<typename with_unsigned<A>::type> im22 = f22.realize(W, H);
type              612 test/correctness/vector_math.cpp             typename with_unsigned<A>::type correct = absd((double)input(x, y), (double)input(x+1, y));
type                9 test/correctness/vectorize_guard_with_if.cpp         if (e->type.lanes > 1) {
type               29 test/generator/error_codes_aottest.cpp     in.type = halide_type_of<int>();
type               34 test/generator/error_codes_aottest.cpp     out.type = halide_type_of<int>();
type               76 test/generator/example_generator.cpp         output(x, y, c) = cast(output.type(), f(x, y) * c * compiletime_factor * runtime_factor);
type               89 test/generator/example_generator.cpp             .vectorize(x, natural_vector_size(output.type()));
type               38 test/generator/image_from_array_aottest.cpp typename remove_all_extents<Array>::type const * first_of_array(Array (&vals)[N]) {
type               94 test/generator/image_from_array_aottest.cpp template<typename Array, typename T = typename remove_all_extents<Array>::type>
type              115 test/generator/matlab_aottest.cpp EXPORT mxArray *mxCreateNumericMatrix_730(size_t M, size_t N, mxClassID type, mxComplexity complexity) {
type              117 test/generator/matlab_aottest.cpp     switch (type) {
type              124 test/generator/matlab_aottest.cpp EXPORT mxArray *mxCreateNumericMatrix_700(int M, int N, mxClassID type, mxComplexity complexity) {
type              125 test/generator/matlab_aottest.cpp     return mxCreateNumericMatrix_730(M, N, type, complexity);
type              107 test/generator/metadata_tester_aottest.cpp     EXPECT_EQ(e.type.code, a.type.code);
type              108 test/generator/metadata_tester_aottest.cpp     EXPECT_EQ(e.type.bits, a.type.bits);
type              110 test/generator/metadata_tester_aottest.cpp     EXPECT_SCALAR_UNION_EQ(e.type.code, e.type.bits, e.def, a.def);
type              111 test/generator/metadata_tester_aottest.cpp     EXPECT_SCALAR_UNION_EQ(e.type.code, e.type.bits, e.min, a.min);
type              112 test/generator/metadata_tester_aottest.cpp     EXPECT_SCALAR_UNION_EQ(e.type.code, e.type.bits, e.max, a.max);
type               37 test/generator/msan_aottest.cpp     if (in->type != out->type) {
type               47 test/generator/stubuser_generator.cpp         gp.untyped_buffer_output_type = int32_buffer_output.type();
type              119 test/performance/rfactor.cpp     double gbits = in.type().bits() * W * H / 1e9; // bits per seconds
type              191 test/performance/rfactor.cpp     float gbits = input.type().bits() * vec.number_of_elements() / 1e9; // bits per seconds
type              260 test/performance/rfactor.cpp     float gbits = input0.type().bits() * size * 2 / 1e9; // bits per seconds
type              111 test/performance/sort.cpp         merge_rows(x, y) = Tuple(0, 0, cast(input.value().type(), 0));
type               68 tutorial/lesson_14_types.cpp         assert(Expr(x).type() == Int(32));
type               72 tutorial/lesson_14_types.cpp         assert(sin(x).type() == Float(32));
type               75 tutorial/lesson_14_types.cpp         assert(cast(UInt(8), x).type() == UInt(8));
type               78 tutorial/lesson_14_types.cpp         assert(cast<uint8_t>(x).type() == UInt(8));
type              120 tutorial/lesson_14_types.cpp             assert((e + e).type() == e.type());
type              126 tutorial/lesson_14_types.cpp         assert((u8 + f32).type() == Float(32));
type              127 tutorial/lesson_14_types.cpp         assert((f32 + s64).type() == Float(32));
type              128 tutorial/lesson_14_types.cpp         assert((u16 + f64).type() == Float(64));
type              129 tutorial/lesson_14_types.cpp         assert((f64 + s32).type() == Float(64));
type              133 tutorial/lesson_14_types.cpp         assert((f64 + f32).type() == Float(64));
type              141 tutorial/lesson_14_types.cpp         assert((u32 + 3).type() == UInt(32));
type              142 tutorial/lesson_14_types.cpp         assert((3 + s16).type() == Int(16));
type              152 tutorial/lesson_14_types.cpp         assert((u32 + u8).type() == UInt(32));
type              153 tutorial/lesson_14_types.cpp         assert((s16 + s64).type() == Int(64));
type              158 tutorial/lesson_14_types.cpp         assert((u8 + s32).type() == Int(32));
type              159 tutorial/lesson_14_types.cpp         assert((u32 + s8).type() == Int(32));
type              163 tutorial/lesson_14_types.cpp         assert((u32 + s32).type() == Int(32));
type              207 tutorial/lesson_14_types.cpp         assert(average(cast<float>(x), 3.0f).type() == Float(32));
type              208 tutorial/lesson_14_types.cpp         assert(average(x, 3).type() == Int(32));
type              209 tutorial/lesson_14_types.cpp         assert(average(cast<uint8_t>(x), cast<uint8_t>(3)).type() == UInt(8));
type              219 tutorial/lesson_14_types.cpp     assert(a.type() == b.type());
type              222 tutorial/lesson_14_types.cpp     if (a.type().is_float()) {
type              230 tutorial/lesson_14_types.cpp     Type narrow = a.type();
type               47 util/HalideTraceViz.cpp         switch (type.code) {
type               49 util/HalideTraceViz.cpp             switch (type.bits) {
type               63 util/HalideTraceViz.cpp             switch (type.bits) {
type               77 util/HalideTraceViz.cpp             switch (type.bits) {
type              134 util/HalideTraceViz.cpp         fprintf(stderr, "Can't visualize packet with type: %d bits: %d\n", type.code, type.bits);
type              210 util/HalideTraceViz.cpp             loads += p.type.lanes;
type              215 util/HalideTraceViz.cpp             stores += p.type.lanes;
type              219 util/HalideTraceViz.cpp             for (int i = 0; i < std::min(16, p.dimensions / p.type.lanes); i++) {
type              220 util/HalideTraceViz.cpp                 for (int lane = 0; lane < p.type.lanes; lane++) {
type              221 util/HalideTraceViz.cpp                     int coord = p.get_coord(i*p.type.lanes + lane);
type              232 util/HalideTraceViz.cpp             for (int i = 0; i < p.type.lanes; i++) {
type              774 util/HalideTraceViz.cpp                 halide_clock += fi.config.store_cost * p.type.lanes;
type              777 util/HalideTraceViz.cpp                 halide_clock += fi.config.load_cost * p.type.lanes;
type              784 util/HalideTraceViz.cpp             assert(p.dimensions >= p.type.lanes * fi.config.dims);
type              785 util/HalideTraceViz.cpp             if (p.dimensions >= p.type.lanes * fi.config.dims) {
type              786 util/HalideTraceViz.cpp                 for (int lane = 0; lane < p.type.lanes; lane++) {
type              791 util/HalideTraceViz.cpp                         int a = p.get_coord(d * p.type.lanes + lane);
type              827 util/HalideTraceViz.cpp                             uint32_t channel = p.get_coord(fi.config.color_dim * p.type.lanes + lane);