Hi Pan,
+function_instance * +function_base::get_non_overloaded_instance (unsigned int code, + vec<tree, va_gc> &arglist) const +{ + unsigned int code_limit = vec_safe_length (registered_functions); + + for (unsigned fun_code = code; fun_code < code_limit; fun_code++) + { + registered_function *rfun = (*registered_functions)[fun_code]; + function_instance instance = rfun->instance; + + if (rfun->overloaded_p) + continue; + + unsigned k; + const rvv_arg_type_info *args = instance.op_info->args; + + for (k = 0; args[k].base_type != NUM_BASE_TYPES; k++) + { + if (k >= arglist.length ()) + break;
Can we fast continue if args length not equal arglist length before this loop:
if (args lengh != arglist.length ()) continue; for (k = 0; args[k].base_type != NUM_BASE_TYPES; k++) { ... -- Best, Lehua