summaryrefslogtreecommitdiff
path: root/ir.h
diff options
context:
space:
mode:
Diffstat (limited to 'ir.h')
-rw-r--r--ir.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/ir.h b/ir.h
index ae91b6c..403e054 100644
--- a/ir.h
+++ b/ir.h
@@ -110,21 +110,20 @@ typedef struct {
} NodeList;
typedef struct Node {
+ u32 id;
+ NodeType op;
union {
struct Node *prev_free;
struct {
- NodeList in; /* note: index 0 used for control flow */
- NodeList out;
- int walked;
- LexSpan src_pos;
- union {
- Type type;
- Value val;
- };
+ /* index 0 of in is control */
+ NodeList in, out;
};
};
- int id;
- NodeType op;
+ LexSpan src_pos;
+ union {
+ Type type;
+ Value val;
+ };
} Node;
/* convenience macros (lisp-inspired lol) */