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.

Reply via email to