X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=ir.h;h=aa06179ee5b7e10dab2519612859bb04aa200eb2;hp=d0fd7879c5c20509dd29f25eb11588ebb0ea015a;hb=103e549615ffe6bcc31e8fc0ca888a55e21681d8;hpb=b7b60e74683ec62eb62e461f757448b3f1a78744 diff --git a/ir.h b/ir.h index d0fd787..aa06179 100644 --- a/ir.h +++ b/ir.h @@ -43,12 +43,14 @@ typedef struct { } ir_life_entry_t; enum { - IR_FLAG_HAS_ARRAYS = 1 << 0, - IR_FLAG_HAS_UNINITIALIZED = 1 << 1, - IR_FLAG_HAS_GOTO = 1 << 2, - IR_FLAG_INCLUDE_DEF = 1 << 3, - IR_FLAG_ERASEABLE = 1 << 4, - IR_FLAG_BLOCK_COVERAGE = 1 << 5, + IR_FLAG_HAS_ARRAYS = 1 << 0, + IR_FLAG_HAS_UNINITIALIZED = 1 << 1, + IR_FLAG_HAS_GOTO = 1 << 2, + IR_FLAG_INCLUDE_DEF = 1 << 3, + IR_FLAG_ERASABLE = 1 << 4, + IR_FLAG_BLOCK_COVERAGE = 1 << 5, + + IR_FLAG_SPLIT_VECTOR = 1 << 6, IR_FLAG_LAST, IR_FLAG_MASK_NO_OVERLAP = (IR_FLAG_HAS_ARRAYS | IR_FLAG_HAS_UNINITIALIZED), @@ -254,6 +256,7 @@ struct ir_builder_s { ir_function **functions; ir_value **globals; ir_value **fields; + ir_value **const_floats; /* for reusing them in vector-splits, TODO: sort this or use a radix-tree */ ht htfunctions; ht htglobals;