From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4344 invoked by alias); 9 Nov 2005 23:15:56 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 4315 invoked by alias); 9 Nov 2005 23:15:53 -0000 Date: Wed, 09 Nov 2005 23:15:00 -0000 Message-ID: <20051109231553.4314.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug rtl-optimization/24762] [killloop-branch] code motion of non-invariant expressions with hard registers. In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rakdver at atrey dot karlin dot mff dot cuni dot cz" X-SW-Source: 2005-11/txt/msg01357.txt.bz2 List-Id: ------- Comment #8 from rakdver at atrey dot karlin dot mff dot cuni dot cz 2005-11-09 23:15 ------- Subject: Re: [killloop-branch] code motion of non-invariant expressions with hard registers. > ------- Comment #6 from dberlin at gcc dot gnu dot org 2005-11-09 22:53 ------- > 1. Call clobbers aren't definitions. They are clobbers (IE kills). They do not > generate a new value, they simply specify the old value is dead. Thus, you > don't mean to say "df.c assumes call clobbers ...", because it's not an > assumption. > > > 2. The patch is actually an incorrect workaround. The real problem is that > df.c on mainline doesn't get reaching definitions right for a number of > reasons. > > For example, explicit clobbers in CALL_INSN_FUNCTION_USAGE but *not* in > regs_invalidated_by_call will be treated as gen's, because they don't fall into > the special case in df_bb_rd_local_compute. But they are not gen's. > > Have you tried making sure CLOBBER's don't get into the rd_gen set? > > I imagine that will fix your bug. I am fairly sure you are wrong, in this case. The code is like bb1: call (throw); bb2: reg = r15 where r15 is set by exception handling. The problem is that there currently simply is no insn that defines r15. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24762