Skip to content

Commit 9f62658

Browse files
committed
Address review comments
1 parent 39638cf commit 9f62658

File tree

1 file changed

+32
-27
lines changed

1 file changed

+32
-27
lines changed

src/codegen.cpp

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2373,7 +2373,7 @@ static void jl_name_jlfuncparams_args(jl_codegen_params_t &params, Function *F)
23732373
F->getArg(0)->setName("function::Core.Function");
23742374
F->getArg(1)->setName("args::Any[]");
23752375
F->getArg(2)->setName("nargs::UInt32");
2376-
F->getArg(3)->setName("sparams");
2376+
F->getArg(3)->setName("sparams::Any");
23772377
}
23782378

23792379
static void jl_init_function(Function *F, const Triple &TT)
@@ -7342,34 +7342,39 @@ static jl_llvm_functions_t
73427342
f = cast<Function>(returninfo.decl.getCallee());
73437343
has_sret = (returninfo.cc == jl_returninfo_t::SRet || returninfo.cc == jl_returninfo_t::Union);
73447344
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;
73657355
if (used_args.test(i)) {
73667356
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+
}
73737378
}
73747379
}
73757380
}

0 commit comments

Comments
 (0)