This is the mail archive of the gcc@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]

Autoincrement pass



With the new changes to flow.c, my hand has been forced to update the
autoincrement optimisations I had added to this pass.  These
optimisations look for multiple memory references that can be
converted to use autoincrement (and automodify) addressing.

I decided that the current situation was getting rather messy and have
written a separate pass that it is run before lifetime analysis.  This
tracks uses of registers used for addressing and then converts
suitable memory references to use autoincrements.  (I also envisage
that this pass could exchange the insn order where possible to ensure
that the memory references are contiguous---say when accessing
elements of a structure).

However, before I spend some more time cleaning up the pass for
submission to the egcs project, I would like some feedback about
possible pitfalls I may have forgotten.  Currently, I have made only a
few changes to flow.c and have put all the autoinc stuff into a
separate file (autoinc.c).  At a later date all the autoinc stuff in
flow.c could then be culled.


Michael.






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