This is the mail archive of the
mailing list for the GCC project.
Re: [gsoc] Generic addressing mode selection
- From: Erik Varga <erik dot varga256 at gmail dot com>
- To: Oleg Endo <oleg dot endo at t-online dot de>
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 23 Mar 2015 20:10:19 +0100
- Subject: Re: [gsoc] Generic addressing mode selection
- Authentication-results: sourceware.org; auth=none
- References: <CAMHD1_8Qo4hAen_6VGk2iVp2Uqe7gskZ4sa4Ao_9qMmXvZ4PNg at mail dot gmail dot com> <1427058608 dot 20327 dot 37 dot camel at yam-132-YW-E178-FTW>
On Sun, Mar 22, 2015 at 10:10 PM, Oleg Endo <email@example.com> wrote:
> The PBQP approach is indeed very tempting, but there
> are a lot more things to it than just the solver. To get good
> improvements of the generated code, the optimization also has to be able
> to reorder memory accesses and perform other transformations such as
> converting pre-inc into post-inc modes in loops etc.
I confess there are some optimizations that the PBQP approach doesn't
take into account, like reordering the instructions. Could you
elaborate a bit on the prec-inc to post-inc conversion? I might be
missing something, but I think the PBQP algorithm should have no
problem transforming the addressing mode to post-inc if that makes the
overall cost less. Of course, PBQP is just one approach, and I would
be willing to try other methods.
> Although my point of view is a bit
> SH biased, I believe that once it's working on SH, other platforms will
> benefit from it.
Yeah, it's probably a good idea to implement AMS for a specific
platform first, and SH does have a variety of addressing modes.
> The scope would
> need to be narrowed down a bit for a GSoC project, but if you want, we
> could give it a try and I would step forward as a mentor.
I'd like to give this a try, I'm sure a lot could be achieved in a
summer. Could you share how you planned to approach the problem? I'd
also be interested in some of the papers you found (I haven't yet been
able to find much on the subject apart from the PBQP method).