[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 <wingo@pobox.com>
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
available."
(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)