This is the mail archive of the
cgen@sources.redhat.com
mailing list for the CGEN project.
[RFA] Code gen improvement for sim-decode.scm
- To: CGEN <cgen at sources dot redhat dot com>
- Subject: [RFA] Code gen improvement for sim-decode.scm
- From: Ben Elliston <bje at redhat dot com>
- Date: Wed, 6 Dec 2000 23:40:18 +1100 (EST)
The following patch improves the generated extraction code -- such that an
`insn' variable is not defined for instructions that have zero ifields.
Comments? Is there a better way to do this?
Ben
@@ -433,10 +433,13 @@
" extract_" (gen-sym sfmt) ":\n"
" {\n"
" const IDESC *idesc = &" IDESC-TABLE-VAR "[itype];\n"
- " CGEN_INSN_INT insn = "
- (if (adata-integral-insn? CURRENT-ARCH)
- "entire_insn;\n"
- "base_insn;\n")
+ (if (> (length (sfmt-iflds sfmt)) 0)
+ (string-append
+ " CGEN_INSN_INT insn = "
+ (if (adata-integral-insn? CURRENT-ARCH)
+ "entire_insn;\n"
+ "base_insn;\n"))
+ "")
(gen-define-field-macro sfmt)
(gen-define-ifields (sfmt-iflds sfmt) (sfmt-length sfmt) " " #f)
"\n"