Disable CSE logic

This commit is contained in:
Douglas Katzman 2026-08-04 15:45:52 +00:00
parent fa6891bcd1
commit 5710e793ff
3 changed files with 3 additions and 4 deletions

View file

@ -1491,9 +1491,6 @@
(not (node-lvar node)))
(return-from ir1-optimize-combination (flush-node node)))
((fold-call-derived-to-constant node)
(return-from ir1-optimize-combination))
((and (combination-is node *elidable-memory-loads*)
(try-reuse-expr-value node))
(return-from ir1-optimize-combination)))
(when (and (ir1-attributep (fun-info-attributes info) commutative)
(= (length args) 2)

View file

@ -1,9 +1,10 @@
(invoke-restart 'run-tests::skip-file)
(setq *evaluator-mode* :compile)
(defstruct s
(x (make-array 3)))
;; Don't creash evaluating this.
;; Don't crash evaluating this.
;; The bug was that local common subexpression elimintation tried to add
;; a REUSE-VAR binding into the LET which bound * instead of just giving up.
(let (*)

View file

@ -11,6 +11,7 @@
;;;; Tests of local common subexpression elimination
(invoke-restart 'run-tests::skip-file)
(import '(ctu:inspect-ir
sb-c::combination-fun-debug-name
sb-c::basic-combination-p))