This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug debug/54693] VTA guality issues with loops


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]