From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by sourceware.org (Postfix) with ESMTP id B444D3858D33 for ; Fri, 22 Dec 2023 01:00:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B444D3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B444D3858D33 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:ea4a:1:5054:ff:fec7:86e4 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703206832; cv=none; b=Zi8A46NIn0cZKb0xp4riCUA+JgtoAwRqkKksHvniZF+VrfBHo+ZQryx8ME4zC85N89Y9Ssj3LraszuL1rRWbuKVad32uqeBVv9y54HCvytB4aTBu9lsaDgXwHLaqC5IKpxftl3CFZiITjXMkFm+diRkNg4w0IkvcGmXVk6yJ2aA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703206832; c=relaxed/simple; bh=ga5KIit+oFKyr4V79cUISKJutRkUyL6pyayfsu9tuKw=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=gk6h7WhwFSSayqIUsPHnQbKydx9jOlRUogBgySwx3m9kPorUVC6rTUskMiHEXfX58OwMziNPqK5DU9QzUoyVhXDml0McL9o9AxjK5hsEQiwCebJ6N7sEsY+xv7SkxkJIfI3KRl1P9Sa2a5oYX7kCamMEX9f3oE5eqwVm8wTy0os= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by smtp.gentoo.org (Postfix, from userid 559) id 5375A340943; Fri, 22 Dec 2023 01:00:30 +0000 (UTC) From: Mike Frysinger To: cgen@sourceware.org Subject: [PATCH] sim: tighten up generated decode tables Date: Thu, 21 Dec 2023 20:00:28 -0500 Message-ID: <20231222010028.17297-1-vapier@gentoo.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: The use of /* fall through */ with consective case statements doesn't really add any value, and when generating large files, can take up a lot of space. In the case of cris, it alone adds ~20k, or ~10%. Also trim the space before the : with case statements. --- utils-sim.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/utils-sim.scm b/utils-sim.scm index dca0f0705036..8011bb775933 100644 --- a/utils-sim.scm +++ b/utils-sim.scm @@ -684,14 +684,14 @@ (obj:name (dtable-entry-value (car rest))))) (string-append indent " case " (number->string (dtable-entry-index entry)) - " : /* fall through */\n")) + ":\n")) (else (let ((consistent-base-insn? (and (equal? APPLICATION 'SID-SIMULATOR) (> (state-base-insn-bitsize) (insn-length insn))))) (string-append indent " case " - (number->string (dtable-entry-index entry)) " :" + (number->string (dtable-entry-index entry)) ":" ;; Compensate for base-insn-size > current-insn-size by ;; adjusting entire_insn. ;; Activate this logic only for sid simulators; they are @@ -825,7 +825,7 @@ (string-list indent " case " (number->string (dtable-entry-index entry)) - " :\n" + ":\n" (let ((iflds-tracking (/decode-expr-ifield-tracking expr-list)) (indent (string-append indent " "))) @@ -914,7 +914,7 @@ (string-list indent " case " (number->string (dtable-entry-index table)) - " :" + ":" ; If table is same as next, just emit a "fall through" to cut down on ; generated code. (if (and (not (null? rest)) @@ -923,7 +923,7 @@ ; Ensure same table. (eqv? (subdtable-key (dtable-entry-value table)) (subdtable-key (dtable-entry-value (car rest))))) - " /* fall through */\n" + "\n" (string-list "\n" (/gen-decoder-switch switch-num @@ -1075,7 +1075,7 @@ result)))) ;; ??? Can delete if all cases are present. - indent " default : " + indent " default: " (/gen-decode-default-entry invalid-insn fn?) "\n" indent " }\n" indent "}\n" -- 2.43.0