int vtype;
int store;
lex_ctx context;
+ /* even the IR knows the subtype of a field */
+ int fieldtype;
MEM_VECTOR_MAKE(struct ir_instr_s*, reads);
MEM_VECTOR_MAKE(struct ir_instr_s*, writes);
vector vvec;
char *vstring;
struct ir_value_s *vpointer;
+ struct ir_function_s *vfunc;
} constval;
+ struct {
+ int32_t globaladdr;
+ int32_t name;
+ } code;
+
/* For the temp allocator */
MEM_VECTOR_MAKE(ir_life_entry_t, life);
} ir_value;
void ir_builder_dump(ir_builder*, int (*oprintf)(const char*, ...));
+/* This code assumes 32 bit floats while generating binary */
+extern int check_int_and_float_size
+[ (sizeof(int32_t) == sizeof(( (ir_value*)(NULL) )->constval.vvec.x)) ? 1 : -1 ];
+
#endif