summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--peephole.c4
-rw-r--r--test.lang6
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
}