aboutsummaryrefslogtreecommitdiff
path: root/src/ir.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2018-01-20 15:12:44 +0000
committergingerBill <bill@gingerbill.org>2018-01-20 15:12:44 +0000
commit2e28c9d79325b57c7bf41abd31804d3960b4c188 (patch)
treea5867ec58f68534f55cc666c1d8bbc06ce54b627 /src/ir.cpp
parent2fe660a1d7d9ca32eb4a4056b70fccdceb401d49 (diff)
Cache type size/align; Improve speed of ir_print.cpp
Diffstat (limited to 'src/ir.cpp')
-rw-r--r--src/ir.cpp5
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;