Subject: Re: bug#46670: 28.0.50; [feature/native-comp] possible miscompilation affecting lsp-mode

From: Andrea Corallo <[email-masked]>
Date: Wed, 24 Feb 2021 09:04:06 +0000

Pip Cet <[email-masked]> writes:

> On Tue, Feb 23, 2021 at 11:36 PM Andrea Corallo <[email-masked]> wrote:
>> Pip Cet <[email-masked]> writes:
>>
>> > On Mon, Feb 22, 2021 at 1:12 PM Andrea Corallo <[email-masked]> wrote:
>> >> We'll probably see other bugs in this area cause is tricky, is important
>> >> we build the best coverage we can for this in the testsuite.
>> >
>> > Is this one of them, or am I confused?
>>
>> What's suspitions with that?  At present I'm admittedly quite done but
>> it looks okay to me.
>
> We're emitting
>
> (assume ,lhs (and ,lhs ,rhs))
>
> even when NEGATED is t.

Nope, when NEGATED is t the complete sequence we are emitting is (see
line just following your diff hunk):

(assume tmp-mvar (not rhs))
(assume lhs (and lhs tmp-mvar))

That's indeed the reason why it's working in the 39 testcases.

  Andrea

>> BTW applying the patch and running comp-tests.el I get 39 regressions.
>
> That's expected, because we need to replace the incorrect assume by
> correct ones to actually get to the same level of optimization.