Hi, This reverts the rewrite that unearthed #1648.
>From 896601d3fd9fd9e9e1a0bac407dccbf0e4bed1e8 Mon Sep 17 00:00:00 2001 From: megane <megan...@gmail.com> Date: Mon, 16 Sep 2019 12:04:49 +0300 Subject: [PATCH] Revert half of "Add some optimizer simplification rules" This causes uri-generic to fail to compile in similar way #1648 does. --- optimizer.scm | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/optimizer.scm b/optimizer.scm index fc2d3165..bd163710 100644 --- a/optimizer.scm +++ b/optimizer.scm @@ -830,38 +830,6 @@ args1) nargs) #t)) - (else (loop (cdr args) - (cons (car args) nargs) - ok))))))) - - ;; (let ((<var1> (##core#inline <op> ...))) - ;; (<var2> ... <var1> ...)) - ;; -> (<var2> ... (##core#inline <op> ...) ...) - ;; ...)) - ;; - <var1> is used only once. - `((let (var) (##core#inline (op) . args1) - (##core#call p . args2)) - (var op args1 p args2) - ,(lambda (db may-rewrite var op args1 p args2) - (and may-rewrite ; give other optimizations a chance first - (= 1 (length (db-get-list db var 'references))) - (let loop ((args args2) (nargs '()) (ok #f)) - (cond ((null? args) - (and ok - (make-node - '##core#call p - (reverse nargs)))) - ((and (eq? '##core#variable - (node-class (car args))) - (eq? var - (car (node-parameters (car args))))) - (loop (cdr args) - (cons (make-node - '##core#inline - (list op) - args1) - nargs) - #t)) (else (loop (cdr args) (cons (car args) nargs) ok)))))))) -- 2.17.1
_______________________________________________ Chicken-hackers mailing list Chicken-hackers@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-hackers