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

From: Andrea Corallo <[email-masked]>
Date: Thu, 2 Jul 2020 13:56:39 +0000 (UTC)

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

> 2 juli 2020 kl. 12.59 skrev Andrea Corallo <[email-masked]>:
>
>>> I still wonder if there is any reason to limit arithmetic constant
>>> folding to the portable fixnum range. Given that we don't evaluate
>>> fixnump or bignump at compile-time, what observable effects would
>>> constant-folding, say, (ash 1 32) have? Advice from deeper thinkers
>>> solicited!
>>
>> I always thought the general idea is to respect the allocation side
>> effect we have creating a bignum.  Not sure if the class of example you
>> have in mind here fits this case.
>
> Number allocation isn't a semantically visible effect and we probably
> don't want to change that.

Well is cons allocation a semantically visible effect then?  How is it
different?

I thought the reason why cons is not constant folded is to respect the
allocation side effect, at least that's what I convinced my-self of :)

  Andrea