From 27418008d4b492aff432c44fc92cd8485bcd5cf7 Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Sun, 10 Aug 2025 23:36:33 -0400 Subject: add idempotent optimizations --- peephole.c | 4 ++-- test.lang | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/peephole.c b/peephole.c index 947ab1a..4b39cf8 100644 --- a/peephole.c +++ b/peephole.c @@ -522,11 +522,11 @@ zero_no_effect: if (node_eql_i64(CAR(n), 0)) return CDR(n); case N_PROJ: if (T(CTRL(n), N_IF_ELSE) && CTRL(n)->type.t == T_TUPLE) { - /*if (CTRL(n)->val.tuple.data[n->val.i].type.lvl == T_XCTRL) { + if (CTRL(n)->val.tuple.data[n->val.i].type.lvl == T_XCTRL) { return node_new_lit(p, (Value) { .type = { .lvl = T_XCTRL, .t = T_NONE } }); - }*/ + } if (CTRL(n)->val.tuple.data[(n->val.i + 1) % CTRL(n)->val.tuple.len].type.lvl == T_XCTRL) { return CTRL(CTRL(n)); } diff --git a/test.lang b/test.lang index b409560..3448ea8 100644 --- a/test.lang +++ b/test.lang @@ -6,10 +6,6 @@ return x + a }*/ -func one i64 { - return 1 -} - func main(a, b i64) i64 { - return a & a & b & a & b & b & b + return (a & b) & b & a } -- cgit v1.2.3