From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28717 invoked by alias); 6 May 2011 22:30:55 -0000 Received: (qmail 28708 invoked by uid 22791); 6 May 2011 22:30:55 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 06 May 2011 22:30:41 +0000 From: "aoliva at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug debug/48866] gcc hangs when -g is set X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: debug X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: aoliva at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: aoliva at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Attachment #24189 is obsolete Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Fri, 06 May 2011 22:30:00 -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 X-SW-Source: 2011-05/txt/msg00613.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48866 Alexandre Oliva changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #24189|0 |1 is obsolete| | --- Comment #9 from Alexandre Oliva 2011-05-06 22:18:16 UTC --- Created attachment 24202 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24202 Avoid too-complex value exprs by keeping unreplaced replaceable expansions in natural order This alternate patch implements (with minor changes) the plan described in comment 8, that should improve debuggability and limit the complexity of debug values generated by the expander to about the maximum complexity of an insn. It successfully undoes the code movement of TER for code generated that is not combined into other stmts. force_reg for a subsequent insn is still regarded as combination, although I have plans to move that up as well. Using the suggested target for an assignment is regarded as combination, and it must remain that way to avoid moving the assignment before the initialization of the target. This has so far passed compare after bootstrap-debug on x86_64-linux-gnu; testing it more thoroughly now. Will add comments before posting it to the list.