From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20634 invoked by alias); 4 Nov 2013 10:46:58 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 20600 invoked by uid 89); 4 Nov 2013 10:46:57 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.7 required=5.0 tests=AWL,BAYES_20,RDNS_NONE,URIBL_BLOCKED autolearn=no version=3.3.2 X-HELO: relay1.mentorg.com Received: from Unknown (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 04 Nov 2013 10:46:29 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1VdHff-0006LK-Rj from Tom_deVries@mentor.com ; Mon, 04 Nov 2013 02:46:11 -0800 Received: from SVR-IES-FEM-01.mgc.mentorg.com ([137.202.0.104]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Mon, 4 Nov 2013 02:46:11 -0800 Received: from [127.0.0.1] (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.2.247.3; Mon, 4 Nov 2013 10:46:09 +0000 Message-ID: <52777AEA.2040305@mentor.com> Date: Mon, 04 Nov 2013 10:46:00 -0000 From: Tom de Vries User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130804 Thunderbird/17.0.8 MIME-Version: 1.0 To: Jakub Jelinek CC: Richard Biener , Subject: Re: [PATCH] Handle __builtin_unreachable () using assertions in VRP References: <20131025090640.GF30970@tucnak.zalov.cz> <20131029135401.GC30970@tucnak.zalov.cz> <5276F182.8090006@mentor.com> In-Reply-To: <5276F182.8090006@mentor.com> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit X-SW-Source: 2013-11/txt/msg00182.txt.bz2 On 04/11/13 01:59, Tom de Vries wrote: > On 29/10/13 14:54, Jakub Jelinek wrote: >> +/* Return true if all imm uses of VAR are either in STMT, or >> + feed (optionally through a chain of single imm uses) GIMPLE_COND >> + in basic block COND_BB. */ >> + >> +static bool >> +all_imm_uses_in_stmt_or_feed_cond (tree var, gimple stmt, basic_block cond_bb) >> +{ >> + use_operand_p use_p, use2_p; >> + imm_use_iterator iter; >> + >> + FOR_EACH_IMM_USE_FAST (use_p, iter, var) >> + if (USE_STMT (use_p) != stmt) >> + { >> + gimple use_stmt = USE_STMT (use_p); >> + if (is_gimple_debug (use_stmt)) >> + continue; >> + while (is_gimple_assign (use_stmt) >> + && single_imm_use (gimple_assign_lhs (use_stmt), >> + &use2_p, &use_stmt)) >> + ; >> + if (gimple_code (use_stmt) != GIMPLE_COND >> + || gimple_bb (use_stmt) != cond_bb) >> + return false; >> + } >> + return true; >> +} >> + > > Jakub, > > with g++.dg/torture/pr54684.C and -fno-tree-tail-merge, I run into a sigsegv > because of gimple_code (use_stmt) being called with use_stmt == NULL. > It's a duplicate of PR58978 - '[4.9 Regression] ICE: Segmentation fault' http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58978 Thanks, - Tom