[PATCH v2 00/10] target/hexagon: introduce idef-parser

Alessandro Di Federico via posted 10 patches 3 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210225151856.3284701-1-ale.qemu@rev.ng
Test checkpatch failed
Maintainers: Taylor Simpson <tsimpson@quicinc.com>, Alessandro Di Federico <ale@rev.ng>, Fam Zheng <fam@euphon.net>, "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@redhat.com>
There is a newer version of this series
MAINTAINERS                                   |    8 +
target/hexagon/README                         |    5 +
target/hexagon/gen_idef_parser_funcs.py       |  114 +
target/hexagon/gen_tcg_funcs.py               |   28 +-
target/hexagon/genptr.c                       |  240 +-
target/hexagon/genptr.h                       |   26 +
target/hexagon/hex_common.py                  |   10 +
target/hexagon/idef-parser/README.rst         |  447 ++++
target/hexagon/idef-parser/idef-parser.h      |  245 +++
target/hexagon/idef-parser/idef-parser.lex    |  647 ++++++
target/hexagon/idef-parser/idef-parser.y      | 1250 +++++++++++
target/hexagon/idef-parser/macros.inc         |  166 ++
target/hexagon/idef-parser/parser-helpers.c   | 1925 +++++++++++++++++
target/hexagon/idef-parser/parser-helpers.h   |  293 +++
target/hexagon/idef-parser/prepare            |   33 +
target/hexagon/macros.h                       |    2 +-
target/hexagon/meson.build                    |   67 +-
target/hexagon/translate.c                    |    4 +-
target/hexagon/translate.h                    |    1 +
tests/docker/dockerfiles/alpine.docker        |    2 +
tests/docker/dockerfiles/centos7.docker       |    2 +
tests/docker/dockerfiles/centos8.docker       |    2 +
tests/docker/dockerfiles/debian10.docker      |    2 +
.../dockerfiles/fedora-i386-cross.docker      |    2 +
.../dockerfiles/fedora-win32-cross.docker     |    2 +
.../dockerfiles/fedora-win64-cross.docker     |    2 +
tests/docker/dockerfiles/fedora.docker        |    2 +
tests/docker/dockerfiles/opensuse-leap.docker |    2 +
tests/docker/dockerfiles/ubuntu.docker        |    2 +
tests/docker/dockerfiles/ubuntu1804.docker    |    2 +
tests/docker/dockerfiles/ubuntu2004.docker    |    4 +-
tests/tcg/hexagon/Makefile.target             |   35 +-
tests/tcg/hexagon/crt.S                       |   28 +
tests/tcg/hexagon/first.S                     |   24 +-
tests/tcg/hexagon/test_abs.S                  |   20 +
tests/tcg/hexagon/test_add.S                  |   20 +
tests/tcg/hexagon/test_andp.S                 |   23 +
tests/tcg/hexagon/test_bitcnt.S               |   42 +
tests/tcg/hexagon/test_bitsplit.S             |   25 +
tests/tcg/hexagon/test_call.S                 |   63 +
tests/tcg/hexagon/test_clobber.S              |   35 +
tests/tcg/hexagon/test_cmp.S                  |   34 +
tests/tcg/hexagon/test_cmpy.S                 |   31 +
tests/tcg/hexagon/test_djump.S                |   24 +
tests/tcg/hexagon/test_dotnew.S               |   39 +
tests/tcg/hexagon/test_dstore.S               |   29 +
tests/tcg/hexagon/test_ext.S                  |   18 +
tests/tcg/hexagon/test_fibonacci.S            |   33 +
tests/tcg/hexagon/test_hello.S                |   21 +
tests/tcg/hexagon/test_hl.S                   |   19 +
tests/tcg/hexagon/test_hwloops.S              |   25 +
tests/tcg/hexagon/test_jmp.S                  |   25 +
tests/tcg/hexagon/test_lsr.S                  |   39 +
tests/tcg/hexagon/test_mpyi.S                 |   20 +
tests/tcg/hexagon/test_packet.S               |   26 +
tests/tcg/hexagon/test_reorder.S              |   31 +
tests/tcg/hexagon/test_round.S                |   31 +
tests/tcg/hexagon/test_vavgw.S                |   33 +
tests/tcg/hexagon/test_vcmpb.S                |   32 +
tests/tcg/hexagon/test_vcmpw.S                |   29 +
tests/tcg/hexagon/test_vcmpy.S                |   50 +
tests/tcg/hexagon/test_vlsrw.S                |   23 +
tests/tcg/hexagon/test_vmaxh.S                |   37 +
tests/tcg/hexagon/test_vminh.S                |   37 +
tests/tcg/hexagon/test_vpmpyh.S               |   30 +
tests/tcg/hexagon/test_vspliceb.S             |   33 +
66 files changed, 6568 insertions(+), 33 deletions(-)
create mode 100644 target/hexagon/gen_idef_parser_funcs.py
create mode 100644 target/hexagon/idef-parser/README.rst
create mode 100644 target/hexagon/idef-parser/idef-parser.h
create mode 100644 target/hexagon/idef-parser/idef-parser.lex
create mode 100644 target/hexagon/idef-parser/idef-parser.y
create mode 100644 target/hexagon/idef-parser/macros.inc
create mode 100644 target/hexagon/idef-parser/parser-helpers.c
create mode 100644 target/hexagon/idef-parser/parser-helpers.h
create mode 100755 target/hexagon/idef-parser/prepare
create mode 100644 tests/tcg/hexagon/crt.S
create mode 100644 tests/tcg/hexagon/test_abs.S
create mode 100644 tests/tcg/hexagon/test_add.S
create mode 100644 tests/tcg/hexagon/test_andp.S
create mode 100644 tests/tcg/hexagon/test_bitcnt.S
create mode 100644 tests/tcg/hexagon/test_bitsplit.S
create mode 100644 tests/tcg/hexagon/test_call.S
create mode 100644 tests/tcg/hexagon/test_clobber.S
create mode 100644 tests/tcg/hexagon/test_cmp.S
create mode 100644 tests/tcg/hexagon/test_cmpy.S
create mode 100644 tests/tcg/hexagon/test_djump.S
create mode 100644 tests/tcg/hexagon/test_dotnew.S
create mode 100644 tests/tcg/hexagon/test_dstore.S
create mode 100644 tests/tcg/hexagon/test_ext.S
create mode 100644 tests/tcg/hexagon/test_fibonacci.S
create mode 100644 tests/tcg/hexagon/test_hello.S
create mode 100644 tests/tcg/hexagon/test_hl.S
create mode 100644 tests/tcg/hexagon/test_hwloops.S
create mode 100644 tests/tcg/hexagon/test_jmp.S
create mode 100644 tests/tcg/hexagon/test_lsr.S
create mode 100644 tests/tcg/hexagon/test_mpyi.S
create mode 100644 tests/tcg/hexagon/test_packet.S
create mode 100644 tests/tcg/hexagon/test_reorder.S
create mode 100644 tests/tcg/hexagon/test_round.S
create mode 100644 tests/tcg/hexagon/test_vavgw.S
create mode 100644 tests/tcg/hexagon/test_vcmpb.S
create mode 100644 tests/tcg/hexagon/test_vcmpw.S
create mode 100644 tests/tcg/hexagon/test_vcmpy.S
create mode 100644 tests/tcg/hexagon/test_vlsrw.S
create mode 100644 tests/tcg/hexagon/test_vmaxh.S
create mode 100644 tests/tcg/hexagon/test_vminh.S
create mode 100644 tests/tcg/hexagon/test_vpmpyh.S
create mode 100644 tests/tcg/hexagon/test_vspliceb.S
[PATCH v2 00/10] target/hexagon: introduce idef-parser
Posted by Alessandro Di Federico via 3 years, 2 months ago
From: Alessandro Di Federico <ale@rev.ng>

