This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/54693] VTA guality issues with loops
- From: "aoliva at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 14 Oct 2012 21:19:00 +0000
- Subject: [Bug debug/54693] VTA guality issues with loops
- Auto-submitted: auto-generated
- References: <bug-54693-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54693
--- Comment #3 from Alexandre Oliva <aoliva at gcc dot gnu.org> 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.