@@ -2373,7 +2373,7 @@ static void jl_name_jlfuncparams_args(jl_codegen_params_t ¶ms, Function *F)
2373
2373
F->getArg (0 )->setName (" function::Core.Function" );
2374
2374
F->getArg (1 )->setName (" args::Any[]" );
2375
2375
F->getArg (2 )->setName (" nargs::UInt32" );
2376
- F->getArg (3 )->setName (" sparams" );
2376
+ F->getArg (3 )->setName (" sparams::Any " );
2377
2377
}
2378
2378
2379
2379
static void jl_init_function (Function *F, const Triple &TT)
@@ -7342,34 +7342,39 @@ static jl_llvm_functions_t
7342
7342
f = cast<Function>(returninfo.decl .getCallee ());
7343
7343
has_sret = (returninfo.cc == jl_returninfo_t ::SRet || returninfo.cc == jl_returninfo_t ::Union);
7344
7344
jl_init_function (f, ctx.emission_context .TargetTriple );
7345
- auto arg_typename = [&](size_t i) JL_NOTSAFEPOINT { return jl_symbol_name (((jl_datatype_t *)jl_tparam (lam->specTypes , i))->name ->name ); };
7346
- size_t nreal = 0 ;
7347
- for (size_t i = 0 ; i < std::min (nreq, static_cast <size_t >(used_args.size ())); i++) {
7348
- jl_sym_t *argname = slot_symbol (ctx, i);
7349
- if (argname == jl_unused_sym)
7350
- continue ;
7351
- if (used_args.test (i)) {
7352
- auto &arg = *f->getArg (args_begin++);
7353
- nreal++;
7354
- auto name = jl_symbol_name (argname);
7355
- if (!name[0 ]) {
7356
- arg.setName (StringRef (" #" ) + Twine (nreal) + StringRef (" ::" ) + arg_typename (i));
7357
- } else {
7358
- arg.setName (name + StringRef (" ::" ) + arg_typename (i));
7359
- }
7360
- }
7361
- }
7362
- if (va && ctx.vaSlot != -1 ) {
7363
- size_t vidx = 0 ;
7364
- for (size_t i = nreq; i < used_args.size (); i++) {
7345
+ if (ctx.emission_context .debug_level > 0 ) {
7346
+ auto arg_typename = [&](size_t i) JL_NOTSAFEPOINT {
7347
+ auto tp = jl_tparam (lam->specTypes , i);
7348
+ return jl_is_datatype (tp) ? jl_symbol_name (((jl_datatype_t *)tp)->name ->name ) : " <unknown datatype>" ;
7349
+ };
7350
+ size_t nreal = 0 ;
7351
+ for (size_t i = 0 ; i < std::min (nreq, static_cast <size_t >(used_args.size ())); i++) {
7352
+ jl_sym_t *argname = slot_symbol (ctx, i);
7353
+ if (argname == jl_unused_sym)
7354
+ continue ;
7365
7355
if (used_args.test (i)) {
7366
7356
auto &arg = *f->getArg (args_begin++);
7367
- auto type = arg_typename (i);
7368
- const char *name = jl_symbol_name (slot_symbol (ctx, ctx.vaSlot ));
7369
- if (!name[0 ])
7370
- name = " ..." ;
7371
- vidx++;
7372
- arg.setName (name + StringRef (" [" ) + Twine (vidx) + StringRef (" ]::" ) + type);
7357
+ nreal++;
7358
+ auto name = jl_symbol_name (argname);
7359
+ if (!name[0 ]) {
7360
+ arg.setName (StringRef (" #" ) + Twine (nreal) + StringRef (" ::" ) + arg_typename (i));
7361
+ } else {
7362
+ arg.setName (name + StringRef (" ::" ) + arg_typename (i));
7363
+ }
7364
+ }
7365
+ }
7366
+ if (va && ctx.vaSlot != -1 ) {
7367
+ size_t vidx = 0 ;
7368
+ for (size_t i = nreq; i < used_args.size (); i++) {
7369
+ if (used_args.test (i)) {
7370
+ auto &arg = *f->getArg (args_begin++);
7371
+ auto type = arg_typename (i);
7372
+ const char *name = jl_symbol_name (slot_symbol (ctx, ctx.vaSlot ));
7373
+ if (!name[0 ])
7374
+ name = " ..." ;
7375
+ vidx++;
7376
+ arg.setName (name + StringRef (" [" ) + Twine (vidx) + StringRef (" ]::" ) + type);
7377
+ }
7373
7378
}
7374
7379
}
7375
7380
}
0 commit comments