[vta] don't let debug insns get in the way of simple vect reduction

Richard Guenther richard.guenther@gmail.com
Mon Nov 5 11:27:00 GMT 2007


On 11/5/07, Alexandre Oliva <aoliva@redhat.com> wrote:
> libgfortran had some vectorization cases that wouldn't be applied in
> the presence of debug stmts referencing the same variables.  Fixed
> with the patch below, to be installed shortly.

(I'm just picking a random patch of this kind for this mail)

I see you have to touch lots of places to teach them about debug insns.  This
hints at a design error (as I believe), namely that you encode the
debug information
in the IL.  I believe in the long long thread earlier this year people
suggested to
use a on-the-side representation for the extra information.
Unfortunately nobody
has (apperantly) looked at the vta code yet and nobody made comments so far.

With the different approach I and Matz started (and to which we didn't yet spend
enough time to get debug information actually output - but I hope
we'll get there
soon), on the tree level the extra information is stored in a bitmap
per SSA_NAME
(where necessary).  On the RTL level we chose to extend the SET insn by a
bitmap argument (refering to those bitmaps).  With that approach we only need
to touch places where debug information is lost (we just at those
places propagate
this information to the bitmaps).

I realize that the GCC development model does not really support development
in the open or steering of technical approaches.  Probably due to lack of time
and interest.  Still I'd ask people to actually look at both approaches and give
advice to us implementors.  (And IMHO, debug insns in the IL are the wrong way
to go and I would be very unhappy seeing this code get in GCC - no personal
offense intended)

Thanks,
Richard.



More information about the Gcc-patches mailing list