r221994 - in /branches/google/gcc-4_9/gcc: Chan...

singhai@gcc.gnu.org singhai@gcc.gnu.org
Fri Apr 10 22:06:00 GMT 2015


Author: singhai
Date: Fri Apr 10 22:06:46 2015
New Revision: 221994

URL: https://gcc.gnu.org/viewcvs?rev=221994&root=gcc&view=rev
Log:
2015-03-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	    Backport of r214242, r214254, and bug fix patches from mainline
	    * config/rs6000/rs6000.c (context.h): New #include.
	    (tree-pass.h): Likewise.
	    (make_pass_analyze_swaps): New declaration.
	    (rs6000_option_override): Register swap-optimization pass.
	    (swap_web_entry): New class.
	    (special_handling_values): New enum.
	    (union_defs): New function.
	    (union_uses): Likewise.
	    (insn_is_load_p): Likewise.
	    (insn_is_store_p): Likewise.
	    (insn_is_swap_p): Likewise.
	    (rtx_is_swappable_p): Likewise.
	    (insn_is_swappable_p): Likewise.
	    (chain_purpose): New enum.
	    (chain_contains_only_swaps): New function.
	    (mark_swaps_for_removal): Likewise.
	    (swap_const_vector_halves): Likewise.
	    (adjust_subreg_index): Likewise.
	    (permute_load): Likewise.
	    (permute_store): Likewise.
	    (adjust_extract): Likewise.
	    (adjust_splat): Likewise.
	    (handle_special_swappables): Likewise.
	    (replace_swap_with_copy): Likewise.
	    (dump_swap_insn_table): Likewise.
	    (rs6000_analyze_swaps): Likewise.
	    (pass_data_analyze_swaps): New pass_data.
	    (pass_analyze_swaps): New class.
	    (pass_analyze_swaps::gate): New method.
	    (pass_analyze_swaps::execute): New method.
	    (make_pass_analyze_swaps): New function.
	    * config/rs6000/rs6000.opt (moptimize-swaps): New option.
	    * df.h (web_entry_base): New class, replacing struct web_entry.
	    (web_entry_base::pred): New method.
	    (web_entry_base::set_pred): Likewise.
	    (web_entry_base::unionfind_root): Likewise.
	    (web_entry_base::unionfind_union): Likewise.
	    (unionfind_root): Delete external reference.
	    (unionfind_union): Likewise.
	    (union_defs): Likewise.
	    * web.c (web_entry_base::unionfind_root): Convert to method.
	    (web_entry_base::unionfind_union): Likewise.
	    (web_entry): New class.
	    (union_match_dups): Convert to use class structure.
	    (union_defs): Likewise.
	    (entry_register): Likewise.
	    (web_main): Likewise.

Added:
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-1.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-10.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-11.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-12.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-13.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-14.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-15.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-16.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-17.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-2.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-3.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-4.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-5.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-6.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-7.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-8.c
    branches/google/gcc-4_9/gcc/testsuite/gcc.target/powerpc/swaps-p8-9.c
Modified:
    branches/google/gcc-4_9/gcc/ChangeLog
    branches/google/gcc-4_9/gcc/config/rs6000/rs6000.c
    branches/google/gcc-4_9/gcc/config/rs6000/rs6000.opt
    branches/google/gcc-4_9/gcc/df.h
    branches/google/gcc-4_9/gcc/web.c



More information about the Gcc-cvs mailing list