[Libre-soc-dev] daily kan-ban update 17may2021

Luke Kenneth Casson Leighton lkcl at lkcl.net
Tue May 18 12:56:29 BST 2021


---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68

On Tue, May 18, 2021 at 10:31 AM Jacob Lifshay <programmerjake at gmail.com> wrote:
>
> On Tue, May 18, 2021, 02:20 Lauri Kasanen <cand at gmx.com> wrote:
>
> > On Tue, 18 May 2021 10:03:55 +0100
> > Luke Kenneth Casson Leighton <lkcl at lkcl.net> wrote:
> >
> > > missing a mkdir that i did manually at the commandline
> > > $ mkdir /home/lauri/openpower-isa/src/openpower/decoder/isafunctions/
> >
> > pyfnwriter and pywriter succeeded. (yikes, 6m 30s for the latter)
> >
>
> yeah, the parser is *really* slow, it regenerates a lalr parser (because
> that was easy, i'm assuming) every time it's constructed for every
> instruction, because no one got around to figuring out how to cache it.

cacheing is 100% already supported in python-ply: it's not the problem.
the problem is: it's compiling almost 100 instructions and outputting
huge amounts of debug log information, without which this complex
task is made even more difficult than it already is.

if adding new instructions was a severe bottleneck, then techniques
such as *actually* using proper Makefiles, which are designed for
exactly the job that's needed, would be the sensible way to go rather
than having one command that globally overwrites everything.

unfortunately, this is not a high priority: adjusting the pseudocode
is an "Extreme Care" task that should not be done lightly, given that
it literally implies a total redefinition of the v3.0B ISA Specification.

therefore with the expectation that, ordinarily, developers would
run this as a "one-off" and never do it again, it's an extremely low
priority.

what you're witnessing, Lauri, Jacob, is what happens when changes
(additions) to the ISA are required.  the last time we went through
this was around a year ago, and we've literally not had to do anything
to it since.

correction: some changes to the DIV spec pseudocode had to
be done, to support overflow.

l.



More information about the Libre-soc-dev mailing list