From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) by sourceware.org (Postfix) with ESMTPS id 123F03858D33 for ; Mon, 2 Oct 2023 15:18:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 123F03858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4066241289bso26803955e9.0 for ; Mon, 02 Oct 2023 08:18:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696259888; x=1696864688; darn=gcc.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:cc:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=/euCbrKuzLSqZbVWj5VEZe8cONrXRJJ8dQfDLzaK8QY=; b=ciak56r3Tpaq3ydPSdzSHIo4wq0jg/LGYo+VB0F3GSzESsdnIxmPGHxPqvoEAfvJbG F8+kJGME7UhUmxeHASyvURtrcYmbQXHR7PYaYK8BJgZMPWzTAM435CyewYRBZMlHGZVt utAEvS1dcY/HbBCOuChxklKhmw9kdPRvp8hmjEFf7ZuVmqosgciByQ9yEXdIhOOuXISf jDsUb+WKUFQuZNzlYEND+1exXOKI6Q8lvMNm0Sls6VzADr66CuS7ZqmoN0yeIiqjNcyN /vovcTen07lcSanNZlhPULullYEJ8cifpNJNlZ9YcP68IMCkNM7veC0x2oRz9zpPyO85 yYrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696259888; x=1696864688; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:cc:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=/euCbrKuzLSqZbVWj5VEZe8cONrXRJJ8dQfDLzaK8QY=; b=Y7eRoVRY8+YZ/lTbEMx0OYg3nLyGZcDHHeoTfS5BJzS6hJf78I5owQhxR56yAhPqyI 3RSUl9W5oA6FOklQ25HaReUIjfQ8q0I+vdf7rDx9+fJ95II1Wa2MAKGSACdoCVlYKjp4 +2qGEi4cEevo0TnyI+89uo1ce/5WYkMMvBEggXrTtQd0xlZmBIJkLR+JHCzcG+Y2sUQx mMfCPKXu2XEf1tN60GXbqprA09JeE0F7r678mgUoGyDeZLBmEWKcQXjxo/w0rPOAmyTR OVEN2q6bUfY3zUpPWpafOdRRRa6iwjdGoSfd94AyfXaQLRDdpy+DwXsmpn3D2IYeXNEx wAag== X-Gm-Message-State: AOJu0Yy9H3+t51RXGhwAM28i3nyJQA9ZAlPEpjFKIKoSitCYGVyY9eTf 6N8XslRaK9CevpkO/9LBuWVGeNczbD3fyA== X-Google-Smtp-Source: AGHT+IGZRwVGk9d2urAut2QSD32RNQOQ70wZIT2Lu0RNbYQD78eq+eOtlhttXg5Mgejqf6iEMqJnQg== X-Received: by 2002:a7b:cd18:0:b0:402:906:1e87 with SMTP id f24-20020a7bcd18000000b0040209061e87mr10010474wmj.31.1696259887999; Mon, 02 Oct 2023 08:18:07 -0700 (PDT) Received: from [192.168.1.23] (ip-046-005-130-086.um12.pools.vodafone-ip.de. [46.5.130.86]) by smtp.gmail.com with ESMTPSA id u6-20020a05600c00c600b004064741f855sm7502910wmm.47.2023.10.02.08.18.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 02 Oct 2023 08:18:07 -0700 (PDT) Message-ID: Date: Mon, 2 Oct 2023 17:18:06 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Cc: rdapp.gcc@gmail.com Subject: Re: [PATCH] RFC: Add late-combine pass [PR106594] Content-Language: en-US To: gcc-patches@gcc.gnu.org, Jeff Law , richard.sandiford@arm.com References: From: Robin Dapp In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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 List-Id: Hi Richard, cool, thanks. I just gave it a try with my test cases and it does what it is supposed to do, at least if I disable the register pressure check :) A cursory look over the test suite showed no major regressions and just some overly specific tests. My test case only works before split, though, as the UNSPEC predicates will prevent further combination afterwards. Right now the (pre-RA) code combines every instance disregarding the actual pressure and just checking if the "new" value does not occupy more registers than the old one. - Shouldn't the "pressure" also depend on the number of available hard regs (i.e. an nregs = 2 is not necessarily worse than nregs = 1 if we have 32 hard regs in the new class vs 16 in the old one)? - I assume/hope you expected my (now obsolete) fwprop change could be re-used? Otherwise we wouldn't want to unconditionally "propagate" into a loop for example? For my test case the combination of the vec_duplicate into all insns leads to "high" register pressure that we could avoid. How should we continue here? I suppose you'll first want to get this version to the trunk before complicating it further. Regards Robin