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);