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] Fix PR54733 Optimize endian independent load/store


Ping?

Best regards,

Thomas Preud'homme

> -----Original Message-----
> From: gcc-patches-owner@gcc.gnu.org [mailto:gcc-patches-
> owner@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> Sent: Friday, May 09, 2014 6:26 PM
> To: GCC Patches
> Subject: RE: [PATCH] Fix PR54733 Optimize endian independent load/store
> 
> Sorry, took longer than expected as I got distracted by some other patch.
> I merged the whole patchset in a single patch as I was told the current setup
> is actually more difficult to read.
> 
> Here are the updated ChangeLogs:
> 
> *** gcc/ChangeLog ***
> 
> 2014-05-09  Thomas Preud'homme  <thomas.preudhomme@arm.com>
> 
> 	PR tree-optimization/54733
> 	* expr.c (get_inner_reference): Add a parameter to control whether
> a
> 	MEM_REF should be split into base + offset.
> 	* tree.h (get_inner_reference): Default new parameter to false.
> 	* tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
> 	(CMPNOP): Define.
> 	(find_bswap_or_nop_load): New.
> 	(find_bswap_1): Renamed to ...
> 	(find_bswap_or_nop_1): This. Also add support for memory source.
> 	(find_bswap): Renamed to ...
> 	(find_bswap_or_nop): This. Also add support for memory source and
> 	detection of bitwise operations equivalent to load in host endianness.
> 	(execute_optimize_bswap): Likewise. Also move its leading
> comment back
> 	in place and split statement transformation into ...
> 	(bswap_replace): This. Add assert when updating bswap_stats.
> 
> *** gcc/testsuite/ChangeLog ***
> 
> 2014-05-09  Thomas Preud'homme  <thomas.preudhomme@arm.com>
> 
> 	PR tree-optimization/54733
> 	* gcc.dg/optimize-bswapdi-3.c: New test to check extension of
> bswap
> 	optimization to support memory sources and bitwise operations
> 	equivalent to load in host endianness.
> 	* gcc.dg/optimize-bswaphi-1.c: Likewise.
> 	* gcc.dg/optimize-bswapsi-2.c: Likewise.
> 	* gcc.c-torture/execute/bswap-2.c: Likewise.
> 
> Ok for trunk?
> 
> Best regards,
> 
> Thomas
> 
> > -----Original Message-----
> > From: gcc-patches-owner@gcc.gnu.org [mailto:gcc-patches-
> > owner@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> > Sent: Monday, May 05, 2014 7:30 PM
> > To: GCC Patches
> > Subject: RE: [PATCH][2/3] Fix PR54733 Optimize endian independent
> > load/store
> >
> > I found a way to improve the function find_bswap/find_bswap_or_nop
> > and reduce its size. Please hold for the review, I will post an updated
> > version as soon as I finish testing.
> >
> > Best regards,
> >
> > Thomas Preud'homme
> >
> >
> >



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