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