X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=ir.c;h=8d52898bd5a957dece321cd5fc33b8d3e44f9257;hp=5a6229fc9f87d0259054a3fd839e3a9d4ed914ac;hb=refs%2Ftags%2Fxonotic-v0.8.1;hpb=ff37abb0c7c60481e1264914fa5e02e9986c5cd9 diff --git a/ir.c b/ir.c index 5a6229f..8d52898 100644 --- a/ir.c +++ b/ir.c @@ -3772,6 +3772,8 @@ static bool ir_builder_gen_global(ir_builder *self, ir_value *global, bool isloc { ir_value_code_setaddr(global, vec_size(self->code->globals)); if (global->hasvalue) { + if (global->cvq == CV_CONST && !vec_size(global->reads)) + return true; iptr = (int32_t*)&global->constval.ivec[0]; vec_push(self->code->globals, *iptr); } else { @@ -3787,7 +3789,10 @@ static bool ir_builder_gen_global(ir_builder *self, ir_value *global, bool isloc { ir_value_code_setaddr(global, vec_size(self->code->globals)); if (global->hasvalue) { - uint32_t load = code_genstring(self->code, global->constval.vstring); + uint32_t load; + if (global->cvq == CV_CONST && !vec_size(global->reads)) + return true; + load = code_genstring(self->code, global->constval.vstring); vec_push(self->code->globals, load); } else { vec_push(self->code->globals, 0);