This patchset introduces the idef-parser for target/hexagon.

It's the second iteration of the patchset and includes fixes suggested
in the previous iteration.

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

A couple of notes:

* `idef-parser` also supports certain things that are not used in the
  most recently submitted version of the "Hexagon patch
  series". However, they will be needed and stripping them out of the
  parser is quite a bit of work.
* checkpatch.pl complains on a single macro which has a trailing
  semi-colon, which is required.

Alessandro Di Federico (4):
  target/hexagon: update MAINTAINERS for idef-parser
  target/hexagon: import README for idef-parser
  target/hexagon: prepare input for the idef-parser
  target/hexagon: call idef-parser functions

Niccolò Izzo (2):
  target/hexagon: introduce new helper functions
  target/hexagon: import additional tests

Paolo Montesel (4):
  target/hexagon: make helper functions non-static
  target/hexagon: expose next PC in DisasContext
  target/hexagon: import lexer for idef-parser
  target/hexagon: import parser for idef-parser

 MAINTAINERS                                   |    8 +
 target/hexagon/README                         |    5 +
 target/hexagon/gen_idef_parser_funcs.py       |  114 +
 target/hexagon/gen_tcg_funcs.py               |   28 +-
 target/hexagon/genptr.c                       |  240 +-
 target/hexagon/genptr.h                       |   26 +
 target/hexagon/hex_common.py                  |   10 +
 target/hexagon/idef-parser/README.rst         |  447 ++++
 target/hexagon/idef-parser/idef-parser.h      |  245 +++
 target/hexagon/idef-parser/idef-parser.lex    |  647 ++++++
 target/hexagon/idef-parser/idef-parser.y      | 1250 +++++++++++
 target/hexagon/idef-parser/macros.inc         |  166 ++
 target/hexagon/idef-parser/parser-helpers.c   | 1925 +++++++++++++++++
 target/hexagon/idef-parser/parser-helpers.h   |  293 +++
 target/hexagon/idef-parser/prepare            |   33 +
 target/hexagon/macros.h                       |    2 +-
 target/hexagon/meson.build                    |   67 +-
 target/hexagon/translate.c                    |    4 +-
 target/hexagon/translate.h                    |    1 +
 tests/docker/dockerfiles/alpine.docker        |    2 +
 tests/docker/dockerfiles/centos7.docker       |    2 +
 tests/docker/dockerfiles/centos8.docker       |    2 +
 tests/docker/dockerfiles/debian10.docker      |    2 +
 .../dockerfiles/fedora-i386-cross.docker      |    2 +
 .../dockerfiles/fedora-win32-cross.docker     |    2 +
 .../dockerfiles/fedora-win64-cross.docker     |    2 +
 tests/docker/dockerfiles/fedora.docker        |    2 +
 tests/docker/dockerfiles/opensuse-leap.docker |    2 +
 tests/docker/dockerfiles/ubuntu.docker        |    2 +
 tests/docker/dockerfiles/ubuntu1804.docker    |    2 +
 tests/docker/dockerfiles/ubuntu2004.docker    |    4 +-
 tests/tcg/hexagon/Makefile.target             |   35 +-
 tests/tcg/hexagon/crt.S                       |   28 +
 tests/tcg/hexagon/first.S                     |   24 +-
 tests/tcg/hexagon/test_abs.S                  |   20 +
 tests/tcg/hexagon/test_add.S                  |   20 +
 tests/tcg/hexagon/test_andp.S                 |   23 +
 tests/tcg/hexagon/test_bitcnt.S               |   42 +
 tests/tcg/hexagon/test_bitsplit.S             |   25 +
 tests/tcg/hexagon/test_call.S                 |   63 +
 tests/tcg/hexagon/test_clobber.S              |   35 +
 tests/tcg/hexagon/test_cmp.S                  |   34 +
 tests/tcg/hexagon/test_cmpy.S                 |   31 +
 tests/tcg/hexagon/test_djump.S                |   24 +
 tests/tcg/hexagon/test_dotnew.S               |   39 +
 tests/tcg/hexagon/test_dstore.S               |   29 +
 tests/tcg/hexagon/test_ext.S                  |   18 +
 tests/tcg/hexagon/test_fibonacci.S            |   33 +
 tests/tcg/hexagon/test_hello.S                |   21 +
 tests/tcg/hexagon/test_hl.S                   |   19 +
 tests/tcg/hexagon/test_hwloops.S              |   25 +
 tests/tcg/hexagon/test_jmp.S                  |   25 +
 tests/tcg/hexagon/test_lsr.S                  |   39 +
 tests/tcg/hexagon/test_mpyi.S                 |   20 +
 tests/tcg/hexagon/test_packet.S               |   26 +
 tests/tcg/hexagon/test_reorder.S              |   31 +
 tests/tcg/hexagon/test_round.S                |   31 +
 tests/tcg/hexagon/test_vavgw.S                |   33 +
 tests/tcg/hexagon/test_vcmpb.S                |   32 +
 tests/tcg/hexagon/test_vcmpw.S                |   29 +
 tests/tcg/hexagon/test_vcmpy.S                |   50 +
 tests/tcg/hexagon/test_vlsrw.S                |   23 +
 tests/tcg/hexagon/test_vmaxh.S                |   37 +
 tests/tcg/hexagon/test_vminh.S                |   37 +
 tests/tcg/hexagon/test_vpmpyh.S               |   30 +
 tests/tcg/hexagon/test_vspliceb.S             |   33 +
 66 files changed, 6568 insertions(+), 33 deletions(-)
 create mode 100644 target/hexagon/gen_idef_parser_funcs.py
 create mode 100644 target/hexagon/idef-parser/README.rst
 create mode 100644 target/hexagon/idef-parser/idef-parser.h
 create mode 100644 target/hexagon/idef-parser/idef-parser.lex
 create mode 100644 target/hexagon/idef-parser/idef-parser.y
 create mode 100644 target/hexagon/idef-parser/macros.inc
 create mode 100644 target/hexagon/idef-parser/parser-helpers.c
 create mode 100644 target/hexagon/idef-parser/parser-helpers.h
 create mode 100755 target/hexagon/idef-parser/prepare
 create mode 100644 tests/tcg/hexagon/crt.S
 create mode 100644 tests/tcg/hexagon/test_abs.S
 create mode 100644 tests/tcg/hexagon/test_add.S
 create mode 100644 tests/tcg/hexagon/test_andp.S
 create mode 100644 tests/tcg/hexagon/test_bitcnt.S
 create mode 100644 tests/tcg/hexagon/test_bitsplit.S
 create mode 100644 tests/tcg/hexagon/test_call.S
 create mode 100644 tests/tcg/hexagon/test_clobber.S
 create mode 100644 tests/tcg/hexagon/test_cmp.S
 create mode 100644 tests/tcg/hexagon/test_cmpy.S
 create mode 100644 tests/tcg/hexagon/test_djump.S
 create mode 100644 tests/tcg/hexagon/test_dotnew.S
 create mode 100644 tests/tcg/hexagon/test_dstore.S
 create mode 100644 tests/tcg/hexagon/test_ext.S
 create mode 100644 tests/tcg/hexagon/test_fibonacci.S
 create mode 100644 tests/tcg/hexagon/test_hello.S
 create mode 100644 tests/tcg/hexagon/test_hl.S
 create mode 100644 tests/tcg/hexagon/test_hwloops.S
 create mode 100644 tests/tcg/hexagon/test_jmp.S
 create mode 100644 tests/tcg/hexagon/test_lsr.S
 create mode 100644 tests/tcg/hexagon/test_mpyi.S
 create mode 100644 tests/tcg/hexagon/test_packet.S
 create mode 100644 tests/tcg/hexagon/test_reorder.S
 create mode 100644 tests/tcg/hexagon/test_round.S
 create mode 100644 tests/tcg/hexagon/test_vavgw.S
 create mode 100644 tests/tcg/hexagon/test_vcmpb.S
 create mode 100644 tests/tcg/hexagon/test_vcmpw.S
 create mode 100644 tests/tcg/hexagon/test_vcmpy.S
 create mode 100644 tests/tcg/hexagon/test_vlsrw.S
 create mode 100644 tests/tcg/hexagon/test_vmaxh.S
 create mode 100644 tests/tcg/hexagon/test_vminh.S
 create mode 100644 tests/tcg/hexagon/test_vpmpyh.S
 create mode 100644 tests/tcg/hexagon/test_vspliceb.S

