summaryrefslogtreecommitdiff
path: root/ir.h
diff options
context:
space:
mode:
authorWormHeamer2025-08-04 22:13:25 -0400
committerWormHeamer2025-08-04 22:13:25 -0400
commit88b01f43312eeceba87a1378be5cd63bb11f167f (patch)
treec7046558223ac692958ca1c7b9da71f05493f148 /ir.h
parent22aa7559a37c49def05e8a43b12561b17a4af258 (diff)
fix bug of lhs getting culled if same node optimized out of rhs
Diffstat (limited to 'ir.h')
-rw-r--r--ir.h12
1 files changed, 3 insertions, 9 deletions
diff --git a/ir.h b/ir.h
index 112ab8e..799a0e0 100644
--- a/ir.h
+++ b/ir.h
@@ -62,20 +62,14 @@ 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 DYNARR(struct Node *) NodeList;
+typedef NodeList NodeInputs, NodeOutputs;
typedef struct Node {
+ int id, refs;
union {
struct Node *prev_free;
struct {
- int id, refs;
int walked;
NodeType type;
LexSpan src_pos;