X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=ir.h;h=d3ad5b3715ca919ebd83dbc7be280cfe30f4bcbf;hb=8ab51544be3756c57424af50302d8e2b058f65b1;hp=45f419dc3d3be784d3b8bce8405f5fcb00368d7c;hpb=eb21f1e733d162dbe774ee712d87cd769b67bb31;p=xonotic%2Fgmqcc.git diff --git a/ir.h b/ir.h index 45f419d..d3ad5b3 100644 --- a/ir.h +++ b/ir.h @@ -157,6 +157,14 @@ bool GMQCC_WARN ir_block_create_storep(ir_block*, ir_value *target, ir_value *wh /* field must be of TYPE_FIELD */ ir_value* ir_block_create_load_from_ent(ir_block*, const char *label, ir_value *ent, ir_value *field, int outype); +ir_value* ir_block_create_fieldaddress(ir_block*, const char *label, ir_value *entity, ir_value *field); + +/* This is to create an instruction of the form + * %label := opcode a, b + */ +ir_value* ir_block_create_general_instr(ir_block *self, const char *label, + int op, ir_value *a, ir_value *b, int outype); + ir_value* ir_block_create_add(ir_block*, const char *label, ir_value *l, ir_value *r); ir_value* ir_block_create_sub(ir_block*, const char *label, ir_value *l, ir_value *r); ir_value* ir_block_create_mul(ir_block*, const char *label, ir_value *l, ir_value *r);