From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16138 invoked by alias); 27 Jul 2010 19:48:53 -0000 Received: (qmail 16053 invoked by alias); 27 Jul 2010 19:48:32 -0000 Date: Tue, 27 Jul 2010 19:48:00 -0000 Message-ID: <20100727194832.16052.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/42495] redundant memory load In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "mkuvyrkov at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-07/txt/msg02999.txt.bz2 ------- Comment #10 from mkuvyrkov at gcc dot gnu dot org 2010-07-27 19:48 ------- Subject: Bug 42495 Author: mkuvyrkov Date: Tue Jul 27 19:48:15 2010 New Revision: 162597 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=162597 Log: PR target/42495 PR middle-end/42574 * basic-block.h (get_dominated_to_depth): Declare. * dominance.c (get_dominated_to_depth): New function, use get_all_dominated_blocks as a base. (get_all_dominated_blocks): Use get_dominated_to_depth. * gcse.c (occr_t, VEC (occr_t, heap)): Define. (hoist_exprs): Remove. (alloc_code_hoist_mem, free_code_hoist_mem): Update. (compute_code_hoist_vbeinout): Add debug print outs. (hoist_code): Partially rewrite, simplify. Use get_dominated_to_depth. * params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid quadratic behavior. * params.h (MAX_HOIST_DEPTH): New macro. * doc/invoke.texi (max-hoist-depth): Document. Modified: trunk/gcc/ChangeLog trunk/gcc/basic-block.h trunk/gcc/doc/invoke.texi trunk/gcc/dominance.c trunk/gcc/gcse.c trunk/gcc/params.def trunk/gcc/params.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42495