From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 81514 invoked by alias); 19 Apr 2015 21:37:50 -0000 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 Received: (qmail 81481 invoked by uid 48); 19 Apr 2015 21:37:46 -0000 From: "vries at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/65802] [6 Regression] ICE in redirect_eh_edge_1, at tree-eh.c:2335 Date: Sun, 19 Apr 2015 21:37:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 6.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: vries at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-04/txt/msg01566.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65802 --- Comment #5 from vries at gcc dot gnu.org --- Before the patch series, at 011.cfg we had this representation: ... ;; basic block 2, loop depth 0, count 0, freq 0, maybe hot ;; prev block 0, next block 3, flags: (NEW, REACHABLE) ;; pred: ENTRY (FALLTHRU) D.2342 = cD.2333.gp_offsetD.5; if (D.2342 >= 48) goto ; else goto ; ;; succ: 4 (TRUE_VALUE) ;; 3 (FALSE_VALUE) ;; basic block 3, loop depth 0, count 0, freq 0, maybe hot ;; prev block 2, next block 4, flags: (NEW, REACHABLE) ;; pred: 2 (FALSE_VALUE) D.2344 = cD.2333.reg_save_areaD.8; D.2345 = cD.2333.gp_offsetD.5; D.2346 = (sizetype) D.2345; addr.0D.2339 = D.2344 + D.2346; D.2347 = cD.2333.gp_offsetD.5; D.2348 = D.2347 + 8; cD.2333.gp_offsetD.5 = D.2348; goto ; ;; succ: 5 (FALLTHRU) ;; basic block 4, loop depth 0, count 0, freq 0, maybe hot ;; prev block 3, next block 5, flags: (NEW, REACHABLE) ;; pred: 2 (TRUE_VALUE) D.2349 = cD.2333.overflow_arg_areaD.7; addr.0D.2339 = D.2349; D.2350 = D.2349 + 8; cD.2333.overflow_arg_areaD.7 = D.2350; ;; succ: 5 (FALLTHRU) ;; basic block 5, loop depth 0, count 0, freq 0, maybe hot ;; prev block 4, next block 6, flags: (NEW, REACHABLE) ;; pred: 3 (FALLTHRU) ;; 4 (FALLTHRU) d.1D.2351 = MEM[(intD.9 * * {ref-all})addr.0D.2339]; dD.2334 = d.1D.2351; eD.2335 = &dD.2334; __asm__("" : "=d" eD.2335); [LP 1] # USE = anything # CLB = anything m_fn1D.2327 (&aD.2330); ;; succ: 9 (EH) ;; 6 (FALLTHRU) ... There's no exception connected to the whole va_arg sequence. So the question is: should ifn_va_arg have ECF_NOTHROW?