From patchwork Fri Jun 21 06:07:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Biener X-Patchwork-Id: 1950542 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=yOdGbmUy; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=bkBgX3Mx; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=uWe7b910; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=A0F0byIi; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4W56NC5ttRz20X4 for ; Fri, 21 Jun 2024 16:07:55 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1893D3896C1E for ; Fri, 21 Jun 2024 06:07:54 +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 [195.135.223.130]) by sourceware.org (Postfix) with ESMTPS id 12FAF3896C04 for ; Fri, 21 Jun 2024 06:07:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 12FAF3896C04 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 12FAF3896C04 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=195.135.223.130 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1718950056; cv=none; b=iUZf1QVU6Y93wMqLARP2DbC/agr07zBQoCELCfHSLAZbsakPmAo6row7bhGStJEeUtujn/06f23Eyw/+kjMa0sPB35aHPxz85Qk10Ei1uoMEz9f0Ftot7WB2imXEjJzSmmOSLqEetr6whHA9g3ecuahqFf9CiPSqD1r2g6SpPxQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1718950056; c=relaxed/simple; bh=8rGHrH5aRfT6PGxt3alwmDHZjpo+93FpDmb7Mq4j0YM=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:Date: From:To:Subject:MIME-Version:Message-Id; b=NfscBNp61/kC8yy8ImcmGMZ73NlF3aFMK4znheXl52k1dzWx+38bMBG+MzciZ1gcEqKJ/VoaoCqXimGBCX5kZ/JxYEPs5U0LcqaBDpFIfykW3tYnmf7ln9OzP9o7M/zFnfD7dqhYN/u0W6EfMCnXP9wrkSlzaXJk9I2x06NA05M= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (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 CE7BF21A2D for ; Fri, 21 Jun 2024 06:07:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1718950053; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type; bh=tZjC67DShQEt4d49P3HWJ5Nnnkg/83j6aym6OqeXe10=; b=yOdGbmUy/uLUji7Cen84dnCqkE/NWHpbSoP7t51RExUvGeKy1gCQrJ5ybam1mk1VJCCvRP BREPGiLhMxlyLEFZzjr0MVTDe7sZ9tEdcLpdsuHQ5JhRXJgb9xvsmzMh5fwXMKBwQRxSGF GY6NiJS1ahHlR0yXDxFYe0y3IJvjU6o= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1718950053; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type; bh=tZjC67DShQEt4d49P3HWJ5Nnnkg/83j6aym6OqeXe10=; b=bkBgX3MxJqVpiYxJE58XMfyfCYC5mkDiz0dp2XVUq58cPBdziwzKvhipIfU7dxl3/8rJMp mR8Cf69a3DDBK7CA== Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1718950052; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type; bh=tZjC67DShQEt4d49P3HWJ5Nnnkg/83j6aym6OqeXe10=; b=uWe7b910Vk5Zk0IDCkzY1Ymxy7Y3ATz+3ca4y0pn7nhL0wnsq4/Fkmmm/RzvBokr2r2Vkr IX0ul+elTcJMi68GgeWwrkxoDdFCBZFNbIX76wIwLoSmeRs98e4rdgrBXQYYwAmv1AllS/ E7qoVKWbNv7zGEPM7nKJp7LDict71qE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1718950052; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type; bh=tZjC67DShQEt4d49P3HWJ5Nnnkg/83j6aym6OqeXe10=; b=A0F0byIiDo8lZQKej90LXFiZbgBzBXhl9PcanVRCVXvXGZ6CTAekJJhf+ymCtC8qND64ku EF8R7+K6Bc7sHtCA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (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 imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id AA7F813ABD for ; Fri, 21 Jun 2024 06:07:32 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id A3X1J6QYdWYjewAAD6G6ig (envelope-from ) for ; Fri, 21 Jun 2024 06:07:32 +0000 Date: Fri, 21 Jun 2024 08:07:32 +0200 (CEST) From: Richard Biener To: gcc-patches@gcc.gnu.org Subject: [PATCH] Remove outdated info from passes.texi MIME-Version: 1.0 Message-Id: <20240621060732.AA7F813ABD@imap1.dmz-prg2.suse.org> X-Spam-Score: -4.30 X-Spam-Level: X-Spamd-Result: default: False [-4.30 / 50.00]; BAYES_HAM(-3.00)[100.00%]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; MISSING_XM_UA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; FUZZY_BLOCKED(0.00)[rspamd.com]; PREVIOUSLY_DELIVERED(0.00)[gcc-patches@gcc.gnu.org]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_TLS_ALL(0.00)[] X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 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+incoming=patchwork.ozlabs.org@gcc.gnu.org This applies some maintainance to passes.texi by removing references to no longer existing passes. It also fixes a few minor things but doesn't fill the gaps that meanwhile exist. make pdf tested, pushed. * doc/passes.texi: Remove references to no longer existing passes. --- gcc/doc/passes.texi | 70 ++++++--------------------------------------- 1 file changed, 9 insertions(+), 61 deletions(-) diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi index b50d3d5635b..5746d3ec636 100644 --- a/gcc/doc/passes.texi +++ b/gcc/doc/passes.texi @@ -450,18 +450,6 @@ The following briefly describes the Tree optimization passes that are run after gimplification and what source files they are located in. @itemize @bullet -@item Remove useless statements - -This pass is an extremely simple sweep across the gimple code in which -we identify obviously dead code and remove it. Here we do things like -simplify @code{if} statements with constant conditions, remove -exception handling constructs surrounding code that obviously cannot -throw, remove lexical bindings that contain no variables, and other -assorted simplistic cleanups. The idea is to get rid of the obvious -stuff quickly rather than wait until later when it's more work to get -rid of it. This pass is located in @file{tree-cfg.cc} and described by -@code{pass_remove_useless_stmts}. - @item OpenMP lowering If OpenMP generation (@option{-fopenmp}) is enabled, this pass lowers @@ -511,15 +499,6 @@ This pass decomposes a function into basic blocks and creates all of the edges that connect them. It is located in @file{tree-cfg.cc} and is described by @code{pass_build_cfg}. -@item Find all referenced variables - -This pass walks the entire function and collects an array of all -variables referenced in the function, @code{referenced_vars}. The -index at which a variable is found in the array is used as a UID -for the variable within this function. This data is needed by the -SSA rewriting routines. The pass is located in @file{tree-dfa.cc} -and is described by @code{pass_referenced_vars}. - @item Enter static single assignment form This pass rewrites the function such that it is in SSA form. After @@ -527,7 +506,7 @@ this pass, all @code{is_gimple_reg} variables will be referenced by @code{SSA_NAME}, and all occurrences of other variables will be annotated with @code{VDEFS} and @code{VUSES}; PHI nodes will have been inserted as necessary for each basic block. This pass is -located in @file{tree-ssa.cc} and is described by @code{pass_build_ssa}. +located in @file{tree-into-ssa.cc} and is described by @code{pass_build_ssa}. @item Warn for uninitialized variables @@ -536,7 +515,7 @@ are fed by default definition. For non-parameter variables, such uses are uninitialized. The pass is run twice, before and after optimization (if turned on). In the first pass we only warn for uses that are positively uninitialized; in the second pass we warn for uses that -are possibly uninitialized. The pass is located in @file{tree-ssa.cc} +are possibly uninitialized. The pass is located in @file{tree-ssa-uninit.cc} and is defined by @code{pass_early_warn_uninitialized} and @code{pass_late_warn_uninitialized}. @@ -562,15 +541,6 @@ variables that are used once into the expression that uses them and seeing if the result can be simplified. It is located in @file{tree-ssa-forwprop.cc} and is described by @code{pass_forwprop}. -@item Copy Renaming - -This pass attempts to change the name of compiler temporaries involved in -copy operations such that SSA->normal can coalesce the copy away. When compiler -temporaries are copies of user variables, it also renames the compiler -temporary to the user variable resulting in better use of user symbols. It is -located in @file{tree-ssa-copyrename.c} and is described by -@code{pass_copyrename}. - @item PHI node optimizations This pass recognizes forms of PHI inputs that can be represented as @@ -586,10 +556,9 @@ is used to promote variables from in-memory addressable objects to non-aliased variables that can be renamed into SSA form. We also update the @code{VDEF}/@code{VUSE} memory tags for non-renameable aggregates so that we get fewer false kills. The pass is located -in @file{tree-ssa-alias.cc} and is described by @code{pass_may_alias}. +in @file{tree-ssa-structalias.cc} and is described by @code{pass_may_alias}. -Interprocedural points-to information is located in -@file{tree-ssa-structalias.cc} and described by @code{pass_ipa_pta}. +Interprocedural points-to information is described by @code{pass_ipa_pta}. @item Profiling @@ -644,8 +613,9 @@ This pass eliminates partially redundant computations, as well as performing load motion. The pass is located in @file{tree-ssa-pre.cc} and is described by @code{pass_pre}. -Just before partial redundancy elimination, if -@option{-funsafe-math-optimizations} is on, GCC tries to convert +@item CSE of reciprocals + +If @option{-funsafe-math-optimizations} is on, GCC tries to convert divisions to multiplications by the reciprocal. The pass is located in @file{tree-ssa-math-opts.cc} and is described by @code{pass_cse_reciprocal}. @@ -744,10 +714,6 @@ that must be constant even in the presence of conditional branches. The pass is located in @file{tree-ssa-ccp.cc} and is described by @code{pass_ccp}. -A related pass that works on memory loads and stores, and not just -register values, is located in @file{tree-ssa-ccp.cc} and described by -@code{pass_store_ccp}. - @item Conditional copy propagation This is similar to constant propagation but the lattice of values is @@ -755,10 +721,6 @@ the ``copy-of'' relation. It eliminates redundant copies from the code. The pass is located in @file{tree-ssa-copy.cc} and described by @code{pass_copy_prop}. -A related pass that works on memory copies, and not just register -copies, is located in @file{tree-ssa-copy.cc} and described by -@code{pass_store_copy_prop}. - @item Value range propagation This transformation is similar to constant propagation but @@ -811,14 +773,6 @@ run last so that we have as much time as possible to prove that the statement is not reachable. It is located in @file{tree-cfg.cc} and is described by @code{pass_warn_function_return}. -@item Leave static single assignment form - -This pass rewrites the function such that it is in normal form. At -the same time, we eliminate as many single-use temporaries as possible, -so the intermediate language is no longer GIMPLE, but GENERIC@. The -pass is located in @file{tree-outof-ssa.cc} and is described by -@code{pass_del_ssa}. - @item Merge PHI nodes that feed into one another This is part of the CFG cleanup passes. It attempts to join PHI nodes @@ -867,14 +821,8 @@ includes loop interchange, scaling, skewing and reversal and they are all geared to the optimization of data locality in array traversals and the removal of dependencies that hamper optimizations such as loop parallelization and vectorization. The pass is located in -@file{tree-loop-linear.c} and described by -@code{pass_linear_transform}. - -@item Removal of empty loops - -This pass removes loops with no code in them. The pass is located in -@file{tree-ssa-loop-ivcanon.cc} and described by -@code{pass_empty_loop}. +the @file{graphile-*.cc} files and described by +@code{pass_graphite}. @item Unrolling of small loops