This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

RE: [Patch 1/6] Hookize MOVE_BY_PIECES_P, remove most uses of MOVE_RATIO


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:
TARGET_USE_BY_PIECES_INFRASTRUCTURE_P.

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
for).

OK?

Thanks,
James

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