X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=ir.c;fp=ir.c;h=7df8bdbff6d7a51b33561a80edb4c96097dc167c;hp=65bed5e943cdb6716f24400506a02f5e65e8773c;hb=4ff68e07e8cc5980c3f4be880d0e81f0bdba5e7c;hpb=5a160b0e884c762389c9f276e0f29e7fbaf20754 diff --git a/ir.c b/ir.c index 65bed5e..7df8bdb 100644 --- a/ir.c +++ b/ir.c @@ -355,6 +355,8 @@ ir_builder* ir_builder_new(const char *modulename) } self->reserved_va_count = NULL; + self->coverage_func = NULL; + self->code = code_init(); return self; @@ -602,6 +604,10 @@ ir_block* ir_function_create_block(lex_ctx_t ctx, ir_function *self, const char ir_block* bn = ir_block_new(self, label); bn->context = ctx; vec_push(self->blocks, bn); + + if ((self->flags & IR_FLAG_BLOCK_COVERAGE) && self->owner->coverage_func) + (void)ir_block_create_call(bn, ctx, NULL, self->owner->coverage_func, false); + return bn; }