From: Taylor Simpson <ltaylorsimpson@gmail.com>
To: qemu-devel@nongnu.org
Cc: brian.cain@oss.qualcomm.com, quic_mathbern@quicinc.com,
sidneym@quicinc.com, quic_mliebel@quicinc.com,
richard.henderson@linaro.org, philmd@linaro.org, ale@rev.ng,
anjo@rev.ng, ltaylorsimpson@gmail.com
Subject: [PATCH] Hexagon (target/hexagon) Remove gen_tcg_func_table.py
Date: Tue, 15 Apr 2025 17:55:42 -0600 [thread overview]
Message-ID: <20250415235542.71703-1-ltaylorsimpson@gmail.com> (raw)
This can easily be done in C with opcodes_def_generated.h.inc
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
---
target/hexagon/genptr.c | 6 ++-
target/hexagon/README | 1 -
target/hexagon/gen_tcg_func_table.py | 66 ----------------------------
target/hexagon/meson.build | 10 -----
4 files changed, 5 insertions(+), 78 deletions(-)
delete mode 100755 target/hexagon/gen_tcg_func_table.py
diff --git a/target/hexagon/genptr.c b/target/hexagon/genptr.c
index 2c5e15cfcf..330170ab44 100644
--- a/target/hexagon/genptr.c
+++ b/target/hexagon/genptr.c
@@ -1453,4 +1453,8 @@ void gen_add_sat_i64(DisasContext *ctx, TCGv_i64 ret, TCGv_i64 a, TCGv_i64 b)
}
#include "tcg_funcs_generated.c.inc"
-#include "tcg_func_table_generated.c.inc"
+const SemanticInsn opcode_genptr[XX_LAST_OPCODE] = {
+#define OPCODE(X) [X] = generate_##X
+#include "opcodes_def_generated.h.inc"
+#undef OPCODE
+};
diff --git a/target/hexagon/README b/target/hexagon/README
index ca617e3364..5af298e3ed 100644
--- a/target/hexagon/README
+++ b/target/hexagon/README
@@ -47,7 +47,6 @@ header files in <BUILD_DIR>/target/hexagon
gen_op_attribs.py -> op_attribs_generated.h.inc
gen_helper_protos.py -> helper_protos_generated.h.inc
gen_tcg_funcs.py -> tcg_funcs_generated.c.inc
- gen_tcg_func_table.py -> tcg_func_table_generated.c.inc
gen_helper_funcs.py -> helper_funcs_generated.c.inc
gen_idef_parser_funcs.py -> idef_parser_input.h
gen_analyze_funcs.py -> analyze_funcs_generated.c.inc
diff --git a/target/hexagon/gen_tcg_func_table.py b/target/hexagon/gen_tcg_func_table.py
deleted file mode 100755
index 299a39b1aa..0000000000
--- a/target/hexagon/gen_tcg_func_table.py
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/env python3
-
-##
-## Copyright(c) 2019-2024 Qualcomm Innovation Center, Inc. All Rights Reserved.
-##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, see <http://www.gnu.org/licenses/>.
-##
-
-import sys
-import re
-import string
-import hex_common
-import argparse
-
-
-def main():
- parser = argparse.ArgumentParser(
- "Emit opaque macro calls with instruction semantics"
- )
- parser.add_argument("semantics", help="semantics file")
- parser.add_argument("out", help="output file")
- args = parser.parse_args()
- hex_common.read_semantics_file(args.semantics)
- hex_common.calculate_attribs()
- tagregs = hex_common.get_tagregs()
- tagimms = hex_common.get_tagimms()
-
- with open(args.out, "w") as f:
- f.write("#ifndef HEXAGON_FUNC_TABLE_H\n")
- f.write("#define HEXAGON_FUNC_TABLE_H\n\n")
-
- f.write("const SemanticInsn opcode_genptr[XX_LAST_OPCODE] = {\n")
- for tag in hex_common.tags:
- ## Skip the priv instructions
- if "A_PRIV" in hex_common.attribdict[tag]:
- continue
- ## Skip the guest instructions
- if "A_GUEST" in hex_common.attribdict[tag]:
- continue
- ## Skip the diag instructions
- if tag == "Y6_diag":
- continue
- if tag == "Y6_diag0":
- continue
- if tag == "Y6_diag1":
- continue
-
- f.write(f" [{tag}] = generate_{tag},\n")
- f.write("};\n\n")
-
- f.write("#endif /* HEXAGON_FUNC_TABLE_H */\n")
-
-
-if __name__ == "__main__":
- main()
diff --git a/target/hexagon/meson.build b/target/hexagon/meson.build
index bb4ebaae81..b28aeddb85 100644
--- a/target/hexagon/meson.build
+++ b/target/hexagon/meson.build
@@ -41,20 +41,10 @@ hexagon_ss.add(semantics_generated)
#
# Step 2
# We use Python scripts to generate the following files
-# tcg_func_table_generated.c.inc
# printinsn_generated.h.inc
# op_attribs_generated.h.inc
# opcodes_def_generated.h.inc
#
-tcg_func_table_generated = custom_target(
- 'tcg_func_table_generated.c.inc',
- output: 'tcg_func_table_generated.c.inc',
- depends: [semantics_generated],
- depend_files: [hex_common_py],
- command: [python, files('gen_tcg_func_table.py'), semantics_generated, '@OUTPUT@'],
-)
-hexagon_ss.add(tcg_func_table_generated)
-
printinsn_generated = custom_target(
'printinsn_generated.h.inc',
output: 'printinsn_generated.h.inc',
--
2.43.0
next reply other threads:[~2025-04-15 23:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-15 23:55 Taylor Simpson [this message]
2025-04-16 6:18 ` [PATCH] Hexagon (target/hexagon) Remove gen_tcg_func_table.py Philippe Mathieu-Daudé
2025-04-16 14:45 ` ltaylorsimpson
2025-04-16 14:58 ` ltaylorsimpson
2025-04-17 7:09 ` Philippe Mathieu-Daudé
2025-04-17 15:55 ` Brian Cain
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=20250415235542.71703-1-ltaylorsimpson@gmail.com \
--to=ltaylorsimpson@gmail.com \
--cc=ale@rev.ng \
--cc=anjo@rev.ng \
--cc=brian.cain@oss.qualcomm.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quic_mathbern@quicinc.com \
--cc=quic_mliebel@quicinc.com \
--cc=richard.henderson@linaro.org \
--cc=sidneym@quicinc.com \
/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).