This is the mail archive of the
mailing list for the GCC project.
RE: [Patch 1/6] Hookize MOVE_BY_PIECES_P, remove most uses of MOVE_RATIO
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: richard dot guenther at gmail dot com, stevenb dot gcc at gmail dot com, law at redhat dot com, matthew dot fortune at imgtec dot com
- Date: Fri, 31 Oct 2014 15:08:19 +0000
- Subject: RE: [Patch 1/6] Hookize MOVE_BY_PIECES_P, remove most uses of MOVE_RATIO
- Authentication-results: sourceware.org; auth=none
- References: <20141029153153 dot GA26747 at arm dot com>
On Wed, Oct 29, 2014 at 03:31:54PM +0000, James Greenhalgh wrote:
> On Wed, Oct 29, 2014 at 11:42:06AM +0000, Matthew Fortune wrote:
> > Hi James,
> > I think you have a bug in the following hunk where you pass
> > STORE_MAX_PIECES in place of the optimise for speed flag. I guess you
> > would need an extra argument to pass a different *_MAX_PIECES value
> > in.
> Yup, good spot and agreed. I think I'll respin this series and get rid of all
> the *_BY_PIECES_P in one sweep. I'm thinking of something like:
> use_by_pieces_infrastructure_p (unsigned int size,
> unsigned int alignment,
> enum by_pieces_mode mode,
> bool speed_p)
> which will take the type of by_pieces operation as the third parameter.
...and that patch series would look something like this.
We hookize all of CLEAR_BY_PIECES_P, MOVE_BY_PIECES_P, SET_BY_PIECES_P
and STORE_BY_PIECES_P behind one target hook:
We then clean up each of the targets who use these macros, and finally
delete the macros entirely and poison them.
Jeff, thanks for reviewing the previous patch set, unfortunately finishing
the job off properly costs a little extra for each target, so I guess I'll
need a new set of review. Sorry about that.
The series looks like this:
[Patch 1/7] Hookize *_BY_PIECES_P
[Patch 2/7 s390] Deprecate *_BY_PIECES_P, move to hookized version
[Patch 3/7 arc] Deprecate *_BY_PIECES_P, move to hookized version
[Patch 4/7 sh] Deprecate *_BY_PIECES_P, move to hookized version
[Patch 5/7 mips] Deprecate *_BY_PIECES_P, move to hookized version
[Patch 6/7 AArch64] Deprecate *_BY_PIECES_P, move to hookized version
[Patch 7/7] Remove *_BY_PIECES_P
I've bootstrapped and tested the full patch series on x86_64, ARM and
AArch64, and as before I've successfully built toolchains for the
other architectures (except arc, which I've struggled to build a binutils