Subject: Re: bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?

From: Andrea Corallo <[email-masked]>
Date: Tue, 7 Jul 2020 16:24:30 +0000 (UTC)

Mattias Engdegård <[email-masked]> writes:

> 6 juli 2020 kl. 23.23 skrev Andrea Corallo <[email-masked]>:
>
>> Yes I am happy :) Not sure about the floating point discussion
>> originated from this but on my side this bug can be closed.
>
> Then closed it is. I would happily write something in NEWS but -- as
> Eli noted -- for any noticeable change in behaviour to occur, many
> conditions need to be met, several of which are quite unlikely.
>
> More improvements to the constant-folding are possible and desirable. For example, I have a patch that deals with constant expressions in let-bindings, so that
>
> (let ((x (+ 1 2)))
>   (f x))
>
> simplifies to (f 3), with the variable x removed. This in turn
> generates more opportunities for further simplification and dead-code
> elimination. Tell me if you are interested.

Sure I'm.  The native compiler does it already but I'm curious to see
how you do it at source level and how generic it is.

Thanks
  Andrea