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

Re: Autoincrement examples

In message <>you writ
  >  > - By processing each register separately, you miss register-register
  >  >   copies and three-address adds.  Optimizing code with such constructs
  >  >   was actually the main objective of my patch.  It actually reduces
  >  >   register pressure.
  > I have rarely found these cases to be important for autoinc address
  > generation.  However, reduction of register pressure is a good thing.
I am somewhat surprised that that this isn't caught by cases B, C & E, at
least in limited forms.

Maybe Joern could provide some testcases for the 3-address problems.

  > With the information that I collect, these transformations would be
  > straightforward.  More importantly, I would like to reorder some of
  > the memory references to improve autoinc generation.
  > Does your code maintain the LOG_LINKS?  If so I would like to try
  > running the instruction combiner after the regmove pass.
  > Alternatively, could your code be easily modified to remove redundant
  > load instructions once an autoinc address was generated?
My gut tells me that this is a mistake.  Though I'm also wondering if regmove
should be re-cast using a conflict/adjacency list.  But that's a topic for
another discussion.

While I realize there are optimization opportunities you're missing you're
talking about a fairly significant amount of work for what is likely to be
marginal benefit.


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