-- 
2.30.1


Re: [PATCH v2 00/10] target/hexagon: introduce idef-parser
Posted by no-reply@patchew.org 3 years, 2 months ago
Patchew URL: https://patchew.org/QEMU/20210225151856.3284701-1-ale.qemu@rev.ng/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20210225151856.3284701-1-ale.qemu@rev.ng
Subject: [PATCH v2 00/10] target/hexagon: introduce idef-parser

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20210225091435.644762-1-eric.auger@redhat.com -> patchew/20210225091435.644762-1-eric.auger@redhat.com
 * [new tag]         patchew/20210225151856.3284701-1-ale.qemu@rev.ng -> patchew/20210225151856.3284701-1-ale.qemu@rev.ng
Switched to a new branch 'test'
739bb05 target/hexagon: import additional tests
c412a0e target/hexagon: call idef-parser functions
41c3d34 target/hexagon: import parser for idef-parser
6fbf5f9 target/hexagon: import lexer for idef-parser
b35ce32 target/hexagon: prepare input for the idef-parser
bfa9eac target/hexagon: expose next PC in DisasContext
3a44618 target/hexagon: introduce new helper functions
df56633 target/hexagon: make helper functions non-static
e829131 target/hexagon: import README for idef-parser
44c5544 target/hexagon: update MAINTAINERS for idef-parser

