From b06e83982a8cfcebb89813e0bfd584bb68aec2e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Fri, 5 Nov 1999 18:06:43 +0100 Subject: [PATCH] Some more optimizations. Rev: src/las.c:1.95 --- src/las.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/las.c b/src/las.c index 71ac1ca3d4..1f957ccfe2 100644 --- a/src/las.c +++ b/src/las.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: las.c,v 1.94 1999/11/05 01:45:30 grubba Exp $"); +RCSID("$Id: las.c,v 1.95 1999/11/05 17:06:43 grubba Exp $"); #include "language.h" #include "interpret.h" @@ -1967,6 +1967,10 @@ static void optimize(node *n) CAAR(n)=CADR(n)=0; goto use_tmp1; } + /* 0 || Y -> Y */ + if (node_is_false(CAR(n))) goto use_cdr; + /* 1 || Y -> 1 */ + if (node_is_true(CAR(n))) goto use_car; break; case F_LAND: @@ -1977,6 +1981,10 @@ static void optimize(node *n) CAAR(n)=CADR(n)=0; goto use_tmp1; } + /* 0 && Y -> 0 */ + if (node_is_false(CAR(n))) goto use_car; + /* 1 && Y -> Y */ + if (node_is_true(CAR(n))) goto use_cdr; break; case '?': -- GitLab