From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13707 invoked by alias); 30 Jan 2010 09:47:50 -0000 Received: (qmail 13657 invoked by alias); 30 Jan 2010 09:47:38 -0000 Date: Sat, 30 Jan 2010 09:47:00 -0000 Message-ID: <20100130094738.13656.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug rtl-optimization/39837] [4.3/4.4/4.5 regression] extra spills due to RTL LICM In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rakdver at kam dot mff dot cuni dot cz" 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-01/txt/msg03409.txt.bz2 ------- Comment #8 from rakdver at kam dot mff dot cuni dot cz 2010-01-30 09:47 ------- Subject: Re: [4.3/4.4/4.5 regression] extra spills due to RTL LICM > (Looking at Zdenek:) Would something like this in a more polished and actually > verified&tested form be a good idea? I think this could cause us to move the invariant addresses out of the loop unnecessarily. Note that moving "const(`g'+0x8)" out of the loop is only a good idea because it is used elsewhere -- if it were only used as the address, moving it out adds an unnecessary assignment. This could be handled by the patch by ignoring the address invariants in find_invariants_to_move. Otherwise, the idea looks fine to me (assuming that there are reasons why this is not done by fwprop), Zdenek -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39837