=== OUTPUT BEGIN ===
1/10 Checking commit 44c554486189 (target/hexagon: update MAINTAINERS for idef-parser)
2/10 Checking commit e829131d737c (target/hexagon: import README for idef-parser)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#38: 
new file mode 100644

total: 0 errors, 1 warnings, 464 lines checked

Patch 2/10 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/10 Checking commit df5663383efb (target/hexagon: make helper functions non-static)
4/10 Checking commit 3a44618adb7c (target/hexagon: introduce new helper functions)
5/10 Checking commit bfa9eacded62 (target/hexagon: expose next PC in DisasContext)
6/10 Checking commit b35ce3214587 (target/hexagon: prepare input for the idef-parser)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#20: 
new file mode 100644

total: 0 errors, 1 warnings, 341 lines checked

Patch 6/10 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/10 Checking commit 6fbf5f96ef69 (target/hexagon: import lexer for idef-parser)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#29: 
new file mode 100644

total: 0 errors, 1 warnings, 987 lines checked

Patch 7/10 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/10 Checking commit 41c3d34a00e0 (target/hexagon: import parser for idef-parser)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#30: 
new file mode 100644

ERROR: suspicious ; after while (0)
#3320: FILE: target/hexagon/idef-parser/parser-helpers.h:99:
+    } while (0);

total: 1 errors, 1 warnings, 3583 lines checked

Patch 8/10 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

9/10 Checking commit c412a0e3f999 (target/hexagon: call idef-parser functions)
10/10 Checking commit 739bb05d384e (target/hexagon: import additional tests)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#100: 
new file mode 100644

total: 0 errors, 1 warnings, 1086 lines checked

Patch 10/10 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20210225151856.3284701-1-ale.qemu@rev.ng/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com