From patchwork Fri Jan 13 11:07:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 43169 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp207023wrt; Fri, 13 Jan 2023 03:08:12 -0800 (PST) X-Google-Smtp-Source: AMrXdXs/WB4VRsX4GL/GAEersVZctvifYFHJKW4DLTgeILh9gCTHqoW9sme+VRt0nWiH9Nu2wKRa X-Received: by 2002:a17:907:d311:b0:7c4:e7b0:8491 with SMTP id vg17-20020a170907d31100b007c4e7b08491mr72648078ejc.61.1673608092408; Fri, 13 Jan 2023 03:08:12 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id sc40-20020a1709078a2800b007c1705dded9si25117070ejc.415.2023.01.13.03.08.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 03:08:12 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=XwbzvYzc; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C2C3138754BB for ; Fri, 13 Jan 2023 11:07:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C2C3138754BB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1673608079; bh=FovsTxIh3sdKhwhvlDI9+581GyMnAv6KKfzhlOPicuA=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=XwbzvYzcFal8s0qsczqCvZbTcjh8LYI3WnSNDWbnU+B8djWLhlF7Ym/N7d2WMvwDl Lg8rizCJdUaMxHT2NShSpxb37l0PeNKFqGsGDXlgQ5gV3yXsNDeF6rtAmVmybbRcOR vAt+J46jljBQlPs5e48bg+S6tS0hCZhqt41j9Mbg= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2055.outbound.protection.outlook.com [40.107.14.55]) by sourceware.org (Postfix) with ESMTPS id DF424385B515 for ; Fri, 13 Jan 2023 11:07:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DF424385B515 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eM2CbAu+eqOEQ+VPGN8W1VgJU2UW9T4inkaO/B0kf8dclgkjkkB94WRLHCw6Robm84w1hFaJXyTwqpQHxAHuM3/leiDvwSXS2U6PvurB8iMDXhe/7nP4iROddLBGU3wqOemXcemZOnKg/aPvJkVEle2C5sY8OkdHiIrpzrHb736QJWQfzeRnxmKWMOLdP3PCevxRQcl1tEwP6szx9lm+I9/akxfVNLdwqxEk4uczQCs/5/Beco2q8o1nI50KzFdDbCCguLNEdviRVYsZEZgOVd248WpjC0w0/Tl7Bxiimi7xpCMlubky1i9YVLykTZmJMw9DyFbMmSqxW08Y5b8tkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FovsTxIh3sdKhwhvlDI9+581GyMnAv6KKfzhlOPicuA=; b=V7Ot6450mZKtzE5cXkXIWvXftWC04/CV2qHpFh6yyLye/UTIoHyLJO4e+/gvOKLFHax4pZZ/3tP1XJthRNYIsVqlMx+kDPS11oUI0+U3rGVhqOMxcBpTu46rgOYD2BFnXsZE4x3+6y0q2DlCcmDSoO2g1+QyM/+HRKGcd1/mjzdMfOujpyUNjq4v0E7sCUj3BxpwfovtJEol7Bhg5uzfueIM/Wei5TkmX1cmEvNgfpL7M2bKj5RaMEq/NnUjCc8X/x/eZo7bsYBT6ldvvLs22pnDHwsAaRHng4H/JPxg2sGTvQEd59H4QU/p4aw1qGsmOpBQejQ+Bzi3IuTddXiCQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by PAXPR04MB8845.eurprd04.prod.outlook.com (2603:10a6:102:20c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.13; Fri, 13 Jan 2023 11:07:48 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389%7]) with mapi id 15.20.6002.012; Fri, 13 Jan 2023 11:07:47 +0000 Message-ID: <8f43bf06-9323-8838-bcdc-bfbf9a850ae2@suse.com> Date: Fri, 13 Jan 2023 12:07:46 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH 4/8] x86: absorb allocation in i386-gen Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR2P281CA0025.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:14::12) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8845:EE_ X-MS-Office365-Filtering-Correlation-Id: 10bdabd1-1cf5-4e82-9273-08daf5566766 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZGT47UGLerKkIQ2YUsH90rGkwM5z8CxiUXVMmF8STFSabV8ldi+zLEIMPg3vlEYi+OMok/pJGGGdkcSS8H3zXxqGorJATI3EWUKdEDA9jepuXtetZHOEABgVxCc2iBinsmYRXJr8QHhfPJeLvPNYp9/IAqSd4P8IMy8/caX8Uill+pYVDz9309oxjN2R7+GFC0Dw9rFKKpZE25wMpY8/Yvu0CmkAmT7Ufq1X6i9aDMdMLiGHb1GXnMSl8jxGADgQcidBDe2YuJMLvsVc7BVea8/Tp1o3WU3rfg1bxy+meZuPeEmWDiDq9urjsjtc9juxUMdogaqSLSzuEBrXLWBeO4khYwvUtCHSueLl4uWoTeVRCf9x0BDA+vsk/4RMRGxpUpxA/BPHHOnjxdZnmP0W4Jc/y1mrKF8HOVICjCr8uOABHX852AZ0uFs3ALWlMnqf9sIbcqly2RRVbuGOy8EsUvGzpm6AB4px/jxlI9vw1ddVG390EZoITjjUdjnOyMR9yVbW7a3A8mPP+Hug49/2Y0Ila1ln/m650Q/zgWoIuPJMvwwuFU/u+cVGFAR6Cns8HU5DKyqG3i0AecBltua5m78gv7xAgyxfaxnipxhxPJh3bPqwxld/PJzW4KlkUwOuJqTh9FCFI6Zk5Gy8LCdB3mYSN7o3NIFxeKziS8UwVu/teB/hVHoQ31HpW4aj2BQ5bUCoxIWYw8+RZeEOztJxRhBA0KOk7hJh6xpt6gXRi3PsW1KBsOpcuCupWCSC2vc0cy69bJVxKhp7ynAVSpsdJJxQirc8dQvv9oiHdfELvZM= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR04MB6560.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(39860400002)(396003)(376002)(346002)(136003)(366004)(451199015)(31686004)(8936002)(5660300002)(41300700001)(4326008)(316002)(2906002)(66946007)(66556008)(6916009)(66476007)(8676002)(478600001)(6486002)(38100700002)(186003)(26005)(6512007)(6506007)(36756003)(31696002)(86362001)(2616005)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?VQcfNwYHLA4MPTWmoOgfj0Nr0YYD?= =?utf-8?q?3itpNC6b7PmIFep/hsMNPiB/bilrNrG/JXCfX5zq3b0Wmkz/aWGJD/rMmbRGNs+Q8?= =?utf-8?q?gFImYvCF7IRuyvcpN89QlQMZ6ZVTNFVkfpilL2OH3Ny/MAED1nPM1uEtd5CXZHGS1?= =?utf-8?q?pRNPvQLR8zrsTBEWYw8tQSmW/DYyRGKy54ZEWNnJyWnQLdx5bm96AE/wR+gogKvGu?= =?utf-8?q?D7orjQD5RdHjf2zDv2hEiwKq8IN8KimDxGLa7VEZ5uwhK0C89vBDPBS4Fk7292wFW?= =?utf-8?q?G6+SUHFcv4UxR39ZNYPWHOVK+zxy1W/gD1hosTl0PRDLjCCBsBRvgxcXET106e+L4?= =?utf-8?q?sXl/TwO2ZnxEVxDxuzCU85NWBFInWkDv/HKn+MEaXyF6eqfQhkAUMg/OI8/S0SVlk?= =?utf-8?q?q5qA6rOvfDOggpOBhDJy9cH94x0lkmrfNTYJEy8HP14opQCFjsKnoU3eSYYRp5vKY?= =?utf-8?q?nHpgs/+Kz7ss0ZjbqN7rEnXD1gW/raW1HVN2iN+0h/mfHojsaYR1rFr4MsF+Kx8aF?= =?utf-8?q?eHapNdsKLFwCjLL1bFrHTFwLlECV+l/zEfnDqQPFMXS1lXb+oIe0nI91cTLDoGdGU?= =?utf-8?q?R+32M9cS+EhlP0fTcLi5EbvmNS3aSBA5tJtqrghu+WKlOJ1jmVSrKw8EP6l56V5oB?= =?utf-8?q?KYjYfnCGaVtb2ldVFXvnoquYd5sx4/9774jbALyydIcjcYcQEOFuWdowJ+cwqGLtW?= =?utf-8?q?ndqTDyCZ656G5b2FeoCYkFACIQucQWDexEiju1JwkaxJoDV+UKKlhLHZDc1W/F+PL?= =?utf-8?q?GSQAcutGqPs6if90NKOgOJ/h5ki+zwLAuzR7TDqS1o02kKcOG0BnmCLdJlfSbc31L?= =?utf-8?q?GWGBmYAlFHzBE8zFqgvdy+xl5hPJj3FCI1IFbrmAgdbZvYMkz1uq9pmRpFKmKuGWP?= =?utf-8?q?jSmaQ0upWUGvW4O0ON1lfF4b/uRfLSDHYd8GdaDDw4ru88rHgWmcaR8aP5uhJE+49?= =?utf-8?q?oRxqWyVXAnizrJUUvQr20UNLjYpfl3oy6kM/PnmxMdLO162PEA9m074lIbDh3spmN?= =?utf-8?q?Qw6aPUm9dBdTVjQsnSj7AiLyacougtyNScIFUDICvLcMxONfiR9R1i48PETvo0RX8?= =?utf-8?q?Cz+QdZgnVWWMIBCOp37jGXZ6woYz+edE9Qpewk/gh4d4pjm9Js0xwZHwwiaUig3lH?= =?utf-8?q?twBZmFSwHum3mzUAGGQYlepUyjcUjRy15553vfadj6Ohd/t1vXNhhDnj/sjW6KvhK?= =?utf-8?q?rx30n3QiARZw+aimPjv9eOMsIpvffPj/7Cy+LYwLKHFyWFbCab6n6Cco41h0CnZtP?= =?utf-8?q?rL7xygdFgGQzOgNfmKL9e7pyhMfMSyx3X7h8fD4Q0sVoIpiN4Cc3F6fxVUknI8JQ7?= =?utf-8?q?A7RqpJfI+rSt1dxSCW9dV7lMbg0HEXBsOvlak+unZamGOMjbcuZJRQX3N9axb+G9b?= =?utf-8?q?8RrEI8r7JmW4kdJiYCtgSNOIsV6MhLratRYeB/zAiDpCjb0imof6WI0vnVQKduuvx?= =?utf-8?q?A1vk78lxaMQtnxb7pRR1HAeCgahKYGCdvH6Y5nn103sh1V7MP013W7uHvCkhVnGP6?= =?utf-8?q?YcxQBATp/LAf?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 10bdabd1-1cf5-4e82-9273-08daf5566766 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2023 11:07:47.8520 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Acff2kOF7Zz+4LaamGG8Tb9hgkdR8WJ7DPSpBKG94amt9Gn3cYdC9rQmSLpQefyT+lGQ8EW5HtAEO5fjS+AXIQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8845 X-Spam-Status: No, score=-3028.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754905278993703913?= X-GMAIL-MSGID: =?utf-8?q?1754905278993703913?= When generating the mnemonic string table we already set up an identifier for the following entry in a number of cases. Re-use that on the next loop iteration rather than re-doing allocation and conversion. --- Could also be folded directly into "x86: re-use insn mnemonic strings as much as possible"; separate for now to keep the earlier change a little more simple. --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -1750,13 +1750,15 @@ process_i386_opcodes (FILE *table) fprintf (table, "const char i386_mnemonics[] =\n"); fprintf (fp, "\nextern const char i386_mnemonics[];\n\n"); + str = NULL; for (l = strlen (opcode_array[offs = j = 0]->name); j < i; j++) { const char *next = NULL; size_t l1 = j + 1 < i ? strlen(next = opcode_array[j + 1]->name) : 0; name = opcode_array[j]->name; - str = mkident (name); + if (str == NULL) + str = mkident (name); if (l < l1 && !strcmp(name, next + l1 - l)) { fprintf (fp, "#define MN_%s ", str); @@ -1769,8 +1771,9 @@ process_i386_opcodes (FILE *table) fprintf (table, " \"\\0\"\"%s\"\n", name); fprintf (fp, "#define MN_%s %#x\n", str, offs + 1); offs += strlen (name) + 1; + free (str); + str = NULL; } - free (str); l = l1; }