[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 00/10] target/hexagon: introduce idef-parser
From: |
Richard Henderson |
Subject: |
Re: [RFC PATCH 00/10] target/hexagon: introduce idef-parser |
Date: |
Sun, 14 Feb 2021 13:52:25 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
On 2/11/21 1:50 PM, Alessandro Di Federico via wrote:
> From: Alessandro Di Federico <ale@rev.ng>
>
> This patchset introduces the idef-parser for target/hexagon.
> It is based on "[PATCH v8 00/35] Hexagon patch series".
>
> `idef-parser` is a build-time tool built using flex and bison. Its aim
> is to generate a large part of the tiny code generator frontend for
> Hexagon. The prototype of idef-parser has been presented at KVM Forum
> 2019 ("QEMU-Hexagon: Automatic Translation of the ISA Manual Pseudcode
> to Tiny Code Instructions"):
>
> https://www.youtube.com/watch?v=3EpnTYBOXCI
>
> `target/hexagon/idef-parser/README.rst` provides an overview of the
> parser and its inner working.
>
> Please consider this an RFC, this is our first large patchset. Feedback
> is more than welcome.
Well, first off, this fails to build with our gitlab CI.
There are several problems, apart from the new bison parse.error option
previously reported:
(1) bison and flex not added to dockerfiles, so the packages are not available
to CI.
(2) idef-parser program not marked with "native: true", so we get an early
meson error about that.
(3) flex = generator() does not specify both output files, so the proper
dependency on idef-parser.yy.h is not present.
(4) idef-parser.yy.h is placed in the wrong directory, because you used
'%option header-file="xyz"' instead of the command-line
'--headerfile=@OUTPUT1@'. This results in an immediate compilation failure,
because the file isn't found.
(5) There's an odd mismatch in file naming, in which you have
idef-lexer.lex.yy.c but idef-parser.yy.h. Not a bug, really, but it looks odd
when fixing 3 & 4.
I can provide a patch for these if you like, but they're fairly obvious when
you try it.
r~
- Re: [RFC PATCH 03/10] target/hexagon: make helper functions non-static, (continued)