From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4643 invoked by alias); 1 Jul 2009 10:54:21 -0000 Received: (qmail 4293 invoked by alias); 1 Jul 2009 10:54:08 -0000 Date: Wed, 01 Jul 2009 10:54:00 -0000 Message-ID: <20090701105408.4283.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/40585] [4.3/4.4/4.5 Regression] tracer duplicates blocks w/o adjusting EH tree In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenther at suse dot de" 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: 2009-07/txt/msg00029.txt.bz2 ------- Comment #5 from rguenther at suse dot de 2009-07-01 10:54 ------- Subject: Re: [4.3/4.4/4.5 Regression] tracer duplicates blocks w/o adjusting EH tree On Wed, 1 Jul 2009, hubicka at ucw dot cz wrote: > ------- Comment #4 from hubicka at ucw dot cz 2009-07-01 10:47 ------- > Subject: Re: [4.3/4.4/4.5 Regression] tracer duplicates blocks w/o adjusting > EH tree > > Hi, > the following patch should prevent tracer from copying resx. It is > remarkably ugly I need to unconstify all the copy_bb_p predicates, so > perhaps I will look into fixing the RTL expanders to allow multiple RESX > blocks instead. Less ugly would be to 'inline' gsi_last_bb by using gimple_seq seq = bb_seq (bb); gimple_seq_node last = gimple_seq_last (seq); if (last && gimple_code (last->stmt) == GIMPLE_RESX) ... but yes, for trunk allowing mutliple RESX works for me as well. Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40585