diff options
| author | gingerBill <bill@gingerbill.org> | 2018-01-20 15:12:44 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2018-01-20 15:12:44 +0000 |
| commit | 2e28c9d79325b57c7bf41abd31804d3960b4c188 (patch) | |
| tree | a5867ec58f68534f55cc666c1d8bbc06ce54b627 /src/ir.cpp | |
| parent | 2fe660a1d7d9ca32eb4a4056b70fccdceb401d49 (diff) | |
Cache type size/align; Improve speed of ir_print.cpp
Diffstat (limited to 'src/ir.cpp')
| -rw-r--r-- | src/ir.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/ir.cpp b/src/ir.cpp index e66349de5..63888c8dd 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -889,6 +889,9 @@ String ir_get_global_name(irModule *m, irValue *v) { void ir_add_entity_name(irModule *m, Entity *e, String name) { GB_ASSERT(name.len > 0); + if (e != nullptr && e->kind == Entity_TypeName) { + e->TypeName.ir_mangled_name = name; + } map_set(&m->entity_names, hash_entity(e), name); } @@ -6141,7 +6144,7 @@ void ir_build_constant_value_decl(irProcedure *proc, AstNodeValueDecl *vd) { String name = make_string(name_text, name_len-1); irValue *value = ir_value_type_name(m->allocator, name, e->type); - map_set(&m->entity_names, hash_entity(e), name); + ir_add_entity_name(m, e, name); ir_gen_global_type_name(m, e, name); } else if (e->kind == Entity_Procedure) { CheckerInfo *info = proc->module->info; |