From patchwork Mon Jan 15 11:26:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Biener X-Patchwork-Id: 188112 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2614:b0:101:6a76:bbe3 with SMTP id mm20csp1642643dyc; Mon, 15 Jan 2024 03:32:41 -0800 (PST) X-Google-Smtp-Source: AGHT+IFnmT4gNvWvcYN/J++nK9GUNc3AD+AAicCA1hoxHzd6Dbf9IrP7R5qQBwvsgTTj79etxfYB X-Received: by 2002:a05:6214:1d09:b0:681:22a3:a05d with SMTP id e9-20020a0562141d0900b0068122a3a05dmr7371608qvd.22.1705318361022; Mon, 15 Jan 2024 03:32:41 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705318361; cv=pass; d=google.com; s=arc-20160816; b=Q4JgByOLOYtR5yOeqoHQSaBu02O64UO/Ym5mdJ83PLPOJbJrlEYQkhkZG90EbezCfS zStOIp1BYg+IunfVVkh7NnLqCybQOLtlVB8dNWkbMeaMNEqKONQNulZ6sUXhmcHJIFGy fPuvTXXdFGtcvwX2f19QmrrmOUxCSPDs5JlAB38r8MkSd3iscU64fQjgQ70m1tb/KsY8 FdnhpajdPisYzkdxbTcXrf8XxB4MQakgx66UB47CWrMLu8hNz/O6+XNJdewExoMDaqj5 tF7EFQRJOddoqbfuJthViwgETEs+RUzaeI01BVeU4vJAr5KMqFSb5uXU6+Px+7fctcIR nt1Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:errors-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:mime-version :subject:to:from:date:dkim-signature:dkim-signature:dkim-signature :dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=aMgPltGNIju//RUW3kXPckN7ILv6c+uGtYGHEMrftjw=; fh=hPrbWPhweUx4V0GV9uXJqbyAzg2ABmTz7kczrAQqMmM=; b=nMblo7zzMg0lAnxG54vCRtRy6tFci+LKfRzFXGu1ijoTKsR/Mi4UYfleM0TLKgZGrW j0Tjjz9S3NByr0Qtc+ftU7OgGKXHNXesb5B83W6YRKHexngzIbws8HVlW7Np1nERCFxJ Ey1FypCY8TwUsFyN0XY7EiOVctqCZaYFfWADqpMzrXPQ/V4KEsqV+7oeP2iscKKIomp9 XvGnXsqdZ6exmna4qbh2qFpvsiR4BqQ7ZQkFDnu3NeNAySTxsZj9kvNr3b761STxn7xZ 2JoaxLkySivjczt5ijCwQ7/n1x5R0yWy2pIPLABCqQVQvgOjtsxV6pldU+m1QYTfSZ6X e6rg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=pObTjYFj; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=URn3bYOa; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=CrhduUtw; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id p11-20020a0cf54b000000b0067f2956fe05si3299092qvm.504.2024.01.15.03.32.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Jan 2024 03:32:41 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=pObTjYFj; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=URn3bYOa; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=CrhduUtw; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B85A03857B8B for ; Mon, 15 Jan 2024 11:32:40 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2a07:de40:b251:101:10:150:64:1]) by sourceware.org (Postfix) with ESMTPS id 4DE6D3858C30 for ; Mon, 15 Jan 2024 11:31:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4DE6D3858C30 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 4DE6D3858C30 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a07:de40:b251:101:10:150:64:1 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705318317; cv=none; b=t/NAOoW1/uA+8NT7BAhqcqLb5FLE92SWj3+b9cw6Zlyn8mLXCjM6iq04t/jRLoORKQ6YJxM+I4pwVO+4oGyCosJSzVoCZVEcmXn5GujZIVVnfrL4Y/hDtJbcJsiYyUAwtQMbb6YRI8vpDbr352+GFtIeCEle2cnMWgr85bdAuRE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705318317; c=relaxed/simple; bh=5tQoW7wqBdd6rwLGONbIlhCv6wSWyuFt10Gf1S+Adgo=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:Date: From:To:Subject:MIME-Version; b=Ch+ZT4GLpjTPglcb+oOy3DD95z4SKXV0EZF7MshtYBOMjOhnPfUHT8RtcSv0djkGRjaZctcnP3E0ma3yTt+WdjFM2TFBuywhAW7XQ8XHil864TCB2S3kqjQ1atnlJqy3LAsdjpp/a53yZ7UCqZrBVFba7/sKksDoZ7Sb7hcTsO4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from [10.168.4.150] (unknown [10.168.4.150]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 4AAD221E07 for ; Mon, 15 Jan 2024 11:31:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1705318315; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=aMgPltGNIju//RUW3kXPckN7ILv6c+uGtYGHEMrftjw=; b=pObTjYFjB2rY7Wqf4uUCXb9rk3Y96cESqzQHtygTyOd9nR1REfeLgS9ZEnJI9iVd+FuTr0 Ay4pyfEhIJyRTO5q3Vi+kn7BlPfbydh4gvyn34QgoWUR08lTMw4dq3S5hjntnMVeocFqN+ 81rHp3WZABJ3yeQI7dPtcDFpzXswZSA= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1705318315; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=aMgPltGNIju//RUW3kXPckN7ILv6c+uGtYGHEMrftjw=; b=URn3bYOayyfmMYJ/SGFMyRSKIKv7QpP9x2cgiFFMUP0ZizsBu4q/6hNDEH9Tx5kEiKPSBb 1gmFbDn6uh9EqgDw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1705318314; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=aMgPltGNIju//RUW3kXPckN7ILv6c+uGtYGHEMrftjw=; b=CrhduUtwRlj58NwIjPaD7YKXMEMiJXPLX0SbNM9zOuhhW7JHuvlCRfsA+I/tyn6Zp0ccLK QNO4BGomfO9QzCZLqa0SSRuzpaevrrR3efsoyyjtTfQebT3h8RiYd8iuIdxDKdoGwtxJPj 5CMGzK7ku0kodaZ+l5A1UVxK3M/wHsY= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1705318314; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=aMgPltGNIju//RUW3kXPckN7ILv6c+uGtYGHEMrftjw=; b=ZcqJM4cYA24Ptm+ETFrS7rzdMZoF1llYovMhY4dLX235fcPTacQHdNMFNuEW/rdwurhVWV tkqbSy9lzvc87oDQ== Date: Mon, 15 Jan 2024 12:26:48 +0100 (CET) From: Richard Biener To: gcc-patches@gcc.gnu.org Subject: [PATCH] tree-optimization/113385 - wrong loop father with early exit vectorization MIME-Version: 1.0 Authentication-Results: smtp-out1.suse.de; none X-Spamd-Result: default: False [-0.37 / 50.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; MISSING_MID(2.50)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; FUZZY_BLOCKED(0.00)[rspamd.com]; RCVD_COUNT_ZERO(0.00)[0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; BAYES_HAM(-2.77)[99.00%] X-Spam-Level: X-Spam-Score: -0.37 X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, MISSING_MID, SPF_HELO_NONE, 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Message-Id: <20240115113240.B85A03857B8B@sourceware.org> X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1788155905345745984 X-GMAIL-MSGID: 1788155905345745984 The following avoids splitting an edge before redirecting it. This allows the loop father of the new block to be correct in the first place. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. PR tree-optimization/113385 * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): First redirect, then split the exit edge. --- gcc/tree-vect-loop-manip.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/tree-vect-loop-manip.cc b/gcc/tree-vect-loop-manip.cc index 1d6e5e045c3..c7e73f65155 100644 --- a/gcc/tree-vect-loop-manip.cc +++ b/gcc/tree-vect-loop-manip.cc @@ -1613,11 +1613,11 @@ slpeel_tree_duplicate_loop_to_edge_cfg (class loop *loop, edge loop_exit, { if (!alt_loop_exit_block) { - alt_loop_exit_block = split_edge (exit); edge res = redirect_edge_and_branch ( - single_succ_edge (alt_loop_exit_block), + exit, new_preheader); flush_pending_stmts (res); + alt_loop_exit_block = split_edge (res); continue; } dest = alt_loop_exit_block;