[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 10/19: DCE ignores setters to dead objects
From: |
Andy Wingo |
Subject: |
[Guile-commits] 10/19: DCE ignores setters to dead objects |
Date: |
Thu, 22 Jun 2023 10:12:47 -0400 (EDT) |
wingo pushed a commit to branch main
in repository guile.
commit 26b43f35c51564dc0ace42293dc1ab566599e7df
Author: Andy Wingo <wingo@pobox.com>
AuthorDate: Thu Jun 22 12:16:59 2023 +0200
DCE ignores setters to dead objects
* module/language/cps/dce.scm (compute-live-code): Add the new
higher-level object mutators.
---
module/language/cps/dce.scm | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/module/language/cps/dce.scm b/module/language/cps/dce.scm
index 8b0604624..6c55245a5 100644
--- a/module/language/cps/dce.scm
+++ b/module/language/cps/dce.scm
@@ -1,6 +1,6 @@
;;; Continuation-passing style (CPS) intermediate language (IL)
-;; Copyright (C) 2013-2021 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2021, 2023 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
@@ -197,8 +197,13 @@ sites."
(match exp
(($ $primcall
(or 'scm-set! 'scm-set!/tag 'scm-set!/immediate
- 'word-set! 'word-set!/immediate) _
- (obj . _))
+ 'word-set! 'word-set!/immediate
+ 'vector-set! 'vector-set!/immediate
+ 'set-car! 'set-cdr!
+ 'box-set!
+ 'struct-set!
+ 'closure-set!)
+ _ (obj . _))
(or (var-live? obj live-vars)
(not (intset-ref known-allocations obj))))
(_ #t)))))
- [Guile-commits] 06/19: Add effects analysis for new high-level object accessors, (continued)
- [Guile-commits] 06/19: Add effects analysis for new high-level object accessors, Andy Wingo, 2023/06/22
- [Guile-commits] 08/19: Add CSE auxiliary definitions for cons, set-car! etc, Andy Wingo, 2023/06/22
- [Guile-commits] 16/19: Tree-IL-to-CPS lowers to high-level object reprs: structs, Andy Wingo, 2023/06/22
- [Guile-commits] 13/19: Tree-IL-to-CPS lowers to high-level object representations: boxes, Andy Wingo, 2023/06/22
- [Guile-commits] 15/19: Tree-IL-to-CPS lowers to high-level object reprs: pairs, Andy Wingo, 2023/06/22
- [Guile-commits] 18/19: Tree-IL-to-CPS lowers to high-level object reprs: strings, Andy Wingo, 2023/06/22
- [Guile-commits] 19/19: Tree-IL-to-CPS lowers to high-level object reprs: vectors, Andy Wingo, 2023/06/22
- [Guile-commits] 01/19: Fix target-max-size-t/scm to not be a fraction (oops), Andy Wingo, 2023/06/22
- [Guile-commits] 09/19: Remove useless code in CSE, Andy Wingo, 2023/06/22
- [Guile-commits] 12/19: Closure conversion produces high-level object representations, Andy Wingo, 2023/06/22
- [Guile-commits] 10/19: DCE ignores setters to dead objects,
Andy Wingo <=
- [Guile-commits] 17/19: Tree-IL-to-CPS lowers to high-level object reprs: bytevectors, Andy Wingo, 2023/06/22
- [Guile-commits] 11/19: Contification uses 'cons primcall, Andy Wingo, 2023/06/22
- [Guile-commits] 14/19: Tree-IL-to-CPS lowers to high-level object reprs: atomic boxes, Andy Wingo, 2023/06/22