[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: master 52b67740d10: Generalise a LAP optimisation rule
From: |
Eli Zaretskii |
Subject: |
Re: master 52b67740d10: Generalise a LAP optimisation rule |
Date: |
Mon, 03 Apr 2023 20:45:05 +0300 |
> From: Joseph Mingrone <jrm@ftfl.ca>
> Cc: Mattias Engdegård <mattiase@acm.org>, emacs@FreeBSD.org
> Date: Mon, 03 Apr 2023 14:41:28 -0300
>
> On Sat, 2023-03-25 at 12:22, Mattias Engdegård <mattiase@acm.org> wrote:
>
> > branch: master
> > commit 52b67740d10df8ca539fdc2c7d50283997683141
> > Author: Mattias Engdegård <mattiase@acm.org>
> > Commit: Mattias Engdegård <mattiase@acm.org>
>
> > Generalise a LAP optimisation rule
>
> > * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
> > Accept (stack-set 1) as equivalent to (discardN-preserve-tos 1) in a
> > rule previously overlooked. This is usually beneficial in code size
> > and almost always shortens dynamic paths.
> > ---
> > lisp/emacs-lisp/byte-opt.el | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
>
> > diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
> > index 3c7aeb89525..0891ec80beb 100644
> > --- a/lisp/emacs-lisp/byte-opt.el
> > +++ b/lisp/emacs-lisp/byte-opt.el
> > @@ -2765,7 +2765,9 @@ If FOR-EFFECT is non-nil, the return value is assumed
> > to be of no importance."
> > (or (memq (caar tmp) '(byte-discard byte-discardN))
> > ;; Make sure we don't hoist a
> > discardN-preserve-tos
> > ;; that really should be merged or deleted
> > instead.
> > - (and (eq (caar tmp) 'byte-discardN-preserve-tos)
> > + (and (or (eq (caar tmp)
> > 'byte-discardN-preserve-tos)
> > + (and (eq (caar tmp) 'byte-stack-set)
> > + (eql (cdar tmp) 1)))
> > (let ((next (cadr tmp)))
> > (not (or (memq (car next)
> >
> > '(byte-discardN-preserve-tos
>
> Hello,
>
> This commit causes native compilation builds on FreeBSD to fail with the error
>
> native-ice ("org/org-plot.el" "block does not end with a branch"...
No, that's bug#62481, which is already solved on emacs-29 and the fix
should be merged to master soon.