From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Subject: [PATCH v3 00/24] tcg: backend constraints cleanup
Date: Fri, 29 Jan 2021 10:10:04 -1000 [thread overview]
Message-ID: <20210129201028.787853-1-richard.henderson@linaro.org> (raw)
This pulls out constraints to a couple of headers, which
reduces the boilerplate just a little.
I have a longer term goal, which this aids, in which I
move some of the startup-time debug-only validation into
build/compile-time validation. But not yet.
Changes for v3:
* Split out tci ifdef removal.
* Regularize ALL_GENERAL_REGS, SOFTMMU_RESERVE_REGS
across the backends.
* Do not lose sparc 'A' constraint (oops).
* Fix i386 andc constraint set.
Changes for v2:
* Rename "conset" -> "con-str" and "constr" -> "con-str" (pmm).
* Fix a bunch of comment spelling mistakes.
* Add some macro usage comments.
Patches lacking review:
02-tcg-tci-Remove-TCG_TARGET_HAS_-ifdefs.patch
03-tcg-i386-Move-constraint-type-check-to-tcg_target.patch
04-tcg-i386-Tidy-register-constraint-definitions.patch
05-tcg-i386-Split-out-target-constraints-to-tcg-targ.patch
11-tcg-riscv-Split-out-target-constraints-to-tcg-tar.patch
13-tcg-sparc-Split-out-target-constraints-to-tcg-tar.patch
23-tcg-tci-Split-out-constraint-sets-to-tcg-target-c.patch
r~
Richard Henderson (24):
tcg/tci: Drop L and S constraints
tcg/tci: Remove TCG_TARGET_HAS_* ifdefs
tcg/i386: Move constraint type check to tcg_target_const_match
tcg/i386: Tidy register constraint definitions
tcg/i386: Split out target constraints to tcg-target-con-str.h
tcg/arm: Split out target constraints to tcg-target-con-str.h
tcg/aarch64: Split out target constraints to tcg-target-con-str.h
tcg/ppc: Split out target constraints to tcg-target-con-str.h
tcg/tci: Split out target constraints to tcg-target-con-str.h
tcg/mips: Split out target constraints to tcg-target-con-str.h
tcg/riscv: Split out target constraints to tcg-target-con-str.h
tcg/s390: Split out target constraints to tcg-target-con-str.h
tcg/sparc: Split out target constraints to tcg-target-con-str.h
tcg: Remove TCG_TARGET_CON_STR_H
tcg/i386: Split out constraint sets to tcg-target-con-set.h
tcg/aarch64: Split out constraint sets to tcg-target-con-set.h
tcg/arm: Split out constraint sets to tcg-target-con-set.h
tcg/mips: Split out constraint sets to tcg-target-con-set.h
tcg/ppc: Split out constraint sets to tcg-target-con-set.h
tcg/riscv: Split out constraint sets to tcg-target-con-set.h
tcg/s390: Split out constraint sets to tcg-target-con-set.h
tcg/sparc: Split out constraint sets to tcg-target-con-set.h
tcg/tci: Split out constraint sets to tcg-target-con-set.h
tcg: Remove TCG_TARGET_CON_SET_H
tcg/aarch64/tcg-target-con-set.h | 36 ++++
tcg/aarch64/tcg-target-con-str.h | 24 +++
tcg/arm/tcg-target-con-set.h | 35 +++
tcg/arm/tcg-target-con-str.h | 22 ++
tcg/i386/tcg-target-con-set.h | 55 +++++
tcg/i386/tcg-target-con-str.h | 33 +++
tcg/mips/tcg-target-con-set.h | 36 ++++
tcg/mips/tcg-target-con-str.h | 24 +++
tcg/ppc/tcg-target-con-set.h | 42 ++++
tcg/ppc/tcg-target-con-str.h | 30 +++
tcg/riscv/tcg-target-con-set.h | 30 +++
tcg/riscv/tcg-target-con-str.h | 21 ++
tcg/s390/tcg-target-con-set.h | 29 +++
tcg/s390/tcg-target-con-str.h | 28 +++
tcg/sparc/tcg-target-con-set.h | 32 +++
tcg/sparc/tcg-target-con-str.h | 23 ++
tcg/sparc/tcg-target.h | 4 -
tcg/tci/tcg-target-con-set.h | 25 +++
tcg/tci/tcg-target-con-str.h | 11 +
tcg/tcg.c | 136 +++++++++++-
tcg/aarch64/tcg-target.c.inc | 137 ++++--------
tcg/arm/tcg-target.c.inc | 168 +++++----------
tcg/i386/tcg-target.c.inc | 317 +++++++++------------------
tcg/mips/tcg-target.c.inc | 173 +++++----------
tcg/ppc/tcg-target.c.inc | 209 ++++++------------
tcg/riscv/tcg-target.c.inc | 135 ++++--------
tcg/s390/tcg-target.c.inc | 174 ++++++---------
tcg/sparc/tcg-target.c.inc | 156 +++++---------
tcg/tci/tcg-target.c.inc | 359 +++++++++++--------------------
29 files changed, 1244 insertions(+), 1260 deletions(-)
create mode 100644 tcg/aarch64/tcg-target-con-set.h
create mode 100644 tcg/aarch64/tcg-target-con-str.h
create mode 100644 tcg/arm/tcg-target-con-set.h
create mode 100644 tcg/arm/tcg-target-con-str.h
create mode 100644 tcg/i386/tcg-target-con-set.h
create mode 100644 tcg/i386/tcg-target-con-str.h
create mode 100644 tcg/mips/tcg-target-con-set.h
create mode 100644 tcg/mips/tcg-target-con-str.h
create mode 100644 tcg/ppc/tcg-target-con-set.h
create mode 100644 tcg/ppc/tcg-target-con-str.h
create mode 100644 tcg/riscv/tcg-target-con-set.h
create mode 100644 tcg/riscv/tcg-target-con-str.h
create mode 100644 tcg/s390/tcg-target-con-set.h
create mode 100644 tcg/s390/tcg-target-con-str.h
create mode 100644 tcg/sparc/tcg-target-con-set.h
create mode 100644 tcg/sparc/tcg-target-con-str.h
create mode 100644 tcg/tci/tcg-target-con-set.h
create mode 100644 tcg/tci/tcg-target-con-str.h
--
2.25.1
next reply other threads:[~2021-01-29 20:11 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-29 20:10 Richard Henderson [this message]
2021-01-29 20:10 ` [PATCH v3 01/24] tcg/tci: Drop L and S constraints Richard Henderson
2021-01-29 20:10 ` [PATCH v3 02/24] tcg/tci: Remove TCG_TARGET_HAS_* ifdefs Richard Henderson
2021-01-29 23:16 ` Peter Maydell
2021-01-30 6:47 ` Richard Henderson
2021-01-30 7:15 ` Stefan Weil
2021-01-30 8:55 ` Richard Henderson
2021-01-29 20:10 ` [PATCH v3 03/24] tcg/i386: Move constraint type check to tcg_target_const_match Richard Henderson
2021-01-29 23:16 ` Peter Maydell
2021-01-29 20:10 ` [PATCH v3 04/24] tcg/i386: Tidy register constraint definitions Richard Henderson
2021-01-29 23:20 ` Peter Maydell
2021-01-30 6:50 ` Richard Henderson
2021-01-29 20:10 ` [PATCH v3 05/24] tcg/i386: Split out target constraints to tcg-target-con-str.h Richard Henderson
2021-01-29 23:23 ` Peter Maydell
2021-01-29 20:10 ` [PATCH v3 06/24] tcg/arm: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 07/24] tcg/aarch64: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 08/24] tcg/ppc: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 09/24] tcg/tci: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 10/24] tcg/mips: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 11/24] tcg/riscv: " Richard Henderson
2021-01-29 23:24 ` Peter Maydell
2021-01-29 20:10 ` [PATCH v3 12/24] tcg/s390: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 13/24] tcg/sparc: " Richard Henderson
2021-01-29 23:27 ` Peter Maydell
2021-01-31 20:03 ` Philippe Mathieu-Daudé
2021-01-29 20:10 ` [PATCH v3 14/24] tcg: Remove TCG_TARGET_CON_STR_H Richard Henderson
2021-01-29 20:10 ` [PATCH v3 15/24] tcg/i386: Split out constraint sets to tcg-target-con-set.h Richard Henderson
2021-01-29 20:10 ` [PATCH v3 16/24] tcg/aarch64: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 17/24] tcg/arm: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 18/24] tcg/mips: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 19/24] tcg/ppc: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 20/24] tcg/riscv: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 21/24] tcg/s390: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 22/24] tcg/sparc: " Richard Henderson
2021-01-29 20:10 ` [PATCH v3 23/24] tcg/tci: " Richard Henderson
2021-01-29 23:30 ` Peter Maydell
2021-01-29 20:10 ` [PATCH v3 24/24] tcg: Remove TCG_TARGET_CON_SET_H Richard Henderson
2021-01-29 20:37 ` [PATCH v3 00/24] tcg: backend constraints cleanup no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210129201028.787853-1-richard.henderson@linaro.org \
--to=richard.henderson@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).