[Top][All Lists]

[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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]