From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24898 invoked by alias); 14 Oct 2012 21:19:18 -0000 Received: (qmail 24845 invoked by uid 48); 14 Oct 2012 21:19:01 -0000 From: "aoliva at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug debug/54693] VTA guality issues with loops Date: Sun, 14 Oct 2012 21:19:00 -0000 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: normal X-Bugzilla-Who: aoliva at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: 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 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: 2012-10/txt/msg01343.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54693 --- Comment #3 from Alexandre Oliva 2012-10-14 21:19:00 UTC --- Created attachment 28447 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28447 Work in progress patch This patch improves jump threading so that it won't drop debug info on the floor as often as it does now, copying the debug bind stmts of the jump-threaded block to the new confluence destination, so that the copies will be updated so as to bind to the new PHI nodes, if needed. This preserved variable i longer than before within the compilation, but it was stll lost in ivopts. I started looking into the ivopts loss: we need to rewrite at least the PHI nodes we're removing in terms of the remaining ivs, but even though I wrote all the needed infrastructure to adjust the debug info bindings, I couldn't figure out how to express the dropped ivs in terms of the remaining ones. I suppose someone more familiar with tree-ivopts might have some idea, so I decided not to spend more time trying to figure it out. This is as far as I could get on my own. I hope this helps.