fn 12 apps/simd_op_check/driver.cpp int (*fn)(halide_buffer_t *, // float32 fn 92 apps/simd_op_check/driver.cpp for (int i = 0; filters[i].fn; i++) { fn 95 apps/simd_op_check/driver.cpp f.fn(bufs + 0, fn 982 src/Bounds.cpp BoxesTouched(bool calls, bool provides, string fn, const Scope<Interval> *s, const FuncValueBounds &fb) : fn 983 src/Bounds.cpp func(fn), consider_calls(calls), consider_provides(provides), func_bounds(fb) { fn 1313 src/Bounds.cpp string fn, const Scope<Interval> &scope, const FuncValueBounds &fb) { fn 1315 src/Bounds.cpp BoxesTouched calls(consider_calls, false, fn, &scope, fb); fn 1316 src/Bounds.cpp BoxesTouched provides(false, consider_provides, fn, &scope, fb); fn 1349 src/Bounds.cpp string fn, const Scope<Interval> &scope, const FuncValueBounds &fb) { fn 1350 src/Bounds.cpp map<string, Box> boxes = boxes_touched(e, s, consider_calls, consider_provides, fn, scope, fb); fn 1352 src/Bounds.cpp return boxes[fn]; fn 1359 src/Bounds.cpp Box box_required(Expr e, string fn, const Scope<Interval> &scope, const FuncValueBounds &fb) { fn 1360 src/Bounds.cpp return box_touched(e, Stmt(), true, false, fn, scope, fb); fn 1367 src/Bounds.cpp Box box_required(Stmt s, string fn, const Scope<Interval> &scope, const FuncValueBounds &fb) { fn 1368 src/Bounds.cpp return box_touched(Expr(), s, true, false, fn, scope, fb); fn 1375 src/Bounds.cpp Box box_provided(Expr e, string fn, const Scope<Interval> &scope, const FuncValueBounds &fb) { fn 1376 src/Bounds.cpp return box_touched(e, Stmt(), false, true, fn, scope, fb); fn 1383 src/Bounds.cpp Box box_provided(Stmt s, string fn, const Scope<Interval> &scope, const FuncValueBounds &fb) { fn 1384 src/Bounds.cpp return box_touched(Expr(), s, false, true, fn, scope, fb); fn 1391 src/Bounds.cpp Box box_touched(Expr e, string fn, const Scope<Interval> &scope, const FuncValueBounds &fb) { fn 1392 src/Bounds.cpp return box_touched(e, Stmt(), true, true, fn, scope, fb); fn 1399 src/Bounds.cpp Box box_touched(Stmt s, string fn, const Scope<Interval> &scope, const FuncValueBounds &fb) { fn 1400 src/Bounds.cpp return box_touched(Expr(), s, true, true, fn, scope, fb); fn 120 src/Bounds.h Box box_required(Expr e, std::string fn, fn 123 src/Bounds.h Box box_required(Stmt s, std::string fn, fn 127 src/Bounds.h Box box_provided(Expr e, std::string fn, fn 130 src/Bounds.h Box box_provided(Stmt s, std::string fn, fn 134 src/Bounds.h Box box_touched(Expr e, std::string fn, fn 137 src/Bounds.h Box box_touched(Stmt s, std::string fn, fn 737 src/CodeGen_ARM.cpp llvm::Function *fn = dyn_cast_or_null<llvm::Function>(module->getOrInsertFunction(instr.str(), fn_type)); fn 738 src/CodeGen_ARM.cpp internal_assert(fn); fn 767 src/CodeGen_ARM.cpp CallInst *store = builder->CreateCall(fn, slice_args); fn 794 src/CodeGen_ARM.cpp llvm::Function *fn = module->getFunction(builtin.str()); fn 795 src/CodeGen_ARM.cpp if (fn) { fn 801 src/CodeGen_ARM.cpp Instruction *store = builder->CreateCall(fn, store_args); fn 926 src/CodeGen_ARM.cpp llvm::Function *fn = module->getFunction(builtin.str()); fn 927 src/CodeGen_ARM.cpp if (fn) { fn 932 src/CodeGen_ARM.cpp Instruction *load = builder->CreateCall(fn, args, builtin.str()); fn 1067 src/CodeGen_C.cpp const StringImm *fn = op->args[0].as<StringImm>(); fn 1068 src/CodeGen_C.cpp internal_assert(fn); fn 1072 src/CodeGen_C.cpp fn->value + "(" + fn 630 src/CodeGen_Hexagon.cpp llvm::Function *fn = nullptr; fn 635 src/CodeGen_Hexagon.cpp fn = module->getFunction("halide.hexagon.dup4.b"); fn 638 src/CodeGen_Hexagon.cpp fn = module->getFunction("halide.hexagon.dup2.h"); fn 643 src/CodeGen_Hexagon.cpp args[i] = builder->CreateCall(fn, { args[i] }); fn 1238 src/CodeGen_Hexagon.cpp llvm::Function *fn = module->getFunction(name); fn 1239 src/CodeGen_Hexagon.cpp if (maybe && !fn) return nullptr; fn 1240 src/CodeGen_Hexagon.cpp internal_assert(fn) << "Function '" << name << "' not found\n"; fn 1241 src/CodeGen_Hexagon.cpp if (fn->getReturnType()->getVectorNumElements()*2 <= static_cast<unsigned>(result_type.lanes())) { fn 1247 src/CodeGen_Hexagon.cpp fn = fn2; fn 1251 src/CodeGen_Hexagon.cpp fn->getReturnType()->getVectorNumElements(), fn 1252 src/CodeGen_Hexagon.cpp fn->getName(), fn 1258 src/CodeGen_Hexagon.cpp llvm::Function *fn = module->getFunction(name); fn 1259 src/CodeGen_Hexagon.cpp if (maybe && !fn) return nullptr; fn 1260 src/CodeGen_Hexagon.cpp internal_assert(fn) << "Function '" << name << "' not found\n"; fn 1261 src/CodeGen_Hexagon.cpp if (fn->getReturnType()->getVectorNumElements()*2 <= result_type->getVectorNumElements()) { fn 1267 src/CodeGen_Hexagon.cpp fn = fn2; fn 1271 src/CodeGen_Hexagon.cpp fn->getReturnType()->getVectorNumElements(), fn 1272 src/CodeGen_Hexagon.cpp fn->getName(), fn 467 src/CodeGen_Internal.cpp void set_function_attributes_for_target(llvm::Function *fn, Target t) { fn 471 src/CodeGen_Internal.cpp fn->addFnAttr("reciprocal-estimates", "none"); fn 2243 src/CodeGen_LLVM.cpp llvm::Function *fn = Intrinsic::getDeclaration(module.get(), Intrinsic::ctpop, arg_type); fn 2244 src/CodeGen_LLVM.cpp CallInst *call = builder->CreateCall(fn, codegen(op->args[0])); fn 2251 src/CodeGen_LLVM.cpp llvm::Function *fn = Intrinsic::getDeclaration(module.get(), fn 2257 src/CodeGen_LLVM.cpp CallInst *call = builder->CreateCall(fn, args); fn 2460 src/CodeGen_LLVM.cpp const StringImm *fn = op->args[0].as<StringImm>(); fn 2461 src/CodeGen_LLVM.cpp internal_assert(fn); fn 2464 src/CodeGen_LLVM.cpp llvm::Function *f = module->getFunction(fn->value); fn 2468 src/CodeGen_LLVM.cpp f = llvm::Function::Create(func_t, llvm::Function::ExternalLinkage, fn->value, module.get()); fn 2516 src/CodeGen_LLVM.cpp llvm::Function *fn; fn 2556 src/CodeGen_LLVM.cpp const auto base_fn = sub_fns.back().fn; fn 2688 src/CodeGen_LLVM.cpp llvm::Function *fn = module->getFunction(name); fn 2695 src/CodeGen_LLVM.cpp internal_assert(fn) << "External function " << op->name << " is marked as taking user_context, but is not in the runtime module. Check if runtime_api.cpp needs to be rebuilt.\n"; fn 2701 src/CodeGen_LLVM.cpp if (!fn) { fn 2719 src/CodeGen_LLVM.cpp fn = llvm::Function::Create(func_t, llvm::Function::ExternalLinkage, name, module.get()); fn 2720 src/CodeGen_LLVM.cpp fn->setCallingConv(CallingConv::C); fn 2733 src/CodeGen_LLVM.cpp FunctionType *func_t = fn->getFunctionType(); fn 2759 src/CodeGen_LLVM.cpp CallInst *call = builder->CreateCall(fn, args); fn 2792 src/CodeGen_LLVM.cpp CallInst *call = builder->CreateCall(fn, arg_lane); fn 3338 src/CodeGen_LLVM.cpp llvm::Function *fn = module->getFunction(name); fn 3340 src/CodeGen_LLVM.cpp if (!fn) { fn 3343 src/CodeGen_LLVM.cpp fn = llvm::Function::Create(func_t, llvm::Function::ExternalLinkage, name, module.get()); fn 3344 src/CodeGen_LLVM.cpp fn->setCallingConv(CallingConv::C); fn 3347 src/CodeGen_LLVM.cpp CallInst *call = builder->CreateCall(fn, arg_values); fn 341 src/CodeGen_PTX_Dev.cpp for (llvm::Function &fn : *module) { fn 342 src/CodeGen_PTX_Dev.cpp fn.addFnAttr("nvptx-f32ftz", "true"); fn 61 src/DeviceInterface.cpp const struct halide_device_interface_t *(*fn)(); fn 77 src/DeviceInterface.cpp if (lookup_runtime_routine("halide_" + name + "_device_interface", t, fn)) { fn 78 src/DeviceInterface.cpp return (*fn)(); fn 109 src/DeviceInterface.cpp void (*fn)(void *user_context, const halide_device_interface_t *device_interface); fn 110 src/DeviceInterface.cpp if (lookup_runtime_routine("halide_device_release", target, fn)) { fn 111 src/DeviceInterface.cpp (*fn)(user_context, device_interface); fn 125 src/DeviceInterface.cpp int (*fn)(void *user_context, struct halide_buffer_t *buf); fn 126 src/DeviceInterface.cpp if (lookup_runtime_routine("halide_copy_to_host", target, fn)) { fn 127 src/DeviceInterface.cpp return (*fn)(user_context, buf); fn 143 src/DeviceInterface.cpp int (*fn)(void *user_context, struct halide_buffer_t *buf, const halide_device_interface_t *device_interface); fn 144 src/DeviceInterface.cpp if (lookup_runtime_routine("halide_copy_to_device", target, fn)) { fn 145 src/DeviceInterface.cpp return (*fn)(user_context, buf, device_interface); fn 156 src/DeviceInterface.cpp int (*fn)(void *user_context, struct halide_buffer_t *buf); fn 157 src/DeviceInterface.cpp if (lookup_runtime_routine("halide_device_sync", target, fn)) { fn 158 src/DeviceInterface.cpp return (*fn)(user_context, buf); fn 168 src/DeviceInterface.cpp int (*fn)(void *user_context, struct halide_buffer_t *buf, const halide_device_interface_t *device_interface); fn 169 src/DeviceInterface.cpp if (lookup_runtime_routine("halide_device_malloc", target, fn)) { fn 170 src/DeviceInterface.cpp return (*fn)(user_context, buf, device_interface); fn 183 src/DeviceInterface.cpp int (*fn)(void *user_context, struct halide_buffer_t *buf); fn 184 src/DeviceInterface.cpp if (lookup_runtime_routine("halide_device_free", target, fn)) { fn 185 src/DeviceInterface.cpp return (*fn)(user_context, buf); fn 221 src/DeviceInterface.cpp int (*fn)(void *, struct halide_buffer_t *, uintptr_t); fn 222 src/DeviceInterface.cpp if (lookup_runtime_routine("halide_opengl_wrap_texture", target, fn)) { fn 223 src/DeviceInterface.cpp return (*fn)(user_context, buf, tex); fn 232 src/DeviceInterface.cpp uintptr_t (*fn)(void *, struct halide_buffer_t *); fn 233 src/DeviceInterface.cpp if (lookup_runtime_routine("halide_opengl_detach_texture", target, fn)) { fn 234 src/DeviceInterface.cpp return (*fn)(user_context, buf); fn 26 src/HexagonOptimize.cpp string fn; fn 28 src/HexagonOptimize.cpp case 8: fn = "halide.hexagon.interleave.vb"; break; fn 29 src/HexagonOptimize.cpp case 16: fn = "halide.hexagon.interleave.vh"; break; fn 30 src/HexagonOptimize.cpp case 32: fn = "halide.hexagon.interleave.vw"; break; fn 33 src/HexagonOptimize.cpp return Call::make(x.type(), fn, {x}, Call::PureExtern); fn 37 src/HexagonOptimize.cpp string fn; fn 39 src/HexagonOptimize.cpp case 8: fn = "halide.hexagon.deinterleave.vb"; break; fn 40 src/HexagonOptimize.cpp case 16: fn = "halide.hexagon.deinterleave.vh"; break; fn 41 src/HexagonOptimize.cpp case 32: fn = "halide.hexagon.deinterleave.vw"; break; fn 44 src/HexagonOptimize.cpp return Call::make(x.type(), fn, {x}, Call::PureExtern); fn 146 src/InferArguments.cpp Function fn(op->func); fn 147 src/InferArguments.cpp visit_function(fn); fn 192 src/Introspection.cpp void calibrate_pc_offset(void (*fn)()) { fn 197 src/Introspection.cpp uint64_t pc_real = (uint64_t)fn; fn 2217 src/Introspection.cpp bool saves_frame_pointer(void *fn) { fn 2219 src/Introspection.cpp const uint8_t *ptr = (const uint8_t *)(fn); fn 157 src/JITModule.cpp llvm::Function *fn = ee.FindFunctionNamed(name.c_str()); fn 163 src/JITModule.cpp JITModule::Symbol symbol(f, fn->getFunctionType()); fn 242 src/JITModule.cpp JITModule::JITModule(const Module &m, const LoweredFunc &fn, fn 249 src/JITModule.cpp compile_module(std::move(llvm_module), fn.name, m.target(), deps_with_runtime); fn 44 src/JITModule.h EXPORT JITModule(const Module &m, const LoweredFunc &fn, fn 554 src/LLVM_Runtime_Linker.cpp void add_underscore_to_posix_call(llvm::CallInst *call, llvm::Function *fn, llvm::Module *m) { fn 555 src/LLVM_Runtime_Linker.cpp string new_name = "_" + fn->getName().str(); fn 558 src/LLVM_Runtime_Linker.cpp alt = llvm::Function::Create(fn->getFunctionType(), fn 576 src/LLVM_Runtime_Linker.cpp for (auto &fn : *m) { fn 577 src/LLVM_Runtime_Linker.cpp for (auto &basic_block : fn) { fn 59 src/Memoization.cpp Function fn(call->func); fn 60 src/Memoization.cpp visit_function(fn); fn 25 src/RealizationOrder.cpp for (const string &fn : iter->second) { fn 26 src/RealizationOrder.cpp if (visited.find(fn) == visited.end()) { fn 27 src/RealizationOrder.cpp realization_order_dfs(fn, graph, visited, result_set, order); fn 28 src/RealizationOrder.cpp } else if (fn != current) { // Self-loops are allowed in update stages fn 29 src/RealizationOrder.cpp internal_assert(result_set.find(fn) != result_set.end()) fn 163 src/WrapExternStages.cpp void add_legacy_wrapper(Module module, const LoweredFunc &fn) { fn 169 src/WrapExternStages.cpp for (LoweredArgument arg : fn.args) { fn 222 src/WrapExternStages.cpp if (fn.name_mangling == NameMangling::CPlusPlus || fn 223 src/WrapExternStages.cpp (fn.name_mangling == NameMangling::Default && fn 227 src/WrapExternStages.cpp Expr inner_call = Call::make(Int(32), fn.name, call_args, call_type); fn 237 src/WrapExternStages.cpp string name = fn.name; fn 244 src/WrapExternStages.cpp debug(2) << "Added legacy wrapper for " << fn.name << ":\n" << body << "\n\n"; fn 21 src/WrapExternStages.h void add_legacy_wrapper(Module m, const LoweredFunc &fn); fn 173 src/runtime/HalideBuffer.h void (*fn)(void *) = alloc->deallocate_fn; fn 174 src/runtime/HalideBuffer.h fn(alloc); fn 189 src/runtime/HalideBuffer.h halide_device_free_t fn = halide_get_device_free_fn(); fn 190 src/runtime/HalideBuffer.h assert(fn && "Buffer has a device allocation but no Halide Runtime linked"); fn 196 src/runtime/HalideBuffer.h (*fn)(nullptr, &buf); fn 9 src/runtime/can_use_target.cpp WEAK halide_can_use_target_features_t halide_set_custom_can_use_target_features(halide_can_use_target_features_t fn) { fn 11 src/runtime/can_use_target.cpp custom_can_use_target_features = fn; fn 7 src/runtime/cl_functions.h #define CL_FN(ret, fn, args) fn 12 src/runtime/cuda.cpp #define CUDA_FN(ret, fn, args) WEAK ret (CUDAAPI *fn)args; fn 13 src/runtime/cuda.cpp #define CUDA_FN_3020(ret, fn, fn_3020, args) WEAK ret (CUDAAPI *fn)args; fn 14 src/runtime/cuda.cpp #define CUDA_FN_4000(ret, fn, fn_4000, args) WEAK ret (CUDAAPI *fn)args; fn 64 src/runtime/cuda.cpp #define CUDA_FN(ret, fn, args) fn = get_cuda_symbol<ret (CUDAAPI *)args>(user_context, #fn); fn 65 src/runtime/cuda.cpp #define CUDA_FN_3020(ret, fn, fn_3020, args) fn = get_cuda_symbol<ret (CUDAAPI *)args>(user_context, #fn_3020); fn 66 src/runtime/cuda.cpp #define CUDA_FN_4000(ret, fn, fn_4000, args) fn = get_cuda_symbol<ret (CUDAAPI *)args>(user_context, #fn_4000); fn 7 src/runtime/cuda_functions.h #define CUDA_FN(ret, fn, args) fn 10 src/runtime/cuda_functions.h #define CUDA_FN_3020(ret, fn, fn_3020, args) CUDA_FN(ret, fn, args) fn 13 src/runtime/cuda_functions.h #define CUDA_FN_4000(ret, fn, fn_4000, args) CUDA_FN(ret, fn, args) fn 7 src/runtime/destructors.cpp INLINE void call_destructor(void *user_context, void (*fn)(void *user_context, void *object), void **object, bool should_call) { fn 12 src/runtime/destructors.cpp fn(user_context, o); fn 16 src/runtime/opencl.cpp #define CL_FN(ret, fn, args) WEAK ret (CL_API_CALL *fn) args; fn 64 src/runtime/opencl.cpp #define CL_FN(ret, fn, args) fn = get_cl_symbol<ret (CL_API_CALL *)args>(user_context, #fn); fn 20 src/runtime/windows_threads.cpp extern WIN32API Thread CreateThread(void *, size_t, void *(*fn)(void *), void *, int32_t, int32_t *); fn 36 test/correctness/lots_of_dimensions.cpp in(i0, i1, i2, i3, i4, i5, i6, i7) = fn(i0, i1, i2, i3, i4, i5, i6, i7); fn 50 test/correctness/lots_of_dimensions.cpp uint64_t correct = fn(i0, i1, i2, i3, i4, i5, i6, i7); fn 115 test/opengl/save_state.cpp GLuint gl_gen(void (*fn)(GLsizei, GLuint *)) { fn 117 test/opengl/save_state.cpp (*fn)(1, &val);