predicate 37 src/AlignLoads.cpp internal_assert(is_one(load->predicate)) << "Load should not be predicated.\n"; predicate 43 src/AlignLoads.cpp if (!is_one(op->predicate)) { predicate 554 src/Bounds.cpp op->image, op->param, op->predicate); predicate 168 src/CSE.cpp Expr predicate = op->predicate; predicate 170 src/CSE.cpp if (!is_one(predicate)) { predicate 171 src/CSE.cpp predicate = mutate(op->predicate); predicate 174 src/CSE.cpp if (predicate.same_as(op->predicate) && index.same_as(op->index)) { predicate 177 src/CSE.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, predicate); predicate 182 src/CSE.cpp Expr predicate = op->predicate; predicate 184 src/CSE.cpp if (!is_one(predicate)) { predicate 185 src/CSE.cpp predicate = mutate(op->predicate); predicate 189 src/CSE.cpp if (predicate.same_as(op->predicate) && value.same_as(op->value) && index.same_as(op->index)) { predicate 192 src/CSE.cpp stmt = Store::make(op->name, value, index, op->param, predicate); predicate 61 src/Closure.cpp op->predicate.accept(this); predicate 67 src/Closure.cpp op->predicate.accept(this); predicate 635 src/CodeGen_ARM.cpp if (!is_one(op->predicate)) { predicate 814 src/CodeGen_ARM.cpp if (!is_one(op->predicate)) { predicate 153 src/CodeGen_Hexagon.cpp if (is_one(op->predicate) || op->predicate.as<Broadcast>() || !is_dense_ramp(op->index)) { predicate 158 src/CodeGen_Hexagon.cpp Expr predicate = mutate(op->predicate); predicate 162 src/CodeGen_Hexagon.cpp Expr condition = Shuffle::make({predicate}, {0}); predicate 164 src/CodeGen_Hexagon.cpp condition = condition || Shuffle::make({predicate}, {i}); predicate 166 src/CodeGen_Hexagon.cpp predicate = Broadcast::make(condition, predicate.type().lanes()); predicate 168 src/CodeGen_Hexagon.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, predicate); predicate 275 src/CodeGen_Internal.cpp if (is_one(op->predicate)) { predicate 280 src/CodeGen_Internal.cpp Expr predicate = mutate(op->predicate); predicate 284 src/CodeGen_Internal.cpp if (const Broadcast *scalar_pred = predicate.as<Broadcast>()) { predicate 293 src/CodeGen_Internal.cpp Expr predicate_var = Variable::make(predicate.type(), predicate_name); predicate 307 src/CodeGen_Internal.cpp expr = Let::make(predicate_name, predicate, expr); predicate 313 src/CodeGen_Internal.cpp if (is_one(op->predicate)) { predicate 318 src/CodeGen_Internal.cpp Expr predicate = mutate(op->predicate); predicate 322 src/CodeGen_Internal.cpp if (const Broadcast *scalar_pred = predicate.as<Broadcast>()) { predicate 331 src/CodeGen_Internal.cpp Expr predicate_var = Variable::make(predicate.type(), predicate_name); predicate 334 src/CodeGen_Internal.cpp for (int i = 0; i < predicate.type().lanes(); i++) { predicate 342 src/CodeGen_Internal.cpp stmt = LetStmt::make(predicate_name, predicate, stmt); predicate 1619 src/CodeGen_LLVM.cpp op->index, op->image, op->param, op->predicate))); predicate 1624 src/CodeGen_LLVM.cpp if (!is_one(op->predicate)) { predicate 1676 src/CodeGen_LLVM.cpp Expr load_a = Load::make(op->type, op->name, ramp_a, op->image, op->param, op->predicate); predicate 1677 src/CodeGen_LLVM.cpp Expr load_b = Load::make(op->type, op->name, ramp_b, op->image, op->param, op->predicate); predicate 1696 src/CodeGen_LLVM.cpp Expr flipped_load = Load::make(op->type, op->name, flipped_index, op->image, op->param, op->predicate); predicate 1891 src/CodeGen_LLVM.cpp Value *vpred = codegen(op->predicate); predicate 1938 src/CodeGen_LLVM.cpp Value *vpred = codegen(op->predicate); predicate 2037 src/CodeGen_LLVM.cpp value = codegen_dense_vector_load(op, codegen(op->predicate)); predicate 2046 src/CodeGen_LLVM.cpp Value *vpred = codegen(op->predicate); predicate 2064 src/CodeGen_LLVM.cpp {op->predicate, load_expr, make_zero(load_expr.type())}, predicate 3080 src/CodeGen_LLVM.cpp codegen(Store::make(op->name, v, op->index, op->param, op->predicate)); predicate 3085 src/CodeGen_LLVM.cpp if (!is_one(op->predicate)) { predicate 3099 src/CodeGen_LLVM.cpp Stmt s = Store::make(op->name, op->value, let->body, op->param, op->predicate); predicate 219 src/CodeGen_Metal_Dev.cpp user_assert(is_one(op->predicate)) << "Predicated load is not supported inside Metal kernel.\n"; predicate 287 src/CodeGen_Metal_Dev.cpp user_assert(is_one(op->predicate)) << "Predicated store is not supported inside Metal kernel.\n"; predicate 223 src/CodeGen_OpenCL_Dev.cpp user_assert(is_one(op->predicate)) << "Predicated load is not supported inside OpenCL kernel.\n"; predicate 289 src/CodeGen_OpenCL_Dev.cpp user_assert(is_one(op->predicate)) << "Predicated store is not supported inside OpenCL kernel.\n"; predicate 184 src/CodeGen_OpenGLCompute_Dev.cpp user_assert(is_one(op->predicate)) << "GLSL: predicated load is not supported.\n"; predicate 199 src/CodeGen_OpenGLCompute_Dev.cpp user_assert(is_one(op->predicate)) << "GLSL: predicated store is not supported.\n"; predicate 525 src/CodeGen_OpenGL_Dev.cpp user_assert(is_one(op->predicate)) << "GLSL: predicated load is not supported.\n"; predicate 550 src/CodeGen_OpenGL_Dev.cpp user_assert(is_one(op->predicate)) << "GLSL: predicated store is not supported.\n"; predicate 19 src/Definition.cpp Expr predicate; predicate 27 src/Definition.cpp if (predicate.defined()) { predicate 28 src/Definition.cpp predicate.accept(visitor); predicate 49 src/Definition.cpp if (predicate.defined()) { predicate 50 src/Definition.cpp predicate = mutator->mutate(predicate); predicate 95 src/Definition.cpp contents->predicate = rdom.predicate(); predicate 109 src/Definition.cpp copy.contents->predicate = contents->predicate; predicate 154 src/Definition.cpp return contents->predicate; predicate 158 src/Definition.cpp return contents->predicate; predicate 163 src/Definition.cpp split_into_ands(contents->predicate, predicates); predicate 187 src/Definition.cpp s.definition.contents->predicate = contents->predicate; predicate 93 src/Definition.h EXPORT const Expr &predicate() const; predicate 94 src/Definition.h EXPORT Expr &predicate(); predicate 174 src/Deinterleave.cpp expr = Load::make(t, op->name, mutate(op->index), op->image, op->param, mutate(op->predicate)); predicate 496 src/Deinterleave.cpp Expr predicate = mutate(op->predicate); predicate 499 src/Deinterleave.cpp if (should_deinterleave_idx && (should_deinterleave_predicate || is_one(predicate))) { predicate 503 src/Deinterleave.cpp expr = Load::make(op->type, op->name, idx, op->image, op->param, predicate); predicate 509 src/Deinterleave.cpp expr = Load::make(op->type, op->name, idx, op->image, op->param, predicate); predicate 513 src/Deinterleave.cpp predicate = deinterleave_expr(predicate); predicate 514 src/Deinterleave.cpp expr = Load::make(op->type, op->name, idx, op->image, op->param, predicate); predicate 515 src/Deinterleave.cpp } else if (!idx.same_as(op->index) || !predicate.same_as(op->index)) { predicate 516 src/Deinterleave.cpp expr = Load::make(op->type, op->name, idx, op->image, op->param, predicate); predicate 542 src/Deinterleave.cpp Expr predicate = mutate(op->predicate); predicate 544 src/Deinterleave.cpp predicate = deinterleave_expr(predicate); predicate 547 src/Deinterleave.cpp stmt = Store::make(op->name, value, idx, op->param, predicate); predicate 639 src/Deinterleave.cpp if (!is_one(load->predicate)) goto fail; predicate 682 src/Deinterleave.cpp predicates[j] = stores[i].as<Store>()->predicate; predicate 692 src/Deinterleave.cpp Expr predicate = Shuffle::make_interleave(predicates); predicate 693 src/Deinterleave.cpp Stmt new_store = Store::make(store->name, value, index, store->param, predicate); predicate 124 src/EliminateBoolVectors.cpp Expr predicate = mutate(op->predicate); predicate 135 src/EliminateBoolVectors.cpp if (predicate.same_as(op->predicate) && value.same_as(op->value) && index.same_as(op->index)) { predicate 138 src/EliminateBoolVectors.cpp stmt = Store::make(op->name, value, index, op->param, predicate); predicate 790 src/Func.cpp definition.predicate() = f_rdom.domain().predicate(); predicate 569 src/Function.cpp check.reduction_domain.predicate().accept(&check); predicate 583 src/Function.cpp check.reduction_domain.predicate().accept(&freezer); predicate 608 src/Function.cpp check.reduction_domain.set_predicate(lower_random(check.reduction_domain.predicate(), free_vars, tag)); predicate 625 src/Function.cpp deleter.mutate(check.reduction_domain.predicate())); predicate 357 src/FuseGPUThreadLoops.cpp Expr predicate = mutate(op->predicate); predicate 362 src/FuseGPUThreadLoops.cpp index, op->image, op->param, predicate); predicate 366 src/FuseGPUThreadLoops.cpp op->image, op->param, predicate); predicate 377 src/FuseGPUThreadLoops.cpp Expr predicate = mutate(op->predicate); predicate 382 src/FuseGPUThreadLoops.cpp op->param, predicate); predicate 385 src/FuseGPUThreadLoops.cpp stmt = Store::make(shared_mem_name, value, base + index, op->param, predicate); predicate 21 src/FuzzFloatStores.cpp stmt = Store::make(op->name, value, op->index, op->param, op->predicate); predicate 580 src/HexagonOffload.cpp i->second, mutate(op->predicate)); predicate 590 src/HexagonOffload.cpp i->second, mutate(op->predicate)); predicate 1380 src/HexagonOptimize.cpp Expr predicate = mutate(op->predicate); predicate 1387 src/HexagonOptimize.cpp if (!is_one(predicate)) { predicate 1411 src/HexagonOptimize.cpp internal_assert(is_one(predicate)) << "The store shouldn't have been predicated.\n"; predicate 1415 src/HexagonOptimize.cpp if (predicate.same_as(op->predicate) && value.same_as(op->value) && index.same_as(op->index)) { predicate 1418 src/HexagonOptimize.cpp stmt = Store::make(op->name, value, index, op->param, predicate); predicate 1546 src/HexagonOptimize.cpp if (!is_one(op->predicate)) { predicate 1599 src/HexagonOptimize.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, op->predicate); predicate 232 src/IR.cpp Expr Load::make(Type type, const std::string &name, const Expr &index, Buffer<> image, Parameter param, const Expr &predicate) { predicate 233 src/IR.cpp internal_assert(predicate.defined()) << "Load with undefined predicate\n"; predicate 236 src/IR.cpp internal_assert(type.lanes() == predicate.type().lanes()) predicate 242 src/IR.cpp node->predicate = predicate; predicate 345 src/IR.cpp Stmt Store::make(const std::string &name, const Expr &value, const Expr &index, Parameter param, const Expr &predicate) { predicate 346 src/IR.cpp internal_assert(predicate.defined()) << "Store with undefined predicate\n"; predicate 350 src/IR.cpp internal_assert(value.type().lanes() == predicate.type().lanes()) predicate 355 src/IR.cpp node->predicate = predicate; predicate 201 src/IR.h Expr predicate, index; predicate 212 src/IR.h Parameter param, const Expr &predicate); predicate 310 src/IR.h Expr predicate, value, index; predicate 315 src/IR.h Parameter param, const Expr &predicate); predicate 304 src/IREquality.cpp compare_expr(e->predicate, op->predicate); predicate 375 src/IREquality.cpp compare_expr(s->predicate, op->predicate); predicate 193 src/IRMatch.cpp expr = e->predicate; predicate 194 src/IRMatch.cpp op->predicate.accept(this); predicate 116 src/IRMutator.cpp Expr predicate = mutate(op->predicate); predicate 118 src/IRMutator.cpp if (predicate.same_as(op->predicate) && index.same_as(op->index)) { predicate 121 src/IRMutator.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, predicate); predicate 218 src/IRMutator.cpp Expr predicate = mutate(op->predicate); predicate 221 src/IRMutator.cpp if (predicate.same_as(op->predicate) && value.same_as(op->value) && index.same_as(op->index)) { predicate 224 src/IRMutator.cpp stmt = Store::make(op->name, value, index, op->param, predicate); predicate 487 src/IRPrinter.cpp if (!is_one(op->predicate)) { predicate 489 src/IRPrinter.cpp print(op->predicate); predicate 584 src/IRPrinter.cpp if (!is_one(op->predicate)) { predicate 586 src/IRPrinter.cpp print(op->predicate); predicate 114 src/IRVisitor.cpp op->predicate.accept(this); predicate 172 src/IRVisitor.cpp op->predicate.accept(this); predicate 366 src/IRVisitor.cpp include(op->predicate); predicate 411 src/IRVisitor.cpp include(op->predicate); predicate 286 src/LoopCarry.cpp predicates.push_back(v[0]->predicate); predicate 287 src/LoopCarry.cpp next_predicates.push_back(step_forwards(v[0]->predicate, linear)); predicate 144 src/ParallelRVar.cpp Expr pred = simplify(r.predicate()); predicate 68 src/PartitionLoops.cpp Expr predicate = mutate(op->predicate); predicate 69 src/PartitionLoops.cpp if (predicate.same_as(op->predicate) && index.same_as(op->index) && value.same_as(op->value)) { predicate 72 src/PartitionLoops.cpp stmt = Store::make(op->name, value, index, op->param, predicate); predicate 235 src/Prefetch.cpp Expr predicate = prefetch_box.used.defined() ? prefetch_box.used : const_true(); predicate 237 src/Prefetch.cpp predicate = predicate && (prefetch_box[i].min >= bounds[i].min) && predicate 240 src/Prefetch.cpp prefetch_box.used = simplify(predicate); predicate 212 src/RDom.cpp void RDom::where(Expr predicate) { predicate 217 src/RDom.cpp dom.where(predicate); predicate 233 src/RDom.cpp Expr pred = simplify(dom.domain().predicate()); predicate 309 src/RDom.h EXPORT void where(Expr predicate); predicate 95 src/Reduction.cpp Expr predicate; predicate 98 src/Reduction.cpp ReductionDomainContents() : predicate(const_true()), frozen(false) { predicate 111 src/Reduction.cpp if (predicate.defined()) { predicate 112 src/Reduction.cpp predicate.accept(visitor); predicate 126 src/Reduction.cpp if (predicate.defined()) { predicate 127 src/Reduction.cpp predicate = mutator->mutate(predicate); predicate 148 src/Reduction.cpp copy.contents->predicate = contents->predicate; predicate 166 src/Reduction.cpp << "Cannot set the predicate to : " << predicate << "\n"; predicate 173 src/Reduction.cpp Expr predicate; predicate 176 src/Reduction.cpp predicate(p), domain(d) {} predicate 183 src/Reduction.cpp contents->predicate = DropSelfReferences(p, *this).mutate(p); predicate 186 src/Reduction.cpp void ReductionDomain::where(Expr predicate) { predicate 187 src/Reduction.cpp set_predicate(simplify(contents->predicate && predicate)); predicate 191 src/Reduction.cpp return contents->predicate; predicate 196 src/Reduction.cpp split_into_ands(contents->predicate, predicates); predicate 74 src/Reduction.h EXPORT void where(Expr predicate); predicate 77 src/Reduction.h EXPORT Expr predicate() const; predicate 15 src/RemoveUndef.cpp Expr predicate; predicate 104 src/RemoveUndef.cpp if (predicate.defined()) { predicate 105 src/RemoveUndef.cpp predicate = predicate && cond; predicate 107 src/RemoveUndef.cpp predicate = cond; predicate 120 src/RemoveUndef.cpp Expr pred = mutate(op->predicate); predicate 123 src/RemoveUndef.cpp if (pred.same_as(op->predicate) && index.same_as(op->index)) { predicate 193 src/RemoveUndef.cpp predicate = substitute(op->name, value, predicate); predicate 270 src/RemoveUndef.cpp predicate = Expr(); predicate 272 src/RemoveUndef.cpp Expr pred = mutate(op->predicate); predicate 285 src/RemoveUndef.cpp if (predicate.defined()) { predicate 287 src/RemoveUndef.cpp stmt = IfThenElse::make(predicate, Store::make(op->name, value, index, op->param, pred)); predicate 288 src/RemoveUndef.cpp predicate = Expr(); predicate 289 src/RemoveUndef.cpp } else if (pred.same_as(op->predicate) && predicate 299 src/RemoveUndef.cpp predicate = Expr(); predicate 310 src/RemoveUndef.cpp predicate = Expr(); predicate 316 src/RemoveUndef.cpp args_predicates.push_back(predicate); predicate 331 src/RemoveUndef.cpp predicate = Expr(); predicate 337 src/RemoveUndef.cpp values_predicates.push_back(predicate); predicate 355 src/RemoveUndef.cpp if (predicate.defined()) { predicate 356 src/RemoveUndef.cpp stmt = IfThenElse::make(predicate, Provide::make(op->name, new_values, new_args)); predicate 357 src/RemoveUndef.cpp predicate = Expr(); predicate 498 src/RemoveUndef.cpp internal_assert(!r.predicate.defined()) predicate 500 src/RemoveUndef.cpp << r.predicate << "\n"; predicate 3978 src/Simplify.cpp Expr predicate = mutate(op->predicate); predicate 3982 src/Simplify.cpp const Broadcast *b_pred = predicate.as<Broadcast>(); predicate 3983 src/Simplify.cpp if (is_zero(predicate)) { predicate 3990 src/Simplify.cpp } else if (predicate.same_as(op->predicate) && index.same_as(op->index)) { predicate 3993 src/Simplify.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, predicate); predicate 4336 src/Simplify.cpp load_predicates.push_back(load->predicate); predicate 4338 src/Simplify.cpp unpredicated = unpredicated && is_one(load->predicate); predicate 4822 src/Simplify.cpp Expr predicate = mutate(op->predicate); predicate 4827 src/Simplify.cpp const Broadcast *scalar_pred = predicate.as<Broadcast>(); predicate 4829 src/Simplify.cpp if (is_zero(predicate)) { predicate 4838 src/Simplify.cpp } else if (predicate.same_as(op->predicate) && value.same_as(op->value) && index.same_as(op->index)) { predicate 4841 src/Simplify.cpp stmt = Store::make(op->name, value, index, op->param, predicate); predicate 45 src/SkipStages.cpp Expr predicate; predicate 46 src/SkipStages.cpp PredicateFinder(const string &b, bool s) : predicate(const_false()), predicate 79 src/SkipStages.cpp } else if (expr_uses_var(predicate, op->name)) { predicate 80 src/SkipStages.cpp predicate = Let::make(op->name, op->min, predicate); predicate 98 src/SkipStages.cpp if (expr_uses_var(predicate, name)) { predicate 99 src/SkipStages.cpp predicate = Let::make(name, value, predicate); predicate 178 src/SkipStages.cpp Expr old_predicate = predicate; predicate 180 src/SkipStages.cpp predicate = const_false(); predicate 182 src/SkipStages.cpp Expr true_predicate = predicate; predicate 184 src/SkipStages.cpp predicate = const_false(); predicate 186 src/SkipStages.cpp Expr false_predicate = predicate; predicate 189 src/SkipStages.cpp predicate = const_false(); predicate 193 src/SkipStages.cpp predicate = make_or(predicate, old_predicate); predicate 195 src/SkipStages.cpp predicate = make_or(predicate, make_or(true_predicate, false_predicate)); predicate 197 src/SkipStages.cpp predicate = make_or(predicate, make_select(condition, true_predicate, false_predicate)); predicate 221 src/SkipStages.cpp predicate = const_true(); predicate 354 src/SkipStages.cpp debug(3) << "Simplifying compute predicate for " << op->name << ": " << find_compute.predicate << "\n"; predicate 355 src/SkipStages.cpp Expr compute_predicate = simplify(common_subexpression_elimination(find_compute.predicate)); predicate 373 src/SkipStages.cpp Expr alloc_predicate = simplify(common_subexpression_elimination(find_alloc.predicate)); predicate 264 src/StmtToHtml.cpp if (!is_one(op->predicate)) { predicate 266 src/StmtToHtml.cpp print(op->predicate); predicate 390 src/StmtToHtml.cpp if (!is_one(op->predicate)) { predicate 392 src/StmtToHtml.cpp print(op->predicate); predicate 306 src/StorageFlattening.cpp op->image, op->param, mutate(op->predicate))); predicate 316 src/StorageFlattening.cpp op->param, mutate(op->predicate)); predicate 81 src/TrimNoOps.cpp if (op->value.type().is_handle() || is_zero(op->predicate)) { predicate 99 src/TrimNoOps.cpp Buffer<>(), Parameter(), op->predicate); predicate 802 src/VaryingAttributes.cpp mutate_operator(this, op, op->predicate, op->index, &stmt); predicate 852 src/VaryingAttributes.cpp mutate_operator(this, op, op->predicate, op->value, op->index, &stmt); predicate 202 src/VectorizeLoops.cpp op->image, op->param, mutate(op->predicate)); predicate 207 src/VectorizeLoops.cpp op->param, mutate(op->predicate)); predicate 276 src/VectorizeLoops.cpp Expr predicate, index; predicate 278 src/VectorizeLoops.cpp internal_assert(op->predicate.type().lanes() == lanes); predicate 281 src/VectorizeLoops.cpp predicate = mutate(op->predicate); predicate 284 src/VectorizeLoops.cpp predicate = mutate(Broadcast::make(op->predicate, lanes)); predicate 291 src/VectorizeLoops.cpp predicate = merge_predicate(predicate, vector_predicate); predicate 296 src/VectorizeLoops.cpp expr = Load::make(op->type, op->name, index, op->image, op->param, predicate); predicate 307 src/VectorizeLoops.cpp Expr predicate, value, index; predicate 309 src/VectorizeLoops.cpp internal_assert(op->predicate.type().lanes() == lanes); predicate 313 src/VectorizeLoops.cpp predicate = mutate(op->predicate); predicate 317 src/VectorizeLoops.cpp predicate = mutate(Broadcast::make(op->predicate, lanes)); predicate 325 src/VectorizeLoops.cpp predicate = merge_predicate(predicate, vector_predicate); predicate 330 src/VectorizeLoops.cpp stmt = Store::make(op->name, value, op->index, op->param, predicate); predicate 459 src/VectorizeLoops.cpp Expr predicate = mutate(op->predicate); predicate 462 src/VectorizeLoops.cpp if (predicate.same_as(op->predicate) && index.same_as(op->index)) { predicate 466 src/VectorizeLoops.cpp predicate = widen(predicate, w); predicate 468 src/VectorizeLoops.cpp op->param, predicate); predicate 655 src/VectorizeLoops.cpp Expr predicate = mutate(op->predicate); predicate 659 src/VectorizeLoops.cpp if (predicate.same_as(op->predicate) && value.same_as(op->value) && index.same_as(op->index)) { predicate 662 src/VectorizeLoops.cpp int lanes = std::max(predicate.type().lanes(), std::max(value.type().lanes(), index.type().lanes())); predicate 664 src/VectorizeLoops.cpp op->param, widen(predicate, lanes)); predicate 28 test/correctness/predicated_store_load.cpp if (!is_one(op->predicate)) { predicate 35 test/correctness/predicated_store_load.cpp if (!is_one(op->predicate)) {