[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 01/02: Fix truthy expression analysis in CSE

From: Andy Wingo
Subject: [Guile-commits] 01/02: Fix truthy expression analysis in CSE
Date: Thu, 28 May 2020 04:58:49 -0400 (EDT)

wingo pushed a commit to branch master
in repository guile.

commit 11878e160336415facd458ee49852bc55b458364
Author: Andy Wingo <>
AuthorDate: Thu May 28 09:53:55 2020 +0200

    Fix truthy expression analysis in CSE
    * module/language/cps/cse.scm (compute-truthy-expressions): The "meet"
      function here is union, not intersection.
 module/language/cps/cse.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/module/language/cps/cse.scm b/module/language/cps/cse.scm
index 8ecd6f3..53b8a51 100644
--- a/module/language/cps/cse.scm
+++ b/module/language/cps/cse.scm
@@ -1,6 +1,6 @@
 ;;; Continuation-passing style (CPS) intermediate language (IL)
-;; Copyright (C) 2013-2019 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2020 Free Software Foundation, Inc.
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -88,7 +88,7 @@ false.  It could be that both true and false proofs are 
   (define (propagate boolv succ out)
     (let* ((in (intmap-ref boolv succ (lambda (_) #f)))
-           (in* (if in (intset-intersect in out) out)))
+           (in* (if in (intset-union in out) out)))
       (if (eq? in in*)
           (values '() boolv)
           (values (list succ)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]