This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH ppc64,aarch64,alpha 00/15] Improve backend constant generation
- From: Richard Henderson <rth at redhat dot com>
- To: Richard Earnshaw <Richard dot Earnshaw at foss dot arm dot com>, gcc-patches at gcc dot gnu dot org
- Cc: David Edelsohn <dje dot gcc at gmail dot com>, Marcus Shawcroft <marcus dot shawcroft at arm dot com>, Richard Earnshaw <richard dot earnshaw at arm dot com>
- Date: Wed, 12 Aug 2015 08:45:42 -0700
- Subject: Re: [PATCH ppc64,aarch64,alpha 00/15] Improve backend constant generation
- Authentication-results: sourceware.org; auth=none
- References: <1439341904-9345-1-git-send-email-rth at redhat dot com> <55CB0487 dot 1020505 at foss dot arm dot com>
On 08/12/2015 01:32 AM, Richard Earnshaw wrote:
> How do we clear the cache, and when? For example, on ARM, switching
> between ARM and Thumb state means we need to generate potentially
> radically different sequences? We can do such splitting at function
> boundaries now.
At present I never clear the cache. Maybe we'll find that's a mistake.
For arm vs thumb I would start with just using two different caches. The way
the code is structured currently, that would mean two different classes. Which
could just be trivial wrappers around a common base class containing the
generator code.
> Can we generate different sequences for hot/cold code within a single
> function?
Not without using different caches.
> Can we cache sequences with the context (eg use with AND, OR, ADD, etc)?
No. At least not without...
r~