From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com [IPv6:2607:f8b0:4864:20::42f]) by sourceware.org (Postfix) with ESMTPS id 7C4B03856944 for ; Mon, 13 Nov 2023 12:41:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7C4B03856944 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=vrull.eu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=vrull.eu ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7C4B03856944 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::42f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699879282; cv=none; b=XA2s6jq+UNPiwo1WbYQGvjukDV8p0nCMuQCf3kO9dGmgo3C9T5I/aBByhVlKtxr6xjZabEVpDqy0bH1hS+gvJ5G6QDn/kMmCjKwjt6wB5MNp4+HcStgNbDigjE7AW5IORz7Dy6JrWqC/9RGRJTbH3dqBWMlkpCOBLHGVMDcWISU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699879282; c=relaxed/simple; bh=i95dLk6QjgcEqwT58djLuhAPWqLLztUQw8R6aXOwrhA=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=U6F3C2RKYXbwZpaqWOM1V9+PYTIWZaDKXFXcoFqX00wwb6QLet9fwcpa7dwEQwlQCM6X0XNXP+4lkFykdTShxM2r1oq8Zlx91W9DwPmk05H7xHwdv89mADL3eIq9xHKjIxWnB/50gGTXrECtPROlBpuCEZCcwWWP10iMjHeszmM= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-6c39ad730aaso3247587b3a.0 for ; Mon, 13 Nov 2023 04:41:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrull.eu; s=google; t=1699879278; x=1700484078; darn=gcc.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=TYt8ApfPCzkDKKIa4HDbN+lAMCv5vTbfpbUCJSJmC4g=; b=ewJRi9djgqUOXODRdOYSkRY2HHWO4yH8BzWtQubCDzf0Qxo9l+2UXjWISWPfzRW9Y1 GK09Xc1OjQ6Ni8jvHCl9VTvxNdA4D04DDKRHkEZgyrKHSOhFDJyBuyybXFGcYdPAXElt 7Yq99E+wJhH7rkYEr3oZpTm0sX41jsn3L2iWKP8INlG01n6gjJLLuZuhchxCuNqgSgy6 hbcTbtL4SC9zRQDlGqLEXuakbb2NSIEgY3rpdA9A9hUCIXG/GzvXfn6wYz3fkggEST1l kb/1lQcmtI0z3Y1CuIImxgaRlmmrFjZBtHbS8KwTqvkcZSxXAwVD7sDaziWto0n9Q30p HrQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699879278; x=1700484078; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TYt8ApfPCzkDKKIa4HDbN+lAMCv5vTbfpbUCJSJmC4g=; b=Z8u4MkztW1WyboOI9Y1tJUgZGskAf0FZENwTF1vks0S0KtCD1KNo8J/hExcClXJQ2r VUohLGuyt4QEo3brdx18T0M5ncnaFPXrx628/Rv65Wr+pZt/5m2Hl9ojI/6AqR45Tduo 2tA8d52Tb3OwZDT2qzwR3cs8+ELJiaElNFifqqM3R4HswashWkxvwhqnUA80kbZUhhZt 5BoqqzANcyNPaU2qMAMo3qPP7keDvShng/piT/TEIqvW2B5Mp95V5QEfQd8gqRGg4pRs WiMZC5PRRyE3SzwrsSuadEObsvbNEcwY6oaqrwD2bupZJQ54xuGoVRkaGWKg7Fq7VJaC gzVQ== X-Gm-Message-State: AOJu0YxjRdLc91xlH4ZDPhfic2Esb5hvmn5ATREsGImVL23oTAHTeIzQ 8iQBt8LMAKAU08Mj8Zyi3HKryjTyZzhPunpmCeQ5Yg== X-Google-Smtp-Source: AGHT+IHoTLSp923uuPPlS075/eYCyseN9xlFJhrRWVo51TqQkGk0T0iK9UvdtBoIngWQvrVcVnlKrXQet0Yd2HTyxuE= X-Received: by 2002:a05:6a20:da98:b0:186:7eaf:7191 with SMTP id iy24-20020a056a20da9800b001867eaf7191mr2749821pzb.24.1699879278477; Mon, 13 Nov 2023 04:41:18 -0800 (PST) MIME-Version: 1.0 References: <20230830101400.1539313-1-manolis.tsamis@vrull.eu> <20230830101400.1539313-4-manolis.tsamis@vrull.eu> <65cacabf-0954-404a-b7c7-5fce9caec862@gmail.com> In-Reply-To: <65cacabf-0954-404a-b7c7-5fce9caec862@gmail.com> From: Manolis Tsamis Date: Mon, 13 Nov 2023 14:40:41 +0200 Message-ID: Subject: Re: [PATCH v3 3/4] ifcvt: Handle multiple rewired regs and refactor noce_convert_multiple_sets To: Jeff Law Cc: gcc-patches@gcc.gnu.org, Jakub Jelinek , Richard Sandiford Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,JMQ_SPF_NEUTRAL,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi Jeff, Indeed, that sounds like a good idea. I will make this separate and send it after the required testing. I'll see what can be done about a testcase. Best, Manolis On Sat, Nov 11, 2023 at 1:20=E2=80=AFAM Jeff Law wr= ote: > > > > On 8/30/23 04:13, Manolis Tsamis wrote: > > The existing implementation of need_cmov_or_rewire and > > noce_convert_multiple_sets_1 assumes that sets are either REG or SUBREG= . > > This commit enchances them so they can handle/rewire arbitrary set stat= ements. > > > > To do that a new helper struct noce_multiple_sets_info is introduced wh= ich is > > used by noce_convert_multiple_sets and its helper functions. This resul= ts in > > cleaner function signatures, improved efficientcy (a number of vecs and= hash > > set/map are replaced with a single vec of struct) and simplicity. > > > > gcc/ChangeLog: > > > > * ifcvt.cc (need_cmov_or_rewire): Renamed init_noce_multiple_sets= _info. > > (init_noce_multiple_sets_info): Initialize noce_multiple_sets_inf= o. > > (noce_convert_multiple_sets_1): Use noce_multiple_sets_info and h= andle > > rewiring of multiple registers. > > (noce_convert_multiple_sets): Updated to use noce_multiple_sets_i= nfo. > > * ifcvt.h (struct noce_multiple_sets_info): Introduce new struct > > noce_multiple_sets_info to store info for noce_convert_multiple_s= ets. > > > > gcc/testsuite/ChangeLog: > > > > * gcc.target/aarch64/ifcvt_multiple_sets_rewire.c: New test. > So this seems like (in theory) it could move forward independently. The > handling of arbitrary statements code wouldn't be exercised yet, but > that's OK IMHO as I don't think anyone is fundamentally against trying > to handle additional kinds of statements. > > So my suggestion would be to bootstrap & regression test this > independently. AFAICT this should have no functional change if it were > to go in on its own. Note the testsuite entry might not be applicable > if this were to go in on its own and would need to roll into another > patch in the series. > > > Jeff