On Mon, Nov 12, 2012 at 4:50 PM, Andrew Pinski <andrew.pin...@caviumnetworks.com> wrote: > Hi, > I know we are in stage3, I thought I would send this out now for > review as I finally have it ready for consumption as I finally got > around to removing the limitation of it only working on big-endian. > This pass was originally written by Adam Nemet while he was at Cavium. > I modified it to work on little-endian and also update the code to > use the aliasing oracle and some of the new VEC interface. > > Yes I know I forgot to add documentation for the new option and for > the new pass. I will add it soon.
I forgot to say I bootstrapped and tested this on x86_64-linux-gnu with no regressions. I have tested it on a big-endian MIPS64 target too. > > Thanks, > Andrew Pinski > > ChangeLog: > * tree-merge-const-bfstores.c: New file. > * tree-pass.h (pass_merge_const_bfstores): Add pass. > * opts.c (default_options_table): Add OPT_fmerge_const_bfstores at -O2 > and above. > * timevar.def (TV_MERGE_CONST_BFSTORES): New timevar. > * common.opt (fmerge-const-bfstores): New option. > * Makefile.in (OBJS): Add tree-merge-const-bfstores.o. > (tree-merge-const-bfstores.o): New target. > * passes.c (init_optimization_passes): Add pass_merge_const_bfstores > right after the last pass_phiopt.