summaryrefslogtreecommitdiff
path: root/ir.h
diff options
context:
space:
mode:
Diffstat (limited to 'ir.h')
-rw-r--r--ir.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/ir.h b/ir.h
index 1cb3def..112ab8e 100644
--- a/ir.h
+++ b/ir.h
@@ -62,6 +62,15 @@ typedef enum {
const char *node_type_name(NodeType t);
+#define NODE_INPUT_MAX 2
+
+typedef struct {
+ struct Node *data[NODE_INPUT_MAX];
+ ptrdiff_t len;
+} NodeInputs;
+
+typedef DYNARR(struct Node *) NodeOutputs;
+
typedef struct Node {
union {
struct Node *prev_free;
@@ -70,7 +79,8 @@ typedef struct Node {
int walked;
NodeType type;
LexSpan src_pos;
- DYNARR(struct Node *) in, out;
+ NodeInputs in;
+ NodeOutputs out;
Value val;
